diff --git a/.agents/skills/migrate-ds-area/SKILL.md b/.agents/skills/migrate-ds-area/SKILL.md
new file mode 100644
index 0000000000..d06d40a4f5
--- /dev/null
+++ b/.agents/skills/migrate-ds-area/SKILL.md
@@ -0,0 +1,330 @@
+---
+name: migrate-ds-area
+description: Migrate one Penpot UI area to the Design System components for one group of the DS migration epic (#12375): buttons and icons (icon-button*, button*, icon*), selects (select*) and later groups. Moves the area's SCSS off the deprecated styles, proves every change with a zero-tolerance visual test, then opens the draft PR and updates the group issue (PRs table row, QA comment). Use when the user asks to migrate an area or module to the DS, continue a DS migration group, or names an area of a group issue.
+---
+
+# Skill: migrate-ds-area
+
+Move one UI area (one `.cljs` + `.scss` pair, or a few related modules)
+from legacy components and raw HTML to the Design System components,
+prove with pixels what changed, and ship it as a draft PR that QA can
+test.
+
+The epic is #12375. Each control type is a group with its own issue
+(buttons and icons #12376, selects #12377, radios #12378, …). The group
+issue holds the plan (order, waiting areas), the changes QA should
+expect, and the PRs table where people claim areas. Read it first.
+
+## Input
+
+- The group issue (e.g. `#12376`) and the area: a module path (e.g.
+ `dashboard/fonts`) or an area named in the group issue.
+- No area given: take the next unclaimed area in the group issue's plan
+ order, and say which one.
+
+## Ground rules
+
+- Never `git push`. The user pushes; then you open the PR.
+- PRs go to `develop`; branches start from `origin/develop`.
+- **Stay in the group.** Only the controls of this group change. In the
+ buttons/icons group, selects, radios, numeric/text inputs, checkboxes,
+ menus (`%menu-*`, `%dropdown-*`) and modal structure (`%modal-*`) stay;
+ a checkbox tick or an input label icon stays legacy.
+- **Accept the DS look.** Do not add CSS to imitate legacy sizes or
+ colors. Do keep positions: icons and labels must not move unless the
+ DS size forces it, and then say so.
+- No negative margins to compensate; use positive DS spacing or
+ `px2rem()`.
+- **Gaps in the DS wait.** An area that needs an icon or a feature the
+ DS lacks keeps its legacy control; say so in the PR.
+- Skip legacy shared components that another group will replace
+ (`context_menu_a11y`, `forms`, `select`, `dropdown`, `radio_buttons`,
+ `search_bar`, `title_bar`, …): they wait for that group's cleanup,
+ where they are updated if still used or deleted if not.
+- Debug-only UI gets no QA comment and no compare image.
+
+## Devenv
+
+Run every test, lint and `pnpm` command inside the workspace container,
+never on the host (a host `pnpm` relinks `node_modules` and breaks the
+container's watcher). The container is `penpot-devenv-ws-main`, where
+`` is the workspace number (`ws0` is the main repo; `wsN` lives in
+`~/.penpot/penpot_workspaces/wsN`). Write output to a file, then read it:
+
+```bash
+C=penpot-devenv-ws1-main # your workspace
+docker exec -u penpot -w /home/penpot/penpot/frontend $C \
+ bash -lc '' > /out.txt 2>&1
+```
+
+When the app does not behave as the code says, check the build first:
+
+- **Stale build after a branch switch** ("is not a function", or a page
+ with empty `stl/css` classes): `touch` the stale `.cljs`/`.scss`, wait
+ for the compiled file under `frontend/resources/public/` to update,
+ hard-reload.
+- **A whole area unstyled:** a new `.scss` added after the watcher
+ started is missing from `main.css` (grep `main.css` for the module
+ prefix), or `main.css` was written corrupted after many `.scss`
+ changed at once. Touch a `.scss`; if the module is still missing,
+ restart the watcher in the workspace's tmux session (`penpot:0`,
+ `./scripts/watch app`).
+- **Blank app after switching between `develop` and `staging`:**
+ dependencies differ. Run `pnpm install --frozen-lockfile` in the
+ container and restart the watcher.
+
+## Workflow
+
+### 1. Claim the area and branch
+
+1. Read the group issue: plan, waiting areas, expected changes, PRs table.
+2. Add a row to the PRs table with no PR number, the user's @login as
+ Owner and the state `Claimed` (`gh issue view/edit --body-file`).
+ Read the body right before editing, and read it again after saving:
+ when two people edit at the same time, GitHub keeps only the last
+ edit, so a row can vanish. Put yours back if it is gone.
+ Skip an area someone else already claimed, unless the claim has had
+ no PR for 7 days and its owner did not answer a comment asking.
+3. `git switch -c -ds-- origin/develop`.
+4. Survey the area: every control of the group in the `.cljs`, the
+ legacy icons, the placeholders and mixins the `.scss` uses, the
+ `div`/`span` with `:on-click`.
+
+### 2. Visual baseline
+
+Add a `test.describe(" controls", …)` block to the matching spec
+in `frontend/playwright/ui/visual-specs/` (project `ds`, dark theme).
+Put it next to the blocks of the same screen, not always at the end of
+the file: two PRs that both append at the end conflict.
+
+- Every shot: `toHaveScreenshot({ maxDiffPixelRatio: 0, threshold: 0 })`.
+- Show every changed control at rest, on hover and open or pressed.
+ Capture the element or the smallest stable container.
+- Locators must work before and after the change: text, role, testid,
+ `[class*='…']`, or `a.or(b)` when the element type changes (raw
+ `[class*='menu-btn']` before, `getByRole("button", { name: "Options" })`
+ after). Scope `.or()` to the area so it cannot match elsewhere.
+- Missing data? Add a fixture under `frontend/playwright/data/` and mock
+ it (`dashboardPage.mockRPC(...)`, `DashboardPage.mockConfigFlags` for
+ flags). Watch for expired or inconsistent fixtures (dates in the past,
+ wrong file for a mock).
+- Capture with `--update-snapshots=all`:
+ ```bash
+ npx playwright test --project=ds -g "" --update-snapshots=all
+ ```
+ Plain `--update-snapshots` keeps a snapshot within the project's 0.5%
+ tolerance, so a real diff looks like 0.
+- Copy the snapshots (`.spec.js-snapshots/-*`) to
+ `/diffs/ /before/` and look at them: the state you
+ wanted must really be on screen.
+
+### 3. Controls commit
+
+#### Buttons and icons
+
+| Legacy | DS |
+|---|---|
+| icon-only raw button | `[:> icon-button* {:variant "ghost" :aria-label (tr …) :icon i/x :on-click f}]` (always pass `:variant`; `"action"` for 24px icon toggles) |
+| pressed/selected | `:aria-pressed (boolean x)` |
+| text button | `[:> button* {:variant "primary"/"secondary"/"ghost"/"destructive" :type "button"} label]` |
+| `[:input {:type "button"}]` | `button*` |
+| modal close | `icon-button*` ghost, `:aria-label (tr "labels.close")`, `:tooltip-class` carrying the corner position |
+| legacy icon outside a button | `[:> icon* {:icon-id i/x :class …}]` |
+
+- Not every raw button changes: rows, tabs, swatches, avatar widgets,
+ full-height segments, round custom buttons and link-style text buttons
+ stay raw (their legacy icon still changes). List the kept ones in the
+ PR.
+- A `div`/`span` with `:on-click` in the area becomes a `[:button]`
+ (with `aria-expanded`/`aria-haspopup` when it opens something). An
+ `[:a]` without `href` stays; list it in the PR.
+- **Tooltip wrapper.** `icon-button*` renders inside a tooltip trigger
+ wrapper. Position (`position: absolute`, grid placement, margins
+ against siblings) goes on `:tooltip-class`; look (`--button-height`,
+ colors) goes on `:class`.
+- **Tooltip at the right edge.** Small icon buttons at the right end of
+ a sidebar row or title bar get `:tooltip-placement "top-left"`; list
+ it as an expected change.
+- **Sizes through custom properties:** `--button-height: #{px2rem(64)}` /
+ `--button-width`. Sass does not evaluate functions inside custom
+ properties without `#{}`.
+- **A grown `button*` keeps its label at the start**: add
+ `justify-content: center` when it is wider than its content.
+- **Icon colors:** DS icons use `stroke: currentColor`. Set `color` on
+ the icon class, not `stroke`/`fill`. A legacy `color: transparent` left
+ on the button or wrapper makes the DS icon invisible: drop it. A class
+ that redefines the color variable on the icon breaks the hover that
+ changes it on the button: define the variable on the button.
+- **Every DS icon needs a color of its own** (on its class or a parent):
+ one that inherits none shows in the devenv debug yellow.
+- **Icon sizes:** `"s"` draws 12px inside a 16px box (compensate the
+ margin by 2px per side to keep the drawing in place); `"m"` 16px; `"l"`
+ 24px; `"xl"` 32px.
+- **Stroke width:** DS icons keep the DS stroke width. Never set
+ `stroke-width` on a DS icon to match the legacy one; a thinner or
+ thicker line is part of the DS look.
+- **Legacy placeholders that style `svg` descendants** (e.g.
+ `%dropdown-element-base` → `span svg { 12px box; stroke }`) override a
+ DS icon placed inside them: give the icon class its own box
+ (`inline-size`/`block-size` 16px) and `stroke: currentcolor` with more
+ specificity.
+- **Flex shrink:** a DS svg inside a small flex button can shrink and be
+ cut; add `flex-shrink: 0` to the icon class.
+- **Rotated legacy arrows:** prefer `i/arrow-left`/`-right`/`-up`/`-down`
+ over rotating `i/arrow` (same path), unless a rotation class drives the
+ open/closed state.
+- **Menus anchored by the button size** move when the button grows; open
+ them from the top (`inset-block-start: calc(100% + var(--sp-xs))`) or
+ fix the context menu offset, and say so.
+
+#### Selects
+
+`[:& select {:default-value v :options [{:value :label}] :on-change f}]`
+→ `[:> select* {:default-selected :options :on-change f}]`
+(`app.main.ui.ds.controls.select`).
+
+- **Ids are non-blank strings.** A blank id shows a dimmed "--", and an
+ id that matches no option falls back to the first one. Give mixed,
+ none and auto their own ids (`"multiple"`, `"none"`, `"auto"`) and map
+ them back in the handler. Use `""` only where "--" is the wanted look.
+- **Convert the value.** The legacy select ran `d/read-string`, so
+ handlers got keywords, numbers or uuids; `select*` passes the `:id`
+ string. Convert with `keyword`, `d/parse-integer` or `uuid/parse`.
+- **Memoized options, live selection.** `select*` resets its selection
+ when `:default-selected` or the `:options` identity changes. Build
+ options with `mf/with-memo` and `mapv` (the schema wants a non-empty
+ vector) and pass `:default-selected` from the live value, never a
+ constant.
+- **Never pass nil.** In dev builds a present prop with value nil
+ (`:class`, `:wrapper-class`, `:disabled`, `:default-selected`) throws
+ `invalid props on component select*`. Use `(boolean x)`, `d/nilv`, or
+ add the prop only when it has a value.
+- **Props the legacy select ignored stay out**: `select*` passes rest
+ props to its button, so they would reach the DOM.
+- **Classes:** `:wrapper-class` for layout, `:class` for look.
+- **Portal:** add `:has-portal true` only where the visual test shows the
+ list cut at the bottom of a panel, and say so in the QA comment.
+- **Locators:** the button is a `combobox` with no accessible name; use
+ `getByRole("combobox").filter({ hasText: "Linear" })` (it matches the
+ legacy select too) and `getByRole("option", { name: … })`.
+- **Keyboard:** the arrows no longer change the value while the list is
+ closed. It is an expected change, already listed in #12377.
+
+#### All groups
+
+- New labels: add the key to `en.po` and `es.po` by hand, in sorted
+ position, with a `#:` reference to the cljs line. Never run the
+ translations sync.
+- The `.scss` only gets what the new controls need in this commit.
+- Some e2e specs are not Prettier-clean on develop: never run
+ `prettier --write` on a whole spec; format only your block.
+
+Then wait for the watcher (grep the compiled JS/CSS under
+`frontend/resources/public/` for the change), recapture with `=all`,
+copy to `after/`, diff:
+
+```bash
+SK=.agents/skills/migrate-ds-area/scripts
+python3 -I $SK/diff.py # per-file pixel count + bbox
+python3 -I $SK/trip.py # before | after | red diff
+```
+
+`trip.py` pads images of different sizes, so a taller "after" still
+renders.
+Explain every diff. Fix what is not a DS-look change (moved icons, cut
+icons, lost hover color). Rerun a shot that changes on unchanged code
+before trusting it; flaky spots seen so far: the invite modal textarea
+border, the search input caret, the user account page, the path handler
+menu trigger.
+
+Lint, then commit (read `mem:workflow/creating-commits` first):
+
+```bash
+npx prettier --check ; npx stylelint ; clj-kondo --lint ; cljfmt check
+git add -f # -f: visual-specs/ is gitignored
+./scripts/check-commit
+```
+
+A plain `git add` with an ignored path in the list adds nothing; always
+`-f`, and check `git show --stat`. Never commit the screenshots.
+Subject: `:recycle: Use DS in `. A pre-existing bug
+found and fixed on the way goes in its own `:bug:` commit.
+
+### 4. SCSS commit
+
+Run the `refactor-scss` skill on every `.scss` the PR touched (only
+those), in its own commit. Keep `refactor/` only for component-family
+placeholders (`%modal-*`, `%menu-*`, `%input-*`, `%checkbox-*`) and say
+why in a comment above the `@use`. Unused selectors are deleted, not
+commented out (list them in the commit body). Typography without an
+exact match uses the closest DS typography. Run the skill's
+**Self-review** before committing: no bare element selectors (add
+classes in the `.cljs`), no copied properties that do nothing, z-index
+tokens by purpose. Compare against the controls commit: it should be
+0 px; explain anything else (typically a typography or border change).
+For files that several modules share or that are huge, stop and propose
+a separate PR instead.
+
+### 5. Hand off, PR and tracking
+
+1. Report to the user: commits, visible changes, kept raw controls,
+ pre-existing bugs, and the compare image path
+ (`/diffs/ /compare.png`, before | after | diff). Give
+ the push command: `git push -u origin ` (the branch tracks
+ `origin/develop`, so a bare `git push` is refused).
+2. After the user pushes, check `git rev-parse HEAD origin/`,
+ then (read `mem:workflow/creating-prs` first):
+ ```bash
+ gh pr create --repo penpot/penpot --draft --base develop --head \
+ --title "" --body-file \
+ --label "WG adoption" --label "no issue required" \
+ --milestone --project Main
+ gh pr edit --repo penpot/penpot --remove-label "needs triage"
+ ```
+ Never add `no changelog` to a PR: that label goes on issues.
+ Body: AI note, `Part of # (DS migration epic #12375).`, a
+ short What / How, the kept raw controls, an empty `## Screenshots`
+ when something is visible (the user attaches the image). Never
+ `Closes #`. Keep it short: reviewers find long PRs hard to read.
+3. In the group issue's PRs table, fill your row:
+ `| # | : () | @ | Draft |`.
+4. Post a QA comment on the group issue: `**#: **`, *Where* (how
+ to reach it), *Expected changes* (every visible change; QA treats
+ anything not listed as a bug), *No other change* (what still works
+ the same).
+
+Do not mark the draft ready or ask for review: the user decides when.
+
+### 6. Review fixes
+
+When the reviewer comments on a PR:
+
+1. Fix each comment in a new commit on the branch (never amend pushed
+ commits). A comment you do not apply gets a short reason the user can
+ post, with an image when it is visual.
+2. Rerun the area's visual spec before and after the fix with `=all`.
+ Build a compare image for every visible change and give the user its
+ full path, saying which PR it goes to.
+3. Update everything the fix makes stale, in the same turn: the QA
+ comment (*Expected changes* must list the new visible changes), the
+ PRs table row, and the PR body.
+4. When working on several PRs in one go, report per PR: branch, new
+ commit, what changed, image path. Never mix two branches in one list.
+5. Give the push command per branch. If a rebase is coming soon, say
+ that pushing now costs one extra CI run; the user decides.
+6. After a round of review fixes, check whether the same issue exists in
+ the user's other open PRs of the group, and fix it there too.
+
+### 7. After merges
+
+Whenever PRs merge (or go from draft to ready), sync the state column of
+the group's PRs table with GitHub for **every** row, not only your own:
+read each row's PR (`gh pr view --json state,isDraft`) and set
+Merged / In review / Draft. The table drifts when other people merge.
+
+## Output
+
+- Branch with 2 commits (controls, SCSS) plus any `:bug:` commit.
+- Visual spec block with zero-tolerance shots.
+- Compare image in the scratch folder.
+- After the push: draft PR, row and QA comment in the group issue.
diff --git a/.agents/skills/migrate-ds-area/scripts/diff.py b/.agents/skills/migrate-ds-area/scripts/diff.py
new file mode 100644
index 0000000000..9792f37d8a
--- /dev/null
+++ b/.agents/skills/migrate-ds-area/scripts/diff.py
@@ -0,0 +1,25 @@
+"""Pixel diff of two folders of PNG snapshots with the same file names.
+
+Usage: python3 -I diff.py
+Prints, per file, the number of differing pixels and their bounding box,
+or the two sizes when they differ.
+"""
+import os
+import sys
+
+from PIL import Image, ImageChops
+
+before, after = sys.argv[1], sys.argv[2]
+for name in sorted(os.listdir(before)):
+ other = os.path.join(after, name)
+ if not os.path.exists(other):
+ print(name, "missing in", after)
+ continue
+ a = Image.open(os.path.join(before, name)).convert("RGB")
+ b = Image.open(other).convert("RGB")
+ if a.size != b.size:
+ print(name, "size", a.size, b.size)
+ continue
+ diff = ImageChops.difference(a, b)
+ count = sum(1 for p in diff.getdata() if p != (0, 0, 0))
+ print(name, count, diff.getbbox())
diff --git a/.agents/skills/migrate-ds-area/scripts/trip.py b/.agents/skills/migrate-ds-area/scripts/trip.py
new file mode 100644
index 0000000000..dde5c96bf0
--- /dev/null
+++ b/.agents/skills/migrate-ds-area/scripts/trip.py
@@ -0,0 +1,33 @@
+"""Before | after | red diff image, one row per snapshot.
+
+Usage: python3 -I trip.py
+Both folders hold PNGs with the same names (crop them first if needed).
+"""
+import os
+import sys
+
+from PIL import Image, ImageChops
+
+before, after, out, scale = sys.argv[1], sys.argv[2], sys.argv[3], int(sys.argv[4])
+rows = []
+for name in sorted(os.listdir(before)):
+ a = Image.open(os.path.join(before, name)).convert("RGB")
+ b = Image.open(os.path.join(after, name)).convert("RGB")
+ w, h = max(a.width, b.width), max(a.height, b.height)
+ pad_a = Image.new("RGB", (w, h), (200, 200, 200)); pad_a.paste(a, (0, 0))
+ pad_b = Image.new("RGB", (w, h), (200, 200, 200)); pad_b.paste(b, (0, 0))
+ mask = ImageChops.difference(pad_a, pad_b).convert("L").point(lambda v: 255 if v else 0)
+ red = Image.new("RGB", (w, h), (255, 255, 255))
+ red.paste((255, 0, 0), mask=mask)
+ row = Image.new("RGB", (w * 3 + 20, h), (200, 200, 200))
+ for i, im in enumerate([pad_a, pad_b, red]):
+ row.paste(im, (i * (w + 10), 0))
+ rows.append(row.resize((row.width * scale, row.height * scale), Image.NEAREST))
+width = max(r.width for r in rows)
+height = sum(r.height + 10 for r in rows)
+canvas = Image.new("RGB", (width, height), (255, 255, 255))
+y = 0
+for r in rows:
+ canvas.paste(r, (0, y))
+ y += r.height + 10
+canvas.save(out)
diff --git a/.agents/skills/refactor-scss/SKILL.md b/.agents/skills/refactor-scss/SKILL.md
new file mode 100644
index 0000000000..019dface29
--- /dev/null
+++ b/.agents/skills/refactor-scss/SKILL.md
@@ -0,0 +1,421 @@
+---
+name: refactor-scss
+description: Migrate one Penpot SCSS module off the deprecated styles under frontend/resources/styles/common/refactor/ to the current Design System (ds/ tokens, mixins and px2rem). Pure refactor, no visual change. Use when the user asks to refactor, migrate or clean up a .scss file to the DS.
+---
+
+# Skill: refactor-scss
+
+Refactor a single SCSS file so that it no longer depends on the deprecated
+styling system, using the current Design System instead.
+
+This is a **pure refactor**. Do NOT introduce visual or behavioral changes.
+Preserve the generated CSS behavior exactly unless a rule below requires
+otherwise. The rules that allow a small visible change (closest DS
+typography, DS border width) want it shown in the visual check and listed
+in the report and the commit body.
+
+Reviewers read every line of the result. A line that is
+copied but does nothing, a bare element selector or a raw z-index comes
+back as a review comment, so the rules below are strict about them.
+
+## Input
+
+- The path to one `.scss` file (e.g. `frontend/src/app/main/ui/foo/bar.scss`).
+- If no path is given, ask for it. Do not pick a file yourself.
+
+## Workflow
+
+1. Read the target `.scss` file and the `.cljs` file with the same name next
+ to it.
+2. Read every deprecated source the file uses, so you inline real values,
+ never remembered ones:
+ - `frontend/resources/styles/common/refactor/mixins.scss`
+ - `frontend/resources/styles/common/refactor/design-tokens.scss`
+ - `frontend/resources/styles/common/refactor/spacing.scss`
+ - any other file under `frontend/resources/styles/common/refactor/` that
+ the stylesheet pulls in (placeholders, borders, z-index, fonts...).
+3. Read the DS modules you will map to:
+ - `frontend/src/app/main/ui/ds/_utils.scss` (`px2rem()`)
+ - `frontend/src/app/main/ui/ds/spacing.scss`
+ - `frontend/src/app/main/ui/ds/_sizes.scss`
+ - `frontend/src/app/main/ui/ds/typography.scss` (`use-typography()`)
+ - `frontend/src/app/main/ui/ds/_borders.scss`
+ - `frontend/src/app/main/ui/ds/z-index.scss`
+4. Apply the rules below and edit the file in place.
+5. Verify (see **Verification** and **Visual check**).
+6. Report (see **Output**). Do not commit. When the refactor goes with other
+ changes, it belongs in its own commit, after the task's commits.
+
+## Primary goal
+
+After the refactor, the SCSS file must not depend on anything under
+`frontend/resources/styles/common/refactor/`. This includes imports, mixins,
+placeholder selectors, functions, deprecated variables and design-token
+aliases.
+
+### Partial refactor
+
+Some placeholders stand for a whole component family that will move to the DS
+in its own PR: `%input-element`, `%input-with-label`, `%input-checkbox`,
+`%modal-*`, `%menu-dropdown`, `%menu-item-base`, `%shortcut-*` and similar.
+Inlining them in a small task produces big, risky diffs. In that case:
+
+- migrate everything else (tokens, sizes, spacing, small mixins);
+- keep the `refactor/` import only for those placeholders;
+- list each remaining dependency and the selectors that use it in the report,
+ so the user can plan it as a separate PR.
+
+## General rules
+
+- Keep the resulting SCSS as small and readable as possible.
+- Avoid duplicated declarations and duplicated selectors.
+- Do not change class names.
+- Do not change DOM structure.
+- Do not change specificity unless required.
+- Follow the project's SCSS formatting (Prettier, see **Verification**).
+
+## Imports
+
+Use the DS modules. Import them with `as *` when they expose mixins,
+variables or functions:
+
+```scss
+@use "ds/_utils.scss" as *;
+```
+
+not
+
+```scss
+@use "ds/_utils.scss" as utils;
+```
+
+Do not introduce namespaces such as `utils.`, `typography.`, `borders.`,
+`spacing.` or `sizes.` unless a module explicitly requires one.
+
+Remove every unused import.
+
+## Deprecated mixins
+
+If the stylesheet uses mixins from
+`frontend/resources/styles/common/refactor/mixins.scss`:
+
+- locate the mixin;
+- inline its generated CSS (then apply the rest of these rules to it);
+- remove the `@include`;
+- remove the import.
+
+Do not leave deprecated mixins.
+
+## Placeholders
+
+Replace every `@extend %placeholder` with the generated CSS. Remove every
+deprecated placeholder, except the component-family ones described in
+**Partial refactor**.
+
+Inline only what does something on that element. Do not paste a
+placeholder (or mixin) body as it is. For each property, check:
+
+- **It applies to the element.** `fill`, `stroke` and `stroke-width` only
+ act on SVG shapes: drop them from a `span`, `div` or `button`.
+ `color: transparent` on a wrapper that only holds an icon does nothing
+ useful: drop it and set the real color.
+- **It is not the default or already given.** `stroke-width: 1px` is the
+ SVG default; `fill: none` and `stroke: currentColor` are already set by
+ the DS `icon*` (`.icon`). Drop them.
+- **A later rule does not override it.**
+- **It is not a stroke width on a DS icon.** DS icons keep the DS
+ stroke width; drop any `stroke-width` that only imitates the legacy
+ icon (1.33px, 2.25px...).
+
+`%button-icon` is the usual case: on a wrapper it leaves `color:
+transparent; fill: none; stroke-width: 1px`, and none of the three is
+needed.
+
+## Element selectors
+
+Do not style HTML elements directly (`svg {}`, `h3 {}`, `button {}`,
+`input.x {}`, or `.component { svg {} }`).
+
+When no class exists, **add one in the `.cljs`**: a DS component takes
+`:class (stl/css :x)` (`icon*`, `heading*`, `button*`…), and a plain
+element takes `{:class (stl/css :x)}`. Touching the `.cljs` for this is
+part of the refactor. A comment like "the icon has no class" is not an
+answer.
+
+Prefer the DS component when one fits: `heading*` for `h1`–`h6`
+(`:level`, `:typography`), `text*` for text, `icon*` for icons.
+
+`element.class` (e.g. `input.element-title`) is not needed to beat the
+input defaults: try the class alone and check it in the visual check.
+
+An element selector stays only for markup you cannot reach (injected
+HTML, third-party widgets), with a comment saying so.
+
+**Icon colors.** A DS icon draws with `stroke: currentColor`. Set
+`color` on the icon class or its parent, never `stroke`/`fill` on an
+`svg` selector.
+
+## Color variables
+
+Whenever a color changes across states, introduce a component-local CSS
+variable.
+
+Instead of
+
+```scss
+.button {
+ color: var(--color-foreground-primary);
+
+ &:hover {
+ color: var(--color-accent-primary);
+ }
+
+ &:disabled {
+ color: var(--color-foreground-disabled);
+ }
+}
+```
+
+write
+
+```scss
+.button {
+ --button-foreground-color: var(--color-foreground-primary);
+
+ color: var(--button-foreground-color);
+
+ &:hover {
+ --button-foreground-color: var(--color-accent-primary);
+ }
+
+ &:disabled {
+ --button-foreground-color: var(--color-foreground-disabled);
+ }
+}
+```
+
+Use this pattern for `color`, `background-color`, `border-color`,
+`outline-color`, `fill`, `stroke` and any similar property.
+
+## Design token aliases
+
+Remove every alias defined in
+`frontend/resources/styles/common/refactor/design-tokens.scss`. Resolve each
+alias to its final DS token. Do not keep intermediate aliases.
+
+Instead of `color: var(--button-foreground-hover);` write
+`color: var(--color-accent-primary);`.
+
+## Spacing
+
+Replace deprecated spacing variables using
+`frontend/src/app/main/ui/ds/spacing.scss` for `margin`, `padding`, `gap` and
+`inset`.
+
+If no exact spacing token exists, use `px2rem()`. Do not approximate with the
+closest token.
+
+## Sizes
+
+Replace deprecated size variables using
+`frontend/src/app/main/ui/ds/_sizes.scss` for `inline-size`, `block-size`,
+`width`, `height` and min/max sizes.
+
+If no exact size exists, use `px2rem()` from
+`frontend/src/app/main/ui/ds/_utils.scss`. Do not leave hardcoded pixel values
+unless absolutely necessary.
+
+## Typography
+
+When any of `font-size`, `font-weight`, `line-height`, `font-family` or
+`letter-spacing` appear, check whether together they match one of the
+definitions in `frontend/src/app/main/ui/ds/typography.scss`.
+
+If they match, replace all the individual declarations with:
+
+```scss
+@include use-typography("");
+```
+
+If there is no exact match, use the **closest DS typography** (same role:
+a panel title in uppercase → `headline-small`, body text → `body-*`),
+even when more than one detail differs. Show the change in the visual
+check and state it in the report and in the commit body (e.g. "11px
+regular → 12px medium").
+
+Keep the original declarations only when no DS typography fits the role
+(e.g. a 32px display number in a 14px-only area); then leave a TODO
+naming the closest one and ask the user.
+
+## Borders
+
+Replace deprecated border radius and border width values using
+`frontend/src/app/main/ui/ds/_borders.scss`. A raw width close to a token
+(`1.75px`) takes the token (`$b-2`); say so in the report. If nothing is
+close, use `px2rem()`.
+
+## Logical properties
+
+Prefer logical properties whenever they preserve the existing behavior:
+
+- `width` → `inline-size`
+- `height` → `block-size`
+- `max-width` → `max-inline-size`
+- `margin-left` → `margin-inline-start`
+- `padding-right` → `padding-inline-end`
+- `top` → `inset-block-start`
+- `left` → `inset-inline-start`
+
+## Z-index
+
+Never leave magic z-index values. Use tokens from
+`frontend/src/app/main/ui/ds/z-index.scss`, and pick the token **by what
+the element is, not by its number**: a dropdown, menu or select →
+`--z-index-dropdown`; a toolbar, palette, sidebar or panel →
+`--z-index-panels`; and so on (read the comments in that file). A raw `4`
+on a dropdown becomes `var(--z-index-dropdown)` even though the number
+changes. Check the visual check for overlap.
+
+Leave a TODO only when the element fits no token's purpose.
+
+Legacy z-index values between sibling elements that do not overlap can be
+removed, but only when the **Visual check** shows no pixel change in every
+state that matters (open menus, collapsed, hidden). Say so in the report.
+
+## Duplicated properties
+
+Within the same selector, avoid duplicated properties, duplicated CSS
+variables and duplicated declarations introduced by the refactor. Allow
+duplicates only when they are intentional browser fallbacks.
+
+## Unused classes
+
+Open the `.cljs` file with the same name as the SCSS file and check whether
+every CSS class is referenced (as `(stl/css :class-name)`,
+`(stl/css-case :class-name ...)` or similar).
+
+CSS modules prefix every class with its module
+(`main_ui___`), so only the `.cljs` of the same module can use
+it. Before calling a selector unused, also search the whole `frontend/src`
+for the class name as a string, a `:global` use, or a dynamic class built
+at runtime.
+
+If a selector is unused after that check:
+
+- delete it (do not leave it commented out, do not add a TODO);
+- list every deleted selector in the report and in the commit body.
+
+A rule that matches nothing because the markup changed (e.g. `.icon svg`
+when the DS icon is the `svg` itself) is deleted the same way. Before
+deleting a descendant rule, check every element it matched, not only
+the one you changed: `.placeholder .icon svg` can also color a second
+icon, which then has no color (in the devenv it shows in the debug
+yellow).
+
+Every DS icon needs a color of its own (`color` on its class or on a
+parent with a defined color): an icon that inherits nothing shows in
+the debug yellow in the devenv.
+
+Classes used by markup injected from outside (e.g. an external widget)
+stay, with a comment saying so.
+
+Also check the other direction: every class the `.cljs` passes to
+`stl/css` / `stl/css-case` must exist in the `.scss`. A missing one silently
+does nothing; report it.
+
+## Sass and CSS pitfalls
+
+- Sass does not evaluate functions inside CSS custom properties. Write
+ `--button-height: calc(var(--height) - #{px2rem(16)});`, not
+ `... - px2rem(16))`, or the browser gets the literal `px2rem(16)`.
+- A `/` between Sass size variables is read as a division
+ (`grid-template: $sz-32 / auto` breaks). Split it into
+ `grid-template-rows` / `grid-template-columns` (or areas).
+- A CSS-wide keyword cannot be part of a shorthand: `inset-inline: unset 0`
+ is invalid and stylelint does not catch it. Use the longhands.
+- After editing, check the compiled CSS for any of these
+ (`frontend/resources/public/css/main.css`, search the module class).
+
+## Uncertainty
+
+If any transformation is uncertain, never guess. Leave a TODO in the code
+and explain why in the report.
+
+## Self-review
+
+Before the report, read the final diff as the reviewer would and search
+the file for these; each hit must be fixed or have a real reason:
+
+```bash
+rg -n 'svg \{|^\s*(h[1-6]|p|hr|input|button|span|a)\b[^-_]|[a-z]\.[a-z-]+ \{'
+rg -n 'stroke-width|color: transparent|fill: none|z-index: [0-9]|TODO'
+rg -n '[0-9]\.[0-9]+px|[^(]\b[0-9]+px'
+```
+
+- an element selector → add a class (see **Element selectors**);
+- a property that does not apply or is a default → drop it (see
+ **Placeholders**);
+- a raw z-index → token by purpose;
+- a typography TODO → closest DS typography;
+- a raw px value → token or `px2rem()`.
+
+## Verification
+
+Run the project scripts from `frontend/` inside the devenv container
+(`penpot-devenv-ws-main` for workspace `wsN`; never run `pnpm` on the
+host), writing output to a file first (never pipe lint output into
+filters):
+
+```bash
+docker exec -u penpot -w /home/penpot/penpot/frontend penpot-devenv-ws-main \
+ bash -lc 'pnpm run lint:scss; echo LINT=$?; pnpm run check-fmt:scss; echo FMT=$?' \
+ > /scss-check.txt 2>&1
+```
+
+If the format check fails, run `pnpm run fmt:scss` and check again.
+
+**Dependency check.** A grep for `refactor/` is not enough. For the final
+file, check:
+
+- `@use` / `@import` sources: all must be `ds/...` (or the sidebar common
+ module, which is DS-only);
+- every `@include`, `@extend` and `%placeholder`;
+- every `$variable`: which imported module defines it (`$br-*` exists in both
+ `ds/_borders.scss` and `refactor/borders.scss`; the `@use` decides);
+- every `var(--token)`: defined in the DS (colors, spacing, sizes) or only as a
+ `refactor/` alias.
+
+Report any failure as it is; do not hide it.
+
+## Visual check
+
+"No visual change" must be shown, not assumed. When a visual spec covers the
+component (`frontend/playwright/ui/visual-specs/`, project `ds`), or one can be
+added:
+
+1. Capture before (base branch styles) and after with
+ `pnpm exec playwright test --project=ds -g "" --update-snapshots=all`
+ in the container. `=all` is required: plain `--update-snapshots` only
+ rewrites past the 0.5% tolerance, so a real diff can look like 0.
+2. Before each capture, wait until the compiled CSS/JS shows the expected
+ version (search `main.css` for the changed rule).
+3. Compare with zero tolerance. If pixels change, build the before | after |
+ diff (red) image and explain every change in the report.
+
+## Output
+
+1. The diff of the file (`git diff -- `).
+2. A summary with:
+ - removed imports;
+ - removed deprecated mixins;
+ - removed placeholders;
+ - typography replacements;
+ - design-token aliases removed;
+ - logical properties introduced;
+ - deleted unused selectors;
+ - TODOs requiring manual review, each with its reason;
+ - remaining `refactor/` dependencies (partial refactor) and where they are
+ used;
+ - classes missing from the `.scss`, if any.
+3. The verification results, including the visual check (pixel count, or why
+ it was not possible).
diff --git a/.agents/skills/update-changelog/SKILL.md b/.agents/skills/update-changelog/SKILL.md
index 9d0276ef53..c83ab8d1f7 100644
--- a/.agents/skills/update-changelog/SKILL.md
+++ b/.agents/skills/update-changelog/SKILL.md
@@ -5,16 +5,18 @@ description: Update the project CHANGES.md with issues from a given GitHub miles
# Skill: update-changelog
-Update `CHANGES.md` with entries for all issues and PRs in a given GitHub
-milestone. Each entry references the user-facing issue (not the PR) as the
-primary link, with the fix PR inline on the same line.
+Entry point for all changelog work. All rules — sections, exclusions, entry
+format, the `:boom:`, `:rocket:` and `:lock:` contracts, pre-flight, and the
+anomaly report — live in `mem:workflow/updating-changelog` (file:
+`.serena/memories/workflow/updating-changelog.md`). This skill routes to that
+memory; it does not repeat it.
## When to Use
- Before a new release, to populate the changelog with all fixed issues
- When new issues are added to an existing milestone and the changelog needs
to be refreshed
-- To ensure every entry follows the correct format for the changelog
+- To audit or repair an existing version section
## Prerequisites
@@ -23,289 +25,33 @@ primary link, with the fix PR inline on the same line.
- `scripts/gh.py` for GitHub queries, `scripts/changelog.py` for changelog
checks (run `python3 scripts/changelog.py --help` for usage)
-## Workflow
+## What to Read
-### 1. Determine the target version
+1. `mem:workflow/updating-changelog` — the canonical flow: sources of truth,
+ layout, entry rules, the `## Breaking change note` comment contract, the
+ advisory (`:lock:`) contract, pre-flight checks, anomaly types, and pitfalls.
+2. `mem:scripts/changelog` — `boom`, `security`, `check-merged`, `cross-ref`,
+ `report`.
+3. `mem:scripts/gh` — `issues`, `issue`, `comments`, `prs`, `advisories`.
-The version is typically a semver string like `2.15.3`. Confirm with the user
-if not specified.
-
-### 2. Fetch all issues in the milestone
+## Commands
```bash
-# All closed issues (default)
-python3 scripts/gh.py issues "2.16.0"
-
-# Include open issues too
-python3 scripts/gh.py issues "2.16.0" --state all
-
-# Exclude entries that should not go in the changelog
-python3 scripts/gh.py issues "2.16.0" --exclude "release blocker,no changelog"
+python3 scripts/gh.py issues "" --exclude "release blocker,no changelog"
+python3 scripts/gh.py advisories --patched-version ""
+python3 scripts/changelog.py check-merged
+python3 scripts/changelog.py boom "" # print the :boom: section
+python3 scripts/changelog.py boom "" --write # replace it in CHANGES.md
+python3 scripts/changelog.py security "" # print the :lock: section
+python3 scripts/changelog.py security "" --write # replace it in CHANGES.md
+python3 scripts/changelog.py cross-ref ""
+python3 scripts/changelog.py report ""
```
-**Exclusion rules (issue-level):**
-- `no changelog` label — chore/refactor work, no entry needed
-- `release blocker` label — blocked issues not yet ready for changelog
-- `Task` issue type — internal chores, not user-facing; excluded by `gh.py`
- (use `--include-tasks` to override)
-- **Rejected project status** — issues with "Rejected" status on the "Main"
- project board are excluded by `gh.py` (use `--include-rejected` to override).
- This status is independent of the GitHub issue `state`.
+## Hard Rules
-**Exclusion rules (PR-level):** PRs with these labels stay out regardless of
-their linked issue's labels: `release blocker`, `no issue required`.
-
-Each entry carries `number`, `title`, `state`, `issue_type`, `labels`,
-`closing_prs`, and `project_status`.
-
-### 3. Identify missing entries (optional)
-
-```bash
-python3 scripts/gh.py issues "2.16.0" --exclude "release blocker,no changelog" --compare CHANGES.md
-```
-
-Returns only milestone issues not yet referenced in the changelog. Note: it
-compares **issues** only. For unreferenced merged **PRs**, use the
-cross-reference in step 8.
-
-### 4. Fetch additional PR details when needed
-
-```bash
-# One or more PR numbers (also: --file prs.txt, or --stdin)
-python3 scripts/gh.py prs 9179 9204 9311
-
-# All merged PRs in a milestone (default); --state all/open/closed for others
-python3 scripts/gh.py prs --milestone "2.16.0"
-```
-
-Returns `number`, `title`, `body`, `state`, `merged_at`, `author`, `labels`,
-and `closing_issues`. Milestone mode uses paginated GraphQL (100 per page).
-
-### 5. Categorize entries — strictly by issue type, never by labels or emoji
-
-Use the **Issue Type** field (`issue_type` in the `gh.py` output). No separate
-query is needed.
-
-> **⚠️ CRITICAL: Never use labels or title emoji prefixes for categorization.**
-> Labels like `bug`/`enhancement` and prefixes like `:bug:`/`:sparkles:` are
-> often wrong or missing. `issue_type` is the single source of truth.
-
-| `issue_type` value | Changelog section |
-|--------------------|-------------------|
-| `Bug` | `### :bug: Bugs fixed` |
-| `Feature` or `Enhancement` | `### :sparkles: New features & Enhancements` |
-| `Task` | **Exclude** — internal chores, not user-facing |
-| `null` (not set) | Fallback to labels: `bug` label → bugs, otherwise enhancements |
-
-**Breaking changes override everything:** an issue with the `breaking change`
-label goes under `### :boom: Breaking changes & Deprecations`, no matter its
-issue type. This and `release highlight` below are the only label-based
-rules — explicit exceptions to the "never by labels" principle above. The
-`:boom:` subsection goes first in the version, before `:rocket:` (matching
-the existing precedent).
-
-**Highlights come from the `release highlight` label:** an issue with that
-label also gets an entry under `### :rocket: Epics and highlights`, on top of
-its regular entry (usually `:sparkles:`). In the section being refreshed,
-`:rocket:` lists exactly the labelled issues: never pick highlights yourself
-and never keep an unlabelled entry there. Product decides the highlights by
-labelling issues on GitHub, so a regeneration cannot undo that choice. Older
-version sections are left as they are.
-
-**Community attribution:** if the issue or its fix PR has the
-`community contribution` label, add `(by @)` on the entry
-line, **before** the issue/PR references. Use the **PR author** (the `author`
-field from step 4), not the issue author:
-
-```markdown
-- Fix description of the bug (by @username) [#](...) (PR: [#](...))
-```
-
-**Only closed issues are included**, even if open ones are tracked in the
-milestone.
-
-**Pairing rules:**
-
-| Pattern | Changelog format |
-|---------|-----------------|
-| Closed issue + one or more fix PRs | Primary link = issue, PRs inline comma-separated |
-| PR with no linked issue | Link the issue if a matching closed one exists in the milestone; otherwise skip (the issue is the changelog unit) |
-| Closed issue with no fix PR in milestone | Link the issue directly, no PR reference |
-
-> **False-positive associations:** a PR may wrongly claim to close an issue
-> from another context (ancient PR, cross-project reference). If titles are
-> clearly unrelated or the PR predates the issue by years, treat it as a data
-> glitch and skip it.
-
-### 5a. Verify PR merge status before writing
-
-A closed issue may list closing PRs that were **closed without merging**
-(e.g. a superseded community PR). Only **merged** PRs go in the changelog:
-
-```bash
-python3 scripts/changelog.py check-merged
-# also accepts: --file prs.txt, or numbers via --stdin
-```
-
-If a closing PR is closed-unmerged, find the merged PR that superseded it
-(other PRs in the issue's closing list, similar titles, or pointers in the
-closed PR's timeline) and reference that one instead.
-
-### 5b. Security advisory (GHSA) entries
-
-Advisories fixed in a release go in the changelog even though they are
-**neither milestone issues nor PRs**. The GHSA ID and description come from
-the user or the release notes — never from the milestone fetch.
-
-```markdown
-- Fix (https://github.com/penpot/penpot/security/advisories/GHSA-XXXX-XXXX-XXXX)
-```
-
-Rules: place under `### :bug: Bugs fixed` with **no issue or PR link**; do
-**not** fetch or verify the URL (it may be draft/unpublished and 404); write
-the description in imperative mood from the advisory title. These entries are
-invisible to the automation — add them by hand, and in step 9 apply only the
-backport/duplicate check to them.
-
-### 6. Read the current CHANGES.md and run pre-flight checks
-
-Newest version goes at the top, right after the `# CHANGELOG` header:
-
-```markdown
-##
-
-### :boom: Breaking changes & Deprecations
-
-- [#](https://github.com/penpot/penpot/issues/) (PR: [#](https://github.com/penpot/penpot/pull/))
-
-### :bug: Bugs fixed
-
-- Fix description of the bug [#](https://github.com/penpot/penpot/issues/) (PR: [#](https://github.com/penpot/penpot/pull/))
-- Fix another bug (by @contributor) [#](https://github.com/penpot/penpot/issues/) (PR: [#](https://github.com/penpot/penpot/pull/))
-
-### :sparkles: New features & Enhancements
-
-- Add new feature description [#](https://github.com/penpot/penpot/issues/) (PR: [#](https://github.com/penpot/penpot/pull/))
-```
-
-Format details: entries start with `- ` plus a short imperative description;
-PR refs stay inline (`(PR: [#]())`, comma-separated for several);
-`(by @)` goes before the issue link; only include non-empty
-sections; blank line between a section's last entry and the next title; never
-duplicate an entry from an earlier version section (the earlier version wins
-for backports).
-
-**Pre-flight checks — fix violations directly in `CHANGES.md` before writing
-the new section.** Reconcile every existing entry (any version section) and
-every milestone candidate against the current milestone state (re-fetch, do
-not trust cached data):
-
-1. **Duplicate across versions** → remove from the current section.
-2. **Stale milestone assignment** (issue moved out of this milestone) →
- remove the entry (or drop it if the section does not exist yet).
-3. **Newly applied exclusion labels** (`no changelog`, `release blocker`) →
- remove the entry.
-4. **Issue no longer closed/deleted/Rejected** → remove the entry.
-5. **Unmerged or moved PR reference** → fix the reference or remove the
- entry (a PR merged in a *different* milestone is a step-9 anomaly, do not
- silently remove it).
-6. **Issue type changed to `Task`** → remove the entry.
-7. **Breaking change misplaced** (issue has the `breaking change` label but
- sits in another section) → move the entry to `:boom:`.
-8. **Highlight out of sync** (`:rocket:` entry without the `release
- highlight` label, or a labelled issue missing from `:rocket:`) → remove
- the `:rocket:` entry or add it (step 7b). The regular entry stays.
-9. **Missing valid issues** (closed, non-excluded, unreferenced anywhere) →
- add them to the current section per step 5.
-
-### 7. Build the description text
-
-Derive it from the **issue title**, not the PR title. Strip leading emoji
-prefixes (`:bug:`, `:sparkles:`, `:tada:`) and describe the user-facing
-behavior:
-
-| Issue title | Changelog description |
-|-------------|----------------------|
-| `Plugin API token methods fail with schema validation error on PRO` | `Fix Plugin API token methods failing with schema validation error on PRO` |
-| `Comment content is not sanitized before rendering, enabling stored XSS` | `Sanitize comment content on rendering` |
-| `Custom uploaded font family names are not sanitized` | `Sanitize font family names on custom uploaded fonts` |
-
-Insert the new version section right after the `# CHANGELOG` header with the
-`edit` tool and enough context for a unique match.
-
-### 7b. Populate `:rocket: Epics and highlights` from the label
-
-List the milestone issues that pass step 2 exclusions and carry the
-`release highlight` label:
-
-```bash
-python3 scripts/gh.py issues "2.16.0" --exclude "release blocker,no changelog" \
- | python3 -c "import sys,json; [print(i['number'], i['title']) for i in json.load(sys.stdin) if 'release highlight' in i['labels']]"
-```
-
-Create the subsection if missing (place it before `### :sparkles:`) with one
-entry per labelled issue, same text and references as its regular entry.
-Every `:rocket:` entry MUST carry issue AND PR references. If no issue is
-labelled, leave `:rocket:` out and tell the user: the highlights are
-product's call, not the agent's. To change them, add or remove the label on
-GitHub and re-run; never edit `:rocket:` by hand.
-
-### 8. Cross-reference milestone PRs against the changelog
-
-```bash
-python3 scripts/changelog.py cross-ref "" [--changes CHANGES.md]
-```
-
-Lists merged milestone PRs missing from the changelog section (decide per PR:
-add it or confirm its exclusion labels) and warns about CLOSED (unmerged) PRs
-in the milestone. GHSA entries never appear here — that absence is expected.
-
-### 9. Generate the anomaly report
-
-```bash
-python3 scripts/changelog.py report "" [--changes CHANGES.md --output CHANGES-ISSUES.md]
-```
-
-Overwrites `CHANGES-ISSUES.md` with the current state. Every number renders as
-a full `[#N](https://github.com/penpot/penpot/issues/N)` or
-`[#N](https://github.com/penpot/penpot/pull/N)` link.
-
-**An anomaly is a milestone mismatch or a `:boom:` mislabel** (the changelog
-pairing is misleading and a human must judge intent):
-
-1. Issue in this milestone, referenced PR in another milestone (or none).
-2. PR in this milestone, closed issue in another milestone — except an issue
- with *no* milestone, which belongs to another (probably private) project
- and is neither anomaly nor changelog candidate.
-3. `:boom:` entry whose issue lacks the `breaking change` label. These stay
- listed in the report **and** in the changelog: either label the issue or
- move the entry to its regular section.
-4. `:rocket:` out of sync with the `release highlight` label. Step 6
- pre-flight should have fixed it: if it shows up, re-run the workflow.
-
-**Highlight gaps are warnings, not anomalies:** missing `:rocket:` on a
-released X.Y.0 (patches never carry highlights); `:rocket:` entry without
-issue AND PR references. Gaps never count toward the anomaly total.
-
-**Anything else is a rule violation**, not a report item: fix it in step 6
-pre-flight. If one shows up in the report, re-run the workflow.
-
-## Key Principles
-
-- **Issue = changelog unit**, PR = implementation detail inline.
-- **Latest version first**, below the `# CHANGELOG` header.
-- **Issue Type decides the section — exclusively**, except `breaking change`
- label → `:boom:` first, and `release highlight` label → also `:rocket:`.
-- **User-facing descriptions** in imperative mood.
-- **Community attribution** uses the PR author, placed before the issue link.
-- **Only closed issues**; **Rejected** project status excludes.
-- **`no changelog` and `Task`** stay out.
-- **Multiple fix PRs** go comma-separated inline.
-- **Duplicates**: the earlier version section wins.
-- **Taiga references**: resolve to the GitHub issue via description text or
- PRs mentioning the Taiga URL, then link issue + PR.
-- **GHSA entries** live under `:bug:` with only the advisory URL (see 5b).
-- **Re-fetch before editing**; prefer `scripts/gh.py` over raw `gh api`.
-- **Verify PR merge status** (`check-merged`); PR-level exclusions apply.
-- **Cross-reference PRs, not just issues** (`cross-ref`); watch for
- false-positive PR-to-issue links.
+- `CHANGES.md` is edited only on explicit request or during the release process.
+- Only closed, non-excluded milestone issues are included; the issue is the changelog unit and the PR is inline.
+- `:boom:` and `:rocket:` are label-generated and `:lock:` is advisory-generated: never hand-edit them; edit the label, the `## Breaking change note` comment or the advisory and re-run the command.
+- Verify PR merge status before writing; only merged PRs are referenced.
+- Fill `patched_versions` in the advisories before running `security`; unpublished advisories are valid.
diff --git a/.github/workflows/build-docker-devenv.yml b/.github/workflows/build-docker-devenv.yml
index 0b62cf100e..48aff5d06c 100644
--- a/.github/workflows/build-docker-devenv.yml
+++ b/.github/workflows/build-docker-devenv.yml
@@ -38,13 +38,13 @@ jobs:
uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1
- name: Login to Docker Registry (push destination)
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
username: ${{ secrets.PUB_DOCKER_USERNAME }}
password: ${{ secrets.PUB_DOCKER_PASSWORD }}
- name: Login to Docker Hardened Images registry (base image pull)
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: dhi.io
username: ${{ secrets.PUB_DOCKER_USERNAME }}
diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml
index 4d15460ad6..da5ae49ebb 100644
--- a/.github/workflows/build-docker.yml
+++ b/.github/workflows/build-docker.yml
@@ -200,7 +200,7 @@ jobs:
ref: ${{ inputs.sha != '' && inputs.sha || inputs.gh_ref }}
- name: Login to Docker Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
@@ -210,7 +210,7 @@ jobs:
# images from DockerHub for unregistered users.
# https://docs.docker.com/docker-hub/usage/
- name: Login to DockerHub Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
username: ${{ secrets.PUB_DOCKER_USERNAME }}
password: ${{ secrets.PUB_DOCKER_PASSWORD }}
@@ -222,7 +222,7 @@ jobs:
# reuses the same PUB_DOCKER_* credentials as the DockerHub
# login above.
- name: Login to Docker Hardened Images registry (base image pull)
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: dhi.io
username: ${{ secrets.PUB_DOCKER_USERNAME }}
@@ -301,7 +301,7 @@ jobs:
uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1
- name: Login to Docker Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
@@ -371,7 +371,7 @@ jobs:
uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1
- name: Login to Docker Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
diff --git a/.github/workflows/build-renovate.yml b/.github/workflows/build-renovate.yml
index 6145e7e2fd..c1bf4d1690 100644
--- a/.github/workflows/build-renovate.yml
+++ b/.github/workflows/build-renovate.yml
@@ -114,20 +114,20 @@ jobs:
persist-credentials: false
- name: Login to Docker Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to DockerHub Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
username: ${{ secrets.PUB_DOCKER_USERNAME }}
password: ${{ secrets.PUB_DOCKER_PASSWORD }}
- name: Login to Docker Hardened Images registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: dhi.io
username: ${{ secrets.PUB_DOCKER_USERNAME }}
@@ -191,13 +191,13 @@ jobs:
persist-credentials: false
- name: Login to DockerHub Registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
username: ${{ secrets.PUB_DOCKER_USERNAME }}
password: ${{ secrets.PUB_DOCKER_PASSWORD }}
- name: Login to Docker Hardened Images registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: dhi.io
username: ${{ secrets.PUB_DOCKER_USERNAME }}
@@ -242,7 +242,7 @@ jobs:
persist-credentials: false
- name: Login to Docker Hardened Images registry
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
+ uses: docker/login-action@8aa5831fb8d48d8f76594c7ddde61ae58019f550 # v4.8.0
with:
registry: dhi.io
username: ${{ secrets.PUB_DOCKER_USERNAME }}
diff --git a/.github/workflows/lint-workflows.yml b/.github/workflows/lint-workflows.yml
index a9ad7d055c..d5cb8aea27 100644
--- a/.github/workflows/lint-workflows.yml
+++ b/.github/workflows/lint-workflows.yml
@@ -34,7 +34,7 @@ permissions: {}
env:
ACTIONLINT_VERSION: '1.7.12'
- ZIZMOR_VERSION: '1.31.1'
+ ZIZMOR_VERSION: '1.32.0'
jobs:
lint:
diff --git a/.github/workflows/tests-wasm.yml b/.github/workflows/tests-wasm.yml
index f3e1547321..2047126ed0 100644
--- a/.github/workflows/tests-wasm.yml
+++ b/.github/workflows/tests-wasm.yml
@@ -49,7 +49,7 @@ jobs:
- name: Format
working-directory: ./render-wasm
run: |
- cargo fmt --check
+ ./fmt --check
- name: Lint
working-directory: ./render-wasm
diff --git a/.serena/memories/audit-log.md b/.serena/memories/audit-log.md
index a9766ec80b..dbbe8eef44 100644
--- a/.serena/memories/audit-log.md
+++ b/.serena/memories/audit-log.md
@@ -182,7 +182,7 @@ Who uses it:
Failure policy: every send is best-effort. A failure never rolls back the business action; it is only recorded for debugging.
-Backend side (`backend/src/app/rpc/management/nitrate.clj` `::push-audit-events`): `::audit/skip`, `::rpc/auth false` (trust comes from the shared key, not from a user session). It builds context with `audit/prepare-context-from-request` + `request-id`, takes the given `profile-id` as-is (no coercion here, must already be a uuid), sets `tracked-at = request-at`, defaults `type` to `"action"`, and calls `audit/submit` (which defaults `source` to `"backend"`). So these rows land as **`source = backend`**: they are audited like backend events because a trusted service set the author.
+Backend side (`backend/src/app/rpc/management/nitrate.clj` `::push-audit-events`): `::audit/skip`, `::rpc/auth false` (trust comes from the shared key, not from a user session; only the `admin-console` key id is allowed). It builds context with `audit/prepare-context-from-request` + `request-id`, takes the given `profile-id` as-is (no coercion here, must already be a uuid), sets `tracked-at = request-at`, defaults `type` to `"action"`, and calls `audit/submit` (which defaults `source` to `"backend"`). So these rows land as **`source = backend`**: they are audited like backend events because a trusted service set the author.
### 7b. Browser channel (best-effort, like frontend events)
@@ -252,9 +252,9 @@ Result: crash reports only exist if the frontend collector runs and `push-audit-
## 11. Consumers III: telemetry (shadow rows)
-Telemetry reuses the same table with **anonymized shadow rows** (`source LIKE 'telemetry:%'`): day-truncated times, `0.0.0.0` IPs, props reduced to uuid/boolean/number values plus a few allowed fields (`lang`, `auth-backend`, derived `email-domain` — never raw emails), and a minimal context allowlist. Full + shadow rows can exist together per event when both flags are on; that duplication is on purpose.
+Telemetry reuses the same table with **anonymized shadow rows** (`source LIKE 'telemetry:%'`): day-truncated times, `0.0.0.0` IPs, props reduced to uuid/boolean/number values plus a few allowed fields (`source`, `lang`, `auth-backend`, `activation`, derived `email-domain` — never raw emails), and a minimal context allowlist. Full + shadow rows can exist together per event when both flags are on; that duplication is on purpose.
-Filters (`filter-telemetry-props` / `filter-telemetry-context`): by default only uuid/boolean/number with a simple key; exceptions: login/register/update-profile and frontend `identify` keep `lang`/`auth-backend`/`email-domain`; `organization-sso-auth-failed` keeps `failure-reason` if it is a known one; `instance-start` passes whole; frontend `navigate` keeps `[:route :file-id :team-id :page-id]`. Free text drops from telemetry but **stays in the full row and in Nexus**.
+Filters (`filter-telemetry-props` / `filter-telemetry-context`): by default only uuid/boolean/number with a simple key; exceptions: login/register/update-profile and frontend `identify` keep `lang`/`auth-backend`/`source`/`activation`/`email-domain`; `organization-sso-auth-failed` keeps `failure-reason` if it is a known one; `instance-start` passes whole; frontend `navigate` keeps `[:route :file-id :team-id :page-id]`. Subscription actions have event-specific contracts: backend and frontend `create-subscription` / `create-trial-subscription` preserve the default uuid/boolean/number props plus `type`, `deployment`, `quantity` and `subscription-mode`; backend `update-subscription` preserves only `type`, `deployment`, `previous-status`, `status`, `previous-cancel-at-period-end`, `cancel-at-period-end`, `previous-cancel-at`, `cancel-at` and `changed-fields`; backend `subscription-summary` preserves only `type`, `deployment`, `instance-id`, `snapshot-date`, the per-status `*-count` values, `total-count`, `sync-succeeded`, `sync-failed` and `snapshot-complete`. These subscription exceptions apply only to action events. Other free text drops from telemetry but **stays in the full row and in Nexus**. In `register-profile`, `activation` is a prop (it is what reaches PostHog). `action` exists only in the `context` of the full `register-profile-retry` rows; `filter-telemetry-context` drops it from the anonymised copy, which keeps only `:version`, `:initiator`, `:client-version` and `:client-user-agent`.
Shipping (`backend/src/app/tasks/telemetry.clj`): the cron sends shadows to `:telemetry-uri` as JSON in 10k batches and **deletes** them on success; it purges leftovers older than 7 days. It also sends a legacy report (counters, teams, email domains...). On official hosts nothing is collected or sent (`telemetry-excluded?` covers `penpot.app`/`penpot.dev`).
@@ -301,7 +301,7 @@ So the full journey is: Penpot buffer → Nexus `audit_log` (via either archive
Penpot → admin-console archiving lives in its own job (`:audit-log-consumer-admin-console`, consumer `2`, flag `:admin-console`, params closed empty): it drains its own pending queue and ingests allowlisted events through `nitrate/call :ingest-audit-log`, enriched as described above. What also exists (do not confuse with archiving):
-- **Nitrate → Penpot**: `POST /api/management/methods/push-audit-events` (`backend/src/app/rpc/management/nitrate.clj`) lets the trusted Nitrate backend inject events into the Penpot audit log (no RPC auth, `::audit/skip`, request context + `submit`). Section 7a is the main user.
+- **Nitrate → Penpot**: `POST /api/management/methods/push-audit-events` (`backend/src/app/rpc/management/nitrate.clj`) lets the trusted Nitrate backend inject events into the Penpot audit log (no RPC auth, `::audit/skip`, request context + `submit`; only the `admin-console` shared-key id can call it). Section 7a is the main user.
- **Admin-console browser → collector**: usage events from the admin-console UI traveling through the normal public `push-audit-events` (section 7b).
- **Penpot frontend Nitrate bits**: membership/subscription events (`frontend/src/app/main/data/nitrate.cljs`, `nitrate-audit/*`) through the same public endpoint.
diff --git a/.serena/memories/backend/auth-permissions-product-domains.md b/.serena/memories/backend/auth-permissions-product-domains.md
index d9ee64c171..4cd1658906 100644
--- a/.serena/memories/backend/auth-permissions-product-domains.md
+++ b/.serena/memories/backend/auth-permissions-product-domains.md
@@ -14,6 +14,7 @@
- Invitation tokens are verified through token issuers and only accepted when the token member id/email matches the authenticated profile; otherwise login proceeds without consuming the invitation.
- When public registration is disabled, invitation-based password registration also requires a matching, non-expired `team_invitation` row; registration revalidates it under a row lock before creating the profile.
- Access tokens (`app.http.access-token`): personal tokens have JWT issuer `access-token` and DB type other than `mcp`; MCP tokens have issuer `urn:penpot:mcp-token` (`actoken/mcp-token-issuer`) and DB type `mcp`. Authentication requires issuer and type to agree, and the claim `uid` to match the row's profile; other issuers and undecryptable tokens are treated as anonymous.
+- Management RPC (`/api/management/methods/:name`) is shared-key only. The middleware authenticates ` `; the RPC wrapper `wrap-shared-key-authorization` authorizes the key id against the method's `::rpc/allowed-shared-keys` set. Absent metadata accepts any configured key; all current methods declare one (`exporter`/`media-processor` for `upload-tempfile`, `nexus` for file analysis, `exporter` for jobs, `admin-console` for Nitrate). A valid key outside the set answers 403 `:shared-key-not-allowed`; denied calls do not reach the audit wrapper.
- Personal tokens need flag `:access-tokens`. MCP tokens need `:mcp` or `:access-tokens`, and only on routes whose `actoken/authz` gets `::actoken/allow-mcp true` (the RPC routes); elsewhere (e.g. assets) they are anonymous.
- On RPC, an MCP token reaches only commands with `::rpc/token-type "mcp"` (`wrap-authentication` in `app.rpc`); every other command answers 403 `:token-auth-required`. A command with that metadata also rejects sessions and personal tokens. Currently only `send-mcp-feedback`. Blocking a profile invalidates sessions, not tokens, so such commands check `:is-blocked`/`:is-active` themselves.
- HTTP/session parsing details such as cookie/header precedence, JWT session token versions, and SameSite behavior are in `mem:backend/subtleties`.
@@ -24,12 +25,13 @@
- Team role flags are normalized as owner > admin > editor > viewer. Owner/admin imply edit; any membership row implies read.
- File/project role rows only count with a live team membership: the file/project permission queries require a matching `team_profile_rel` row, and leaving or removing a member deletes their team-scoped `file`/`project`/`team-project-profile-rel` rows (GHSA-v9r9-h77c-55m2).
- File/project/comment checks are implemented in the owning command namespaces, often via helpers imported from `files`, `teams`, or `projects`; do not bypass those helpers with direct DB lookups unless preserving their not-found semantics.
-- Comment permission includes both logged-in state and the file/team comment policy. Shared viewer paths may pass `share-id`; preserve that path when changing comment queries.
+- Comment permission includes both logged-in state and the file/team comment policy. Shared viewer paths may pass `share-id`; preserve that path when changing comment queries. RPCs that accept `share-id` enforce the link's page scope before mutating (`share-link-pages` + `check-page-scope`): a thread or page outside the link raises `:not-found`, and that check runs before the ownership checks. `get-profiles-for-file-comments` filters its query by the same pages. `mark-all-threads-as-read` does not take `share-id`.
## Teams, projects, and invitations
- Team/project commands mix DB changes, email, message bus notifications, media/storage cleanup, feature flags, quotas, and audit metadata. Keep mutations transactional when the existing command does so.
- Invitation flows validate muted/bounced emails before sending and use tokenized invitation state. Accepting an invitation is tied to the invited member identity, not just possession of a token.
+- The whole invitation family is team-admin only: creating, updating and deleting invitations, minting the invitation token (`get-team-invitation-token`) and listing the pending ones (`get-team-invitations`, which carries the invited email and the offered role). The token of an invitation that grants the `owner` role is restricted to the team owner, because an admin cannot create nor promote an owner invitation (`cant-promote-to-owner`). This family is the exception to the rule above: it answers `:validation` / `:insufficient-permissions` instead of `:not-found`, so the five commands speak one language.
- Logical deletion is used for many product objects; prefer existing logical-deletion helpers over hard deletes unless the command already performs permanent cleanup.
- Bounced/spam-complaint emails can mute/block a profile for login/registration and email sending. Devenv Mailpit is the normal local path for registration/email-flow testing.
diff --git a/.serena/memories/backend/core.md b/.serena/memories/backend/core.md
index 7a70eb4669..16978ac1ff 100644
--- a/.serena/memories/backend/core.md
+++ b/.serena/memories/backend/core.md
@@ -67,6 +67,7 @@ Every background job is a job-def: a plain `(defn execute-X [cfg params] ...)` i
- Job resources (`app.jobs.storage`) are the objects a job owns through `job.resource_id`: they live in the `job-resource` bucket, are written with the profile of the job as owner (only that profile can read them back from `/assets/by-id`) and are never deduplicated. They carry no expiry of their own, because `expired-at` is stored as `deleted_at` and an object with it is unreadable from birth: the retention of the artifact is the retention of its job row. The writer marks the object as touched right away, so an artifact that no row references (a crash between the upload and the completion) is reclaimed by `storage-gc-touched`, and a row that does reference it freezes it until the jobs GC deletes the row and touches the object.
- The binfile jobs (`:export-binfile` and `:import-binfile`) run the core of `bf.v1`/`bf.v3` through `app.binfile.jobs`, which turns the `:progress` taps of the core into `progress` events of the job with `jobs/heartbeat` (the `modified_at` touch at most once per second, progress events at up to ~200ms). Each event is a self-contained milestone: a `:stage` keyword of one vocabulary shared by the two formats (the same work has a different name in v1 and v3) and an optional `:counters` map, with the counter of the activity named after its own stage and the outer scopes in course as context, which the tap carries itself (the reader puts `::outer-counters` in every tap inside them — today only `:files`, extendable to `:teams`/`:projects` for multi-scope exports — so the adapter remembers nothing between taps and a tap that happens outside any scope has no context); the ids and names the taps carry never reach the event. Every tap is reported, so a tap with no units to count still keeps the job alive, and a milestone the throttle drops loses nothing because the next one carries the same state. The adapter checks that the job is still active before the run, and the beat raises an `:interrupt` right there on the run thread when the job is no longer active, so the work stops at its next event point inside the transaction of its handler, which rolls back. A run whose last tap predates the interruption is discarded by the check once it returns. The adapter passes the job id from the handler context. Their job-def components carry pool, storage, metrics and msgbus, because a job with a `profile_id` cannot store an event without a msgbus on its cfg. Both readers answer with the same shape (`:file-ids` and, in version 3, the resolution of the libraries), because the version 1 reader returns a bare set of file ids.
- Both binfile handlers revalidate their permission at run time, not only when the job is created, because it can be revoked while the job waits: the export checks the read permission of every file before reading anything and stores the package in `job-resource` as the resource of the job (answering with the completion envelope), and the import checks the edition permission of the destination and runs the core inside a transaction, which is what makes a cancelled import roll back instead of leaving half of a file. The import releases its package (marks it as deleted and drops the reference from the job row in the same transaction) and deletes its temporary copy once the job is terminal, whatever the outcome. Both handlers check their own result against a schema before returning it (the import job-def declares that same schema as its result schema, which is what types the resolution when the row is read).
+- The v3 import only materializes a library relation when both ids belong to the package and differ; a relation that points outside the package or a self link is ignored with a warning. Migration `0158-del-forbidden-file-library-rels` deletes the legacy cross-team and self rows from `file_library_rel` and their `file_library_sync` rows, sync rows first.
- The domain cfg of a binfile request lives in `app.binfile.common` (`export-cfg`, `import-cfg`), so the legacy RPC and the jobs freeze the same ids, resolve the same team features and apply the same anti-zip-bomb limits. `resolve-export-type` is the translation the legacy RPC needs for its deprecated boolean flags; the creation command asks the caller for the type instead of guessing a default.
- Two retention knobs, easy to confuse: `:jobs-retention` sweeps terminal internal rows (the ones without a profile), while `:jobs-user-ttl` is the default expiry a user-facing job gets when it is created; the jobs GC deletes the row once `expires_at` passes and touches its resource. The heavy work of a user job runs on its own `:binfile` queue (`:worker-binfile-parallelism`, default 1) so it does not block the default runner.
- The quote of a family of jobs (`::export-jobs-per-profile`, `::import-jobs-per-profile`) counts the jobs of the profile that are still on their way (`new`/`scheduled`/`running`/`retry`) whose name the registry gives for that family, so a new job of the family is covered without touching the quote.
diff --git a/.serena/memories/backend/subtleties.md b/.serena/memories/backend/subtleties.md
index 922c20bcb7..fa0def492b 100644
--- a/.serena/memories/backend/subtleties.md
+++ b/.serena/memories/backend/subtleties.md
@@ -56,7 +56,7 @@
- Request body parsing is mostly POST-oriented and supports Transit JSON plus plain JSON. Plain JSON request keys are kebab-decoded before being merged into `:params`. A body the parser cannot read is a client error, classified at the parse site and never by exception class (`clojure.data.json` signals its syntax errors with a bare `java.lang.Exception`): 400 `:validation`/`:malformed-json`, one `warn` line (`malformed request body`) carrying path, peer address and content-type instead of a stack trace, and `penpot_http_malformed_requests_total`. `RequestTooBigException` keeps its 413.
- Response formatting negotiates with `Accept` or `_fmt=json`. Transit is the default for collection/boolean bodies; JSON encoding has special pointer-map handling.
- Auth prefers the session cookie token before the `Authorization` header. Headers may be `Token` or `Bearer`. Only `kid=1`/`ver=1` tokens are decoded as session tokens; anything else is left unauthenticated (legacy v1 tokens were removed).
-- Shared-key auth requires `x-shared-key` as ` ` and stores the lowercased key id on the request. If no shared keys are configured it always rejects.
+- Shared-key auth requires `x-shared-key` as ` ` and stores the lowercased key id on the request. If no shared keys are configured it always rejects. Management methods declare the key ids they accept with `::rpc/allowed-shared-keys`; a valid key outside that set answers 403 `:shared-key-not-allowed`, and a method without the metadata accepts any configured key.
- Session management uses DB storage unless the DB pool is read-only, then falls back to the in-memory manager. Sessions use only the v2 UUID model (`http_session_v2`); legacy string ids were removed.
- Session cookies are renewed when `modified-at` is older than the 6h renewal interval. SameSite is `none` for CORS, otherwise strict/lax based on config. Session lifetime config and GC: `mem:backend/session-expiration`.
@@ -84,6 +84,8 @@
- The `media-storage-bytes-per-team` quota check on `upload-file-media-object` is TEMPORARILY DISABLED (2026-10-19, kept commented in `app.rpc.commands.media` with its `sql:get-team-id-for-file` lookup still active for the audit props): the quote performs a full `SUM` over `storage_object` per upload and was too slow in production. The `upload-sessions-per-profile` quota is unaffected and stays active. Re-enable only with a cheaper approximation.
- Storage abstraction, backend configuration, logical buckets, object lifecycle, deduplication, access rules, and garbage collection: `mem:backend/storage`.
- SVG validation strips DOCTYPE and uses secure SAX parsing. Basic SVG info falls back to 100x100 dimensions when width/height/viewBox are missing.
+- The SVG sanitizer (`app.media.svg`) is a **blocklist**, not an allowlist: it drops dangerous elements and attributes by name and escapes every text and attribute value when it writes the tree back, so a payload hidden in a value cannot become live markup again. The allowlist rework is [#12190](https://github.com/penpot/penpot/issues/12190) and lands in media-processor, not here. `sanitize-svg` also tracks the namespace bindings through the recursion and drops any element that is not in the SVG namespace, so a document whose root is not an `svg` element in the SVG namespace is rejected and a child that rebinds `xmlns` to XHTML (`iframe`/`srcdoc`/`meta`) is dropped with its subtree; it compares the scheme of an URL the way the browser does (dropping tab/CR/LF/spaces), so `java script:` does not slip through the `javascript:` filter. The paths that store an uploaded SVG as its final object go through `app.media.svg/sanitize-svg-upload` (media upload, the URL download, both thumbnail writers and the organization logo); the three binfile imports go through `app.binfile.common/sanitize-imported-svg`, which calls `sanitize-svg` directly. The profile picture is not an SVG: `import-profile-picture` ignores an `image/svg+xml` download, because the avatar is always rendered as an image. The caller checks the size before calling it: the helper reads the whole file, and the size limit applies to the upload, not to the sanitized copy, which can be up to six times bigger.
+- Upload handlers run the `media.v` checks in a fixed order: `check-upload-path`, then `check-media-type`, then `check-media-size` (or `check-font-size` for fonts). The path check gates every later read: `check-media-type` sniffs the bytes at `:path` and `check-media-size` reads `fs/size`, so a path the client named outside `allowed-upload-prefixes` must be rejected before either touches the disk. `check-media-size` leans on that and answers a file it cannot read with the path code (`:params-validation`), not `:media-max-file-size-reached`. Keep the order when touching or adding a handler; two branches that reorder these lines conflict.
- Raster metadata is shell-derived with ImageMagick `identify`, verifies detected MIME against the supplied MIME, and swaps dimensions for EXIF orientations 6/8.
- Remote image download requires 2xx status, `content-length`, a known MIME, and size under the configured maximum before writing the temp file; mismatched byte count is an internal error.
- Font processing shells out to FontForge and WOFF conversion tools and can derive TTF/OTF/WOFF variants from uploaded fonts.
@@ -105,8 +107,9 @@
- A `file_data` row is one of three classes, told apart by `type`: `main` is the file's current state and carries `id = file_id`; `snapshot` is a point-in-time copy whose `id` is the one its `file_change` row shares; `fragment` is a piece of the pointer-map, referenced from the file's data.
- Their lifecycles differ: `main` and `snapshot` live with the file (dated when it is deleted, undated when it is restored), while a `fragment` carries no date and is collected by `file_gc` once the file stops referencing it. Neither is a session buffer, so do not read a `fragment` as an ephemeral revision.
- File snapshots (versions) keep their metadata row in `file_change` and their payload in `file_data` (`type = 'snapshot'`). With the `db` backend `file_change.data` stays NULL: that column is only written by the `legacy-db` backend, plus the rows written before the 2025-07 file storage refactor.
-- Tell a snapshot apart by `label IS NOT NULL` (with `created_by` / `deleted_at` as needed), never by `file_change.data IS NOT NULL`: the label holds with every file data backend, and the payload column stopped meaning "this is a snapshot" when the payload moved out. Queries that identify versions must use the label.
+- Tell a snapshot apart by `label IS NOT NULL` (with `created_by` / `deleted_at` as needed), never by `file_change.data IS NOT NULL`: the label holds with every file data backend, and the payload column stopped meaning "this is a snapshot" when the payload moved out. Queries that identify versions must use the label. `0157-migrate-legacy-file-data` moved the labelled leftovers to `file_data` and deleted the unlabelled payload rows, so from 2.19 on the label is the only marker there is.
- The version quota counts of `app.rpc.quotes` (`sql:get-snapshots-per-file`, `sql:get-snapshots-per-team`) are served by the partial index `file_change__user_snapshots__idx`, whose predicate mirrors their where clause; changing one without the other drops the index only scan and the count walks the whole table again.
- Revisions live only in `file_change` and have no `file_data` counterpart. They are born already scheduled for deletion one hour later (`app.rpc.commands.files-update`) and the snapshot paths cannot reach one, because they resolve their row through a `label IS NOT NULL` filter.
-- A deletion date is assigned once and never moved: `restore-files` (`app.rpc.commands.files`) unmarks only durable history, the `:file` method of `app.tasks.delete-object` dates only rows that have no date yet, and `objects-gc` collects only rows that carry one. Unmarking a revision leaves it invisible to `objects-gc` for ever, because nothing sets that date again.
+- A deletion date is assigned once and never moved: `restore-files` (`app.rpc.commands.files`) unmarks only durable history, which is `label IS NOT NULL` (the unlabelled rows that still carry a legacy payload are removed by `0157-migrate-legacy-file-data`, so restore leaves them dated), the `:file` method of `app.tasks.delete-object` dates only rows that have no date yet, and `objects-gc` collects only rows that carry one. Unmarking a revision leaves it invisible to `objects-gc` for ever, because nothing sets that date again.
- Binfile v1/v3 import and the v3 export `get-file` step run inside one long transaction. They raise `idle_in_transaction_session_timeout` to 30 min (`app.binfile.common/transaction-idle-timeout-ms`) instead of disabling it, so a connection left idle while the ZIP is decoded or the file data is realized is bounded; `statement_timeout` stays at 300 s.
+- `update-file` with `:changes-with-metadata` groups that all carry `:commit-id` is partial: fast path applies and validates everything once; on a change failure it bisects the commits for the longest prefix that applies and validates (each attempt applies a prefix from the original data and runs referential integrity + file schema; ~log2 K attempts, none for a single commit, the first attempt's error reused), keeping that prefix (a commit that repairs an earlier one can keep both) and answering 200 with `:rejected {:commit-ids :failed-commit-id :error}`, plus `:preexisting-damage true` when the data the first rejected commit touches already fails validation without it (`preexisting-damage?`: one more referential + schema check of its pages/components on the base file, the accepted prefix or the original; the frontend then says the page data is damaged). Only accepted changes reach `file_change`, persistence and the msgbus; a fully rejected request writes and broadcasts nothing (revn unchanged). Flat `:changes` or groups without ids stay all-or-nothing. Before each attempt (`apply-prefix`, which returns `{:file :tracked :refs}` or the cause) `pmap/*tracked*` and the `cpc/*state*` atom are reset to their pre-attempt values (at the end `apply-commits` sets those of the kept prefix): a pointer map already `modified?` keeps its id when changed again, so the failed version would be persisted. DB/IO/interrupt errors and `:not-found` fragments (`change-failure?`) fail the whole request, never reject a commit. A rejection whose ex-info has no `:type` reports `:internal :unexpected-error`. `app.http.errors` answers 503 (`:server-error` + code) for transient SQLSTATEs (classes 08/53, 57P01–3, 40001, 40P01), `SQLTransientException`, `InterruptedException` and only the `IOException`s that pass on their own (`transient-io-exception?`: `SocketException`, `InterruptedIOException` incl. socket timeouts, `UnknownHostException`, `HttpTimeoutException`), which the client's save retries (and GETs retry by themselves); any other `IOException` (EOF from a corrupt blob, Jackson parse errors, missing files) stays 500 `:io-exception`, as do other SQL errors. With the `:debug-save-faults` flag, a `:set-plugin-data` file change in namespace `:penpot-debug` keyed `save-fault:` raises that fault in `apply-changes` (used by `debug.failNextSave`/`commitInvalidChange`). With a schema check running (hard schema validation without skip-validate, or soft) and 2+ commits, the touched pages' objects are decoded on the original file first (`decode-objects`; referential validation alone reads few objects, so no pre-decode then): objects-map caches decoded values per instance and a derived map copies the cache, so otherwise every attempt re-decodes the page (~260 ms at 10k shapes). Validation step timings (`with-validation-timing`, upstream `penpot_rpc_update_file_validation_timing` + the `update-file` debug log) come from the first attempt only (retries run with a cfg without metrics and timings); the whole bisection is one `retry` step sample, and the rejection log carries `:attempts`/`:elapsed`.
diff --git a/.serena/memories/clojure/idioms.md b/.serena/memories/clojure/idioms.md
index 7e81fba7ac..3fa120aa62 100644
--- a/.serena/memories/clojure/idioms.md
+++ b/.serena/memories/clojure/idioms.md
@@ -8,6 +8,7 @@ Behaviors confirmed against the language/stdlib — do not re-derive from assump
- The analyzer reads `:async` only from the fn name meta and the `fn` operator meta; list-level meta is ignored (would make a MetaFn). `(fn ^:async [] …)` puts the meta on argv (pre/post only, NOT async).
- Valid: `(defn ^:async f)`, `(defn- ^:async f)`, `(^:async fn [] …)` (the latter is what stock `t/async` generates itself).
- `^:async` fns never throw synchronously (rejected promises instead); `try/catch/finally` supported; continuations are microtasks, timers and RxJS schedulers are macrotasks (FIFO).
+- Inside an `^:async` fn, a nested call that needs a temp binding (e.g. calling a local fn `(g (f x))`, whose arg gets a `G__` binding) compiles to `(await (async function(){…})())`: `await` unwraps a returned promise, so `(settled (upload (make-ctx)))` blocks until the upload promise settles instead of passing the promise on (a test that pushes the answer later hangs, idle). Bind each step in its own `let` binding.
- `!` suffix allowed cases (only exceptions to the no-new-`!` rule in `mem:clojure/design-rules`): mutating public `app.db` API (`insert!`, `update!`, `delete!`, `run!`, `tx-run!`, `exec!`, ...) and fns whose contract is to work over transients (stdlib `conj!`, `assoc!`, `dissoc!`, `disj!`, `persistent!` and custom helpers over them); any further case must be registered here with justification before use.
- Penpot extends `clojure.core/Inst` in `app.common.time` ( JVM-only section), so `inst-ms` also accepts `Duration` (returns `.toMillis`, NOT epoch millis), `FileTime` and `OffsetDateTime`. It only works where that namespace is loaded; on a bare `Duration`, prefer explicit `.toMillis`, which reads as what it is (an amount, not an instant).
- `cuerdas.core/index-of` returns `nil` (not `-1`) when the substring is absent, like `clojure.string/index-of`. `(pos? nil)` **throws on the JVM** but evaluates to `false` in CLJS (JS coercion), so `(if (pos? (str/index-of s "\n")) …)` works in the browser and crashes the backend. Guard with `some?` before `pos?` (this was `app.common.exceptions/first-line`).
diff --git a/.serena/memories/common/data-model-change-checklist.md b/.serena/memories/common/data-model-change-checklist.md
index f4540f9ea3..980f406673 100644
--- a/.serena/memories/common/data-model-change-checklist.md
+++ b/.serena/memories/common/data-model-change-checklist.md
@@ -6,7 +6,7 @@
- Do not treat nil as a distinct persisted state from absence. Import/export and cleanup paths may filter nil attrs away.
- Avoid Clojure-special naming in exported object attrs, especially boolean names ending in `?`; exported/imported data must survive JSON/SVG/Transit and external tooling.
- Any new shape attr that participates in component sync must be listed in `app.common.types.component/sync-attrs` with the correct touched group. Attrs absent from `sync-attrs` are ignored by component synchronization.
-- Shape `:svg-attrs` is the one map whose keys are camelCase React prop names (`fillRule`, not `fill-rule`), because the SVG import path runs them through `app.common.svg/attrs->props`. The `.penpot` reader (`app.common.json/read-kebab-key`) rewrites every json key of every entry to kebab-case, nested maps included, so any code that decodes a binary file must run `:svg-attrs` back through `attrs->props` or the names are lost. `:svg-defs` and the `:content` tree of `svg-raw` shapes keep their source names and round-trip on their own.
+- Shape `:svg-attrs` keys are kebab-case (`fill-rule`, not `fillRule`): birth (`app.common.svg/attrs->kebab-props`, applied everywhere data lands on a shape) normalizes any outside spelling through the `svg-props` whitelist, and render boundaries (`get-svg-props`, `render-xml*`, `svg-node*`) translate back to camelCase for React. `:svg-defs` node attrs follow the same rule recursively; svg-raw `:content` attrs are kebab-ized spelling-only, never filtered — the sidebar reads `:stroke-style`, which is outside the whitelist. Non-spec attrs Penpot keeps live in `penpot-extra-attrs` (seeded with `:stroke-style`) and travel in source spelling. Excluded, each with its reason: `:tag` values (React and tag sets need them verbatim; the schema decoder restores keywords from stored strings), outer `:svg-defs` keys (id strings at birth, keywords or strings after JSON decode — accept both), all values (the kebab reader never touches values). Repair sites: birth plus migration `0035-fix-shape-svg-attrs-and-defs` (replaces the withdrawn `0021`); the binfile cleaner carries no svg repair.
## Cross-module update checklist
diff --git a/.serena/memories/common/file-change-validation-migration-subtleties.md b/.serena/memories/common/file-change-validation-migration-subtleties.md
index 7333faadc3..75d9d80b4c 100644
--- a/.serena/memories/common/file-change-validation-migration-subtleties.md
+++ b/.serena/memories/common/file-change-validation-migration-subtleties.md
@@ -20,8 +20,10 @@
- Full referential/semantic validation currently runs only when file features contain `"components/v2"`.
- Validation starts at root plus orphan shapes, then validates component records. `validate-file!` raises `:validation :referential-integrity` with collected details.
+- `update-file` validates per save with the change-scoped variants: `validate-file-affected!` (referential, whole touched pages/components) and `validate-file-schema-affected!` (file schema with `:pages-index` reduced to the touched pages; non-page data checked whole). The schema variant maps change types to pages itself (`touched-page-ids`): a new change type that writes a page must be added there, or to `file-level-change-types` if it touches no page; an unknown type makes it check the whole file. The whole-file schema check loads and decodes every page, ~75–80% of a save on multi-page files.
- `repair-file` does not mutate data directly; it reduces validation errors into redo changes using `changes-builder`. Callers must apply or persist those changes.
- `repair-file-until-valid` stops on: no errors; unchanged `:data` after apply (backend page/`PointerMap` `=` is pointer identity); stable error fingerprint `(frequencies (map #(dissoc % :shape) errors))` vs previous pass (check fingerprint before `repair-file`/`process-changes`); or `max-iterations`. Each `repair-error` builds from the original `file-data`, so N `:set`-based errors on one shape take N passes.
+- `:ref-shape-not-found` repair: when the copy root's local component has a `:main-instance-id` that resolves to no shape but a `:main-instance` shape of that component sits on its `:main-instance-page`, it emits `mod-component` pointing the id back to that main (keeps the copy linked; a repair scoped to the copy's page never sees the main's `:invalid-main-instance-id`). Otherwise near-main reassign, else detach the copy subtree.
- `:missing-slot` fires only for a REAL swap: a copy sub-head whose `shape-ref` is no longer a child of the near main parent. A pure positional mismatch (ref still a sibling elsewhere) is a reorder — valid, realigned by the async component sync; do not "repair" it by assigning swap slots (a slot freezes the child out of normal sync). `fix-missing-swap-slots` (migration 0019) follows the same membership rule.
## Migrations
@@ -30,4 +32,5 @@
- Migrations are an ordered set mixing legacy version-derived ids and newer named ids. Keep append order stable; `migrate` applies the set difference between available migrations and file migrations.
- `migrate-file` synthesizes legacy migration ids from old numeric versions when `:migrations` is absent, migrates legacy features, and records feature flags created through `cfeat/*new*`.
- When a file had no previous `:migrations`, `migrate-file` marks all migrations as migrated in metadata so callers persist the complete migration set, not only transformations that changed data.
-- Closed schemas (`schema:stroke-attrs` and others) reject a key that was dropped from the declaration, so removing a declared attr needs a migration in the same change, for data already written with it.
\ No newline at end of file
+- Closed schemas (`schema:stroke-attrs` and others) reject a key that was dropped from the declaration, so removing a declared attr needs a migration in the same change, for data already written with it.
+- Rebase collision on a migration number: upstream keeps the id. Renumber the branch migration to the next free one, keep it last in `available-migrations`, and rename everything that spells the number — its test file and namespace (`files_migrations_00NN_test.cljc`), the test names, and comments in production code or memories that name it.
\ No newline at end of file
diff --git a/.serena/memories/common/testing.md b/.serena/memories/common/testing.md
index 4eda8e871f..b18fa3904b 100644
--- a/.serena/memories/common/testing.md
+++ b/.serena/memories/common/testing.md
@@ -38,6 +38,10 @@ Useful builders:
`add-variant-with-copy` does not accept position params for children; use `gsh/absolute-move` after creation if positions matter.
+## Generative sampling caution
+
+- `sg/sample` is unseeded per run. If a test filters samples by type (e.g. keep only `:svg-raw`) then `first` can yield nil on unlucky seeds; `assoc` onto nil builds a typeless map that fails `:multi` dispatch on `:type`. Pin `:seed` in `sg/sample` opts whenever a test depends on a filtered subtype being present (verified seed 42 deals svg-raw shapes on JVM and JS).
+
## Driving production paths
For shape mutations, prefer production-path helpers such as `cls/generate-update-shapes` plus `thf/apply-changes`. For component swaps with keep-touched behavior, use `tho/swap-component-in-shape` with `{:keep-touched? true}`.
diff --git a/.serena/memories/critical-info.md b/.serena/memories/critical-info.md
index 28e1043431..f1c5a2ba4a 100644
--- a/.serena/memories/critical-info.md
+++ b/.serena/memories/critical-info.md
@@ -16,11 +16,12 @@ You are working on the GitHub project `penpot/penpot`, a monorepo.
- Before `git commit` → `mem:workflow/creating-commits` (subject/body format, 80-char body wrapping enforced by `scripts/check-commit`, `AI-assisted-by: model-name` trailer)
- Before `gh issue create` → `mem:workflow/creating-issues` (title derivation, body template, labels, Issue Type)
- Before `gh pr create` / `gh pr edit` → `mem:workflow/creating-prs` (title format, body structure, "Note:" line)
+- Before updating `CHANGES.md` → `mem:workflow/updating-changelog` (sources of truth, entry rules, the `:boom:`/`:rocket:` label contracts, pre-flight checks, anomaly report)
- Before a repo-wide pnpm version update → `mem:workflow/updating-pnpm` (workspace layout, `scripts/sync-pnpm-version` flow, the stamp-missing-field and ignored-builds gotchas, verification steps)
- Before a Node version update → `mem:workflow/updating-node` (the six pin sites in `.nvmrc`, the devenv and image Dockerfiles and the plugins-deploy workflows, the DHI tag and digest rules, what to verify)
- Before bumping a non-JS dependency pinned in `docker/images/` (JDK, ImageMagick) → `mem:workflow/docker-images`
- **Never `git push`, force-push, or modify `git origin`** (or any other remote). The user pushes from their own shell; if a push is required, say so and wait. Never amend a commit that the user has already pushed unless explicitly asked.
-- **Never edit `CHANGES.md` by hand.** The changelog is generated from GitHub milestones during the release process; update it only via the `update-changelog` skill flow or on explicit user request.
+- **Never edit `CHANGES.md` by hand.** The changelog is generated from GitHub milestones during the release process; update it only via `mem:workflow/updating-changelog` (the `update-changelog` skill flow) or on explicit user request.
- You have access to the GitHub CLI `gh` or corresponding MCP tools.
- Issues are also managed on Taiga. Read issues using the `read_taiga_issue` tool.
- Before writing code, analyze the task in depth and describe your plan. If the task is complex, break it down into atomic steps. After making changes, run the applicable lint and format checks for the affected module before considering the work done (per example `mem:backend/core` or `mem:frontend/core`).
@@ -60,7 +61,7 @@ The memory is structured in a way that you can get the critical information abou
- `scripts/taiga.py` — Fetch public issues, user stories, and tasks from the Penpot Taiga project without authentication. See `mem:scripts/taiga`.
- `scripts/gh.py` — GitHub operations helper: list milestone issues, fetch PR details, compare against CHANGES.md. Requires `gh` CLI. See `mem:scripts/gh`.
- `scripts/project-anomalies.py` — Main-board anomaly check for a milestone (`check` writes `tmp/-ANOMALIES.md`). Bulk resolution via `scripts/gh.py`. See `mem:scripts/project-anomalies`.
-- `scripts/changelog.py` — Changelog checks for the `update-changelog` skill: `check-merged` (PR merge status), `cross-ref` (milestone PRs vs changelog section), `report` (anomaly report to CHANGES-ISSUES.md). Calls `scripts/gh.py` via subprocess. See `mem:scripts/changelog`.
+- `scripts/changelog.py` — Changelog checks for `mem:workflow/updating-changelog`: `boom` (generate the `:boom:` section from `breaking change` issues), `check-merged` (PR merge status), `cross-ref` (milestone PRs vs changelog section), `report` (anomaly report to CHANGES-ISSUES.md). Calls `scripts/gh.py` via subprocess. See `mem:scripts/changelog`.
- `scripts/error-reports.mjs` — Query error reports via RPC API with token authentication. Supports list/get operations with filtering and pagination. See `mem:scripts/error-reports`.
- `scripts/clean-node-modules` — Remove stale `node_modules` from all pnpm workspaces (root, modules, member packages). Keeps the shared pnpm store at `/.pnpm-store` unless `--store`; ignores `external/` and `.opencode/`. Usage and reinstall steps: `mem:workflow/updating-pnpm`.
- `scripts/setup-opencode` — Install the opencode CLI in-container as a global pnpm package in `$PNPM_HOME`. Not part of the devenv image; see `mem:devenv/core`.
diff --git a/.serena/memories/devenv/core.md b/.serena/memories/devenv/core.md
index 415a69342e..3507a5d6e0 100644
--- a/.serena/memories/devenv/core.md
+++ b/.serena/memories/devenv/core.md
@@ -5,7 +5,7 @@ Compose-based dev environment under `docker/devenv/`, driven by `manage.sh`. Par
## Compose project layout
- `penpotdev-infra`: shared `postgres`, `rustfs`, `valkey`, `mailer`, `ldap`. File: `docker-compose.infra.yml`.
-- `penpotdev-wsN` (N=0,1,…): per-instance `main` + `redis` (Valkey). File: `docker-compose.main.yml`. ws0 (a.k.a. `main`) binds `$PWD`; ws1+ bind clones at `${PENPOT_WORKSPACES_DIR}/wsN/` (default `~/.penpot/penpot_workspaces/`), maintained by the developer.
+- `penpotdev-wsN` (N=0,1,…): per-instance `main` + `redis` (Valkey). File: `docker-compose.main.yml`. ws0 (a.k.a. `main`) binds `$PWD`; ws1+ bind clones at `${PENPOT_WORKSPACES_DIR}/wsN/` (default `${XDG_DATA_HOME:-~/.local/share}/penpot-devenv/workspaces/`, or the former `~/.penpot/penpot_workspaces/` when it already exists), maintained by the developer.
- Optional overlay `docker-compose.opencode.yml`: added by `instance-compose` as an extra `-f` only when `PENPOT_OPENCODE_CONFIG_DIR` is set (i.e. `run-devenv --opencode-config-dir DIR` ran in this process). Bind-mounts the host dir at `/home/penpot/.config/opencode` (`:z`). Flag-only, per-call; not read from ambient env. Parser `parse-opencode-config-dir` absolutizes (`~`, realpath) because compose resolves relative bind sources against the compose file's dir. Only instances brought up with the flag get the mount.
- All projects join external network `penpot_shared`. Created idempotently by `ensure-devenv-network`, never removed by lifecycle commands.
diff --git a/.serena/memories/frontend/auth-events.md b/.serena/memories/frontend/auth-events.md
new file mode 100644
index 0000000000..2d532c3003
--- /dev/null
+++ b/.serena/memories/frontend/auth-events.md
@@ -0,0 +1,106 @@
+# Auth Events and the Session Origin
+
+`signin` is the frontend `identify` event emitted once per session from
+`logged-in` (`app.main.data.auth`). It carries the profile plus a closed
+vocabulary that says why the session started.
+
+## Vocabulary
+
+- `source`: `login` | `register`. Always present.
+- `auth-backend`: `penpot` | `ldap` | `google` | `github` | `gitlab` | `oidc`.
+ Same key the profile already uses. Always present.
+- `activation`: `immediate` | `email-verification`. Only on signups.
+- `from-invitation`: boolean. Always present in `signin`
+ (`(some? (:invitation-token profile))`); `auth-origin` omits it when `nil`.
+
+`auth-origin` (public, validated against `schema:auth-origin`) drops the nil
+fields and checks with `(assert (sm/check ...))`: it throws in development and
+tests, and `:elide-asserts true` removes it from the release build, so a bad
+value can never break a real login. Emitters never call it directly.
+
+## Where each value comes from
+
+- `source` and `activation` travel as profile metadata (`::ev/source`,
+ `::ev/activation`), written by `origin-meta`. `login-from-token` derives both
+ from the token issuer with `iss->origin`: `:auth` → `login`; `:verify-email` →
+ `register` + `email-verification`. An unknown `:iss` produces no metadata, so
+ the assertion fires in development and the event goes without `:source` in
+ production.
+- `auth-backend` and `from-invitation` are read from the profile.
+- `profile-origin` composes the four and `logged-in` merges them into the event;
+ the emitters only declare the fact.
+
+| Flow | `source` | `activation` | `from-invitation` |
+|---|---|---|---|
+| Password login | login | | false |
+| Password login from an invitation link | login | | true |
+| LDAP login | login | | false |
+| Social login, existing active profile | login | | false |
+| Signup, email verification disabled | register | immediate | false |
+| Signup, email verification enabled | register | email-verification | false |
+| Social signup, active profile | register | immediate | false |
+| Social signup, inactive profile | register | email-verification | false |
+| Signup from an invitation link, email verification disabled | register | immediate | true |
+| Signup from an invitation link, email verification enabled | register | email-verification | true |
+| Social login from an invitation link | login | | true |
+| Social signup from an invitation link, email verification enabled | register | email-verification | true |
+| LDAP login from an invitation link | login | | true |
+
+LDAP is the explicit exception: the directory provisions the account on the
+first login, but there is no user signup, so the flow is always `login` and
+never carries `activation`. Do not "fix" it by inferring a signup.
+
+## Invitations go through `logged-in`
+
+- `login-from-register` accepts an optional `:invitation-token`;
+ `with-register-origin` decorates the profile and `logged-in` does the rest.
+ The four places that used to navigate by hand to `:auth-verify-token`
+ (`ui/auth/register.cljs` twice, `ui/static.cljs`, `ui/auth/login_modal.cljs`)
+ emit `login-from-register` with the token. The modal used to live in
+ `ui/viewer/login.cljs`; it was extracted to the shared
+ `ui/auth/login_modal.cljs` (`login-register-modal*`, also used by
+ `ui/mcp_authorize.cljs`).
+- The invitation navigates through `get-invitation-nav`, which does not wait for
+ `::dtm/teams-fetched`: `fetch-teams` has no error handling, so depending on it
+ would leave the invitation unaccepted when `get-teams` fails. For invited
+ profiles `get-redirect-events` emits `rx/empty`, so the teams path cannot move
+ the user away from the token verification screen.
+- The OIDC callback with an invitation mints an `:auth` token that carries the
+ invitation JWE in its claims (`backend/src/app/auth/oidc.clj`), so the
+ frontend follows the regular path (`login-from-token` → `logged-in`). That
+ flow visits the token verification screen twice.
+- `ui/auth/login_modal.cljs` (the register modal: `:is-active` branch calls
+ `on-close`, or `on-register` when the caller passes one, as in the MCP
+ authorize flow) and `ui/static.cljs` (`rt/reload true`) `:is-active`
+ branches still bypass `logged-in`; they are a separate decision, not an
+ oversight.
+
+## Backend side
+
+- The `register-profile` success branches
+ (`backend/src/app/rpc/commands/auth.clj`) put `activation` in the event props
+ and emit **no** `action`: the name already says it is a signup, and a constant
+ action would only add noise. The retry branches
+ (`register-profile-retry`) keep `action` in `context`
+ (`ignore-because-blocked`, `ignore`, `resend-email-verification`,
+ `ignore-because-complaints`), where it distinguishes outcomes.
+- The LDAP invitation branch of `login-with-ldap` returns the full profile plus
+ `:invitation-token`; a partial map would break the `auth-origin` assertion.
+- `register-profile` does not accept the invitation: it mints the session and
+ returns the token. The acceptance is `accept-team-invitation`, emitted from
+ `verify-token`.
+- `filter-telemetry-props` keeps `source` and `activation` in the anonymised
+ row; `:action` is not on the allowlist.
+
+## Analytics
+
+- `register-profile` is a track event, so the props adapter forwards
+ `activation` with no extra work.
+- `signin` is an identify event built from a closed list of profile keys. It
+ only reaches analytics if the identify branch of Nexus forwards `source`,
+ `activation` and `from_invitation` (`external/nexus`, another repository).
+
+## `::ev/source` is no longer dead metadata
+
+It is read by `profile-origin`. Do not remove it as unused, and keep the
+vocabulary in sync with `schema:auth-origin` and the table above.
diff --git a/.serena/memories/frontend/cljs-repl.md b/.serena/memories/frontend/cljs-repl.md
index 67bb71ee67..d900ac4bc5 100644
--- a/.serena/memories/frontend/cljs-repl.md
+++ b/.serena/memories/frontend/cljs-repl.md
@@ -49,16 +49,23 @@ Get `team-id` from `(:current-team-id @app.main.store/state)`. Get file ids from
## Runtime patching with `set!`
-Some frontend vars are deliberately mutable escape hatches for runtime instrumentation or circular-dependency patching. From `cljs_repl`, use `set!` for temporary debugging of CLJS vars such as `app.main.store/on-event`, `app.main.errors/reload-file`, `app.main.errors/is-plugin-error?`, `app.main.errors/last-report`, or `app.main.errors/last-exception`. These patches affect only the live browser runtime and disappear on reload or recompilation.
+Some frontend vars are deliberately mutable escape hatches for runtime instrumentation or circular-dependency patching. From `cljs_repl`, use `set!` for temporary debugging of CLJS vars such as `app.main.errors/reload-file`, `app.main.errors/is-plugin-error?`, `app.main.errors/last-report`, or `app.main.errors/last-exception`. These patches affect only the live browser runtime and disappear on reload or recompilation.
+
+`set!` on `app.main.store/on-event` does nothing at runtime: the store captured the function when it was created. To watch events, subscribe to the store stream and dispose the subscription after:
```clojure
;; Log non-noisy Potok events temporarily.
-(set! app.main.store/on-event
- (fn [event]
- (when (potok.v2.core/event? event)
- (.log js/console (potok.v2.core/repr-event event)))))
+(def sub
+ (beicon.v2.core/subs!
+ (fn [event]
+ (when (potok.v2.core/event? event)
+ (.log js/console (potok.v2.core/repr-event event))))
+ app.main.store/stream))
+;; (beicon.v2.core/dispose! sub)
```
+`cljs_repl` starts every call in `cljs.user`; begin a call with `(in-ns 'my-ns)` to reuse helpers defined in another namespace.
+
Restore mutable hooks after debugging, or reload the frontend. Use JVM `alter-var-root` only for JVM Clojure; it is not the normal way to patch live CLJS browser vars.
## Browser-console debug namespace
diff --git a/.serena/memories/frontend/core.md b/.serena/memories/frontend/core.md
index 9afe4e20a7..139859bc98 100644
--- a/.serena/memories/frontend/core.md
+++ b/.serena/memories/frontend/core.md
@@ -46,6 +46,7 @@ Workspace behavior:
App shell and product flows:
- Routing, root app shell, websocket, and global errors: `mem:frontend/routing-app-shell-subtleties`.
+- Authentication events, the session origin vocabulary, and the invitation flow: `mem:frontend/auth-events`.
- Dashboard and viewer flows: `mem:frontend/dashboard-viewer-subtleties`.
- Plugin JS API runtime inside the frontend app: `mem:frontend/plugin-api-to-cljs-binding`.
diff --git a/.serena/memories/frontend/dashboard-viewer-subtleties.md b/.serena/memories/frontend/dashboard-viewer-subtleties.md
index fd5df5962b..14471e7195 100644
--- a/.serena/memories/frontend/dashboard-viewer-subtleties.md
+++ b/.serena/memories/frontend/dashboard-viewer-subtleties.md
@@ -7,6 +7,7 @@
- Dashboard file/project mutations are often optimistic local updates with fire-and-forget RPC watchers. Bulk permanent delete/restore paths use SSE progress and progress notifications.
- The import wizard runs the package as a job of the backend: it reads the manifest of the file in the main thread (`app.main.data.imports`, no web worker) and follows the job, so its header paints the milestone of the job (the stage and its counter) instead of the messages the old SSE stream sent; every file of a container reports the same milestone, so `jp/current-milestone-text` writes it once and the rows never repeat it. Before the job exists, the header paints a client-side `:upload` milestone built from the chunked upload (`uploads/upload-blob-chunked` `:on-progress`, chunks done/total), which never comes from the backend; the chunks go one at a time and it writes them as a percentage of the file, not as a counter. Once created and still waiting for a worker, no row says anything: the header says the import waits for a slot while no job of it has started. The bar of the header measures the whole import, never a file: indeterminate while checking, waiting for a slot or rebuilding, because the client cannot know a global index and total of operations. The upload is the exception — the chunked upload knows its chunks, so the bar is determinate while the containers are sent, weighted by their size (`imp/upload-pct` over `:container-size`, the only percentage the client really knows). The export modal follows the same one-job-per-file model, but every file is queued up front (even the ones whose job is created only after the previous one is over) and its queue ends only with a milestone: `:start`/`:retry` do not end it there. Neither modal paints a generic "…ing file…" line on the rows any more: the rows of the import wizard carry only what is not progress — the name, the size, `Ready` once their container finished uploading, and the error text —, and the button that drops a file only shows while the wizard still offers its import step (the confirmation screen). Above the rows, the import wizard paints a stepper (Check/Upload/Import) plus one phase line: `imp/import-step` derives the step from the dialog status and the entries (upload holds while any file is pending, either `:import-ready` or carrying its own `:upload` milestone), so Check covers analyze, Upload covers the chunked client-side upload, and Import covers queue plus job. A file of a version 3 package shows what it occupies inside its container, computed while analyzing (`imp/file-sizes`): its own `files/…` entries plus the storage objects its media and thumbnails reference, whose metadata is the only link to `objects/…`. The container's own size stays in `:container-size` (what the dropped file weighs) and is what the upload bar weighs, never what a row shows. A file the manifest lists but the container holds no entry of has no size at all, and its row then shows no subtitle: what the package weighs never stands in for it. The subtitle is the size alone, with no extension. While analyzing with no failures nothing renders below the phase header — no rows, no spinner (`imp/awaiting-analysis?`); the header text is the only "Checking…" message. Rows appear once the analysis resolves (one per file inside the package), and a failed analysis takes the error-summary path instead. The ready step and its Continue wait for the end of the analysis (`imp/ready-to-import?`, fed with the completion of `imp/analyze`): a ready file is not enough, because the files still to arrive would never be imported. While rebuilding, the phase title counts the files and `imp/imported-count` counts them done with the job's own `:files` counter, so the number moves while a container rebuilds its files one by one. The `:error` of an import entry is user-facing text (the backend hint, or a translated label), never an i18n key: the wizard renders it as-is, it does not translate it again. The link-later step takes the file id from the `:id` of its resolution entry, never from the key of the resolution map: the map comes from the job result, so what a key holds depends on the result schema of the job-def that wrote it, while the wizard indexes its selection by the id of the entry. The legacy SSE import stays in the backend for other clients.
- File creation/duplication strips file `:data` before putting file summaries into dashboard state.
+- The pending invitations are a team-admin only list (backend `:is-admin` already includes the owner). The dashboard hides the invitations entry from the header tabs and the team-options dropdown for non-admins, `invitations-section-content` keys the section on `:is-admin`, and `fetch-invitations` answers `insufficient-permissions` by emitting `invitations-fetched` with `[]`, so a demoted admin does not keep the cached emails and the header does not paint the invite button from a stale list. The organization `send-invitations` policy only gates inviting and resending, not the list.
## Viewer
diff --git a/.serena/memories/frontend/plugin-api-to-cljs-binding.md b/.serena/memories/frontend/plugin-api-to-cljs-binding.md
index 8536ad245c..080c4b009c 100644
--- a/.serena/memories/frontend/plugin-api-to-cljs-binding.md
+++ b/.serena/memories/frontend/plugin-api-to-cljs-binding.md
@@ -23,6 +23,9 @@
- Public Plugin API objects are lightweight handles, not durable snapshots. Most getters locate fresh state from `app.main.store/state` using hidden `$id`, `$file`, `$page`, etc.
- `not-valid` logs by default but throws when the plugin flag `throwValidationErrors` is enabled. The MCP execute-code handler deliberately enables that flag while running code.
+- A write to a removed shape always throws `Shape not found`, whatever that flag: setters through the shape proxy's `:on-set u/check-shape-writable` (runs outside the error handling), and methods that must not vanish silently (`resize`, `rotate`) call `u/check-shape-located` first. Methods run inside `:on-error (u/handle-error ...)`, which logs instead of throwing when the flag is off, so it rethrows errors whose `ex-data :type` is `::u/shape-not-found` or `::r/read-only`.
+- A write while the workspace cannot take it (`r/read-only-reason`: save-failure lock `[:workspace-global :persistence-lock]`, `[:permissions :can-edit]` false, version preview `:preview-id`, lost render context `[:render-state :lost]`) always throws, whatever that flag. The `[:workspace-global :read-only?]` flag alone does not block: the Inspect tab sets it and plugins may still write. `r/check-permission` with `content:write`/`library:write` calls `r/check-writable` first, which covers most writers; writers without a permission check (most top-level context methods in `api.cljs`: `create*`, `group`, `align*`, …; z-order methods; text range `applyTypography`; ruler guide `remove`) call `r/check-writable` themselves, and shape setters get it through `u/check-shape-writable`. A new writer without a write-permission check must call it too. An async writer calls it again after each server await, before the next server write or commit (`rx/tap` on the response stream; `dwm/create-svg-shape-with-images` takes it as `:check-writable`), so a lock that lands mid-way rejects the promise with the read-only error. `r/has-permission?` is the check without it, used by the undo blocks so a block opened before a lock still closes. Comments (`comment:write`) stay writable: they do not go through file saves.
+- `penpotMgmt` (`app.plugins.management`) checks permissions with `r/has-permission?` (`granted?`), never `r/check-permission`: its calls act on files through the backend, often from the dashboard with no file open, so the workspace read-only check (`check-writable`) must not block them.
- `naturalChildOrdering` and `throwValidationErrors` are stored per plugin under `[:plugins :flags plugin-id ...]`; changing default behavior affects automation and MCP diagnostics.
- Plugin data is stored under keyword namespaces: private data uses `(keyword "plugin" plugin-id)`, shared data uses `(keyword "shared" namespace)`.
@@ -31,4 +34,5 @@
- Plugin listeners are watches on the global store and callbacks are debounced about 10ms. Callback exceptions are caught and logged so plugin code does not crash the app.
- `selectionchange` callbacks receive arrays of shape id strings, while `filechange`, `pagechange`, and `shapechange` return proxies.
- `contentsave` fires only when persistence status transitions to `:saved`; it calls the callback with no value.
+- `contentrollback` is not a state watch: it subscribes to `st/stream` for `::dps/rolled-back` (kept in `subscriptions`, disposed by `remove-listener`), not debounced, delivered async so the reverted state is in place. Payload `{fileIds pageIds shapeIds}` from `pcm/rollback-targets` (page shapes only, from the reverted commits' redo changes). When the rollback falls back to reloading the file, `::dps/rolled-back` waits for the reloaded data, so the callback never reads the rejected data. The runtime's `validEvents` must list every event name, or `penpot.on` rejects it; a stale runtime build rejects new events. The MCP plugin forwards these rollbacks with the next task response and the server puts a warning first in that tool response (`RollbackNotices`). Unsent ones survive a tab or plugin reload in `penpot.localStorage` (key `rollbacks/`, `LocalStorageRollbackStore`; the MCP manifest in `app.main.data.workspace.mcp` and `mcp/packages/plugin/public/manifest.json` grant `allow:localstorage`, which the runtime checks on access); the entry goes once a response carried them.
- Plugin history `undoBlockBegin` creates a workspace undo transaction with a JS `Symbol`; `undoBlockFinish` commits that symbol. Missing finish eventually relies on the workspace transaction timeout.
\ No newline at end of file
diff --git a/.serena/memories/frontend/testing.md b/.serena/memories/frontend/testing.md
index 7c6bfec777..37f5304395 100644
--- a/.serena/memories/frontend/testing.md
+++ b/.serena/memories/frontend/testing.md
@@ -39,6 +39,7 @@ To assert over emitted event sequences, observe termination: subscribe through `
- Auto-answering mocks lose deadline expressiveness (can't time answers), need teardown timer-cancellation, and post-teardown deliveries hit real implementations — explicit pushes + async delivery + `wait-for` won on every axis.
- Teardown belongs to the terminal continuation, never to `finally`-around-triggers (it would dispose in-flight flows).
- A body that awaits must be `(^:async fn …)` even if the rest is sync; sync sequences are atomic vs the event loop.
+- The `:esm` test build cannot load the CommonJS `sax` module behind `tubax`, so SVG parsing fails in tests (`dwm/valid-svg-string?` answers false, `dwm/svg->clj` errors): mock both with the parsed data.
From `frontend/`:
- Full unit test run (always builds, suppressed output): `pnpm run test:quiet`.
diff --git a/.serena/memories/frontend/workspace-state-persistence-subtleties.md b/.serena/memories/frontend/workspace-state-persistence-subtleties.md
index eee6de48b8..6d2b111eea 100644
--- a/.serena/memories/frontend/workspace-state-persistence-subtleties.md
+++ b/.serena/memories/frontend/workspace-state-persistence-subtleties.md
@@ -7,6 +7,7 @@
- `ongoing-tasks` controls `window.onbeforeunload`: any non-empty set blocks tab unload.
- `app.main.streams/wasm-modifiers` and `workspace-selrect` are behavior subjects used for high-frequency interactive preview state that bypasses normal store updates and lenses.
- Keyboard modifier streams merge a window blur signal so stuck modifier-key state is cleared after focus loss.
+- Focus mode (`dws/toggle-focus-mode`) keeps a watcher on page objects that adds new shapes to `:workspace-focus-selected` and drops removed ones; when the set empties (delete, rollback) `update-focus-shapes` leaves focus mode (`::focus-mode-left` stops the watcher) and both exits restore the pre-focus selection without removed shapes. Without it the next drawn shape re-armed focus mode alone.
## Repo calls
@@ -14,29 +15,38 @@
- `repo/retryable-types` is public and is the single source of truth for the transient transport classification. `persistence/transient-error?` and `errors/environment-error-types` both derive from it; extend that set, never copy it.
- GET retry is limited to transient `:network`, `:bad-gateway`, `:service-unavailable`, `:gateway-error` (504, Cloudflare 52x), and `:offline` errors with exponential backoff. Mutations are not retried.
- A server SSE response is only accepted when the command is configured `:stream?`; otherwise it raises an unexpected-response assertion.
+- `rp/cmd!` is a multimethod: to spy on a command from the REPL, `defmethod` it around `(get-method rp/cmd! :default)` and `remove-method` after; `set!` on the var or its arity property breaks every call.
## Commits, undo, persistence
-- `commit-changes` refuses to create commits unless `:permissions :can-edit` is true. It captures file revn/vern, selected-before, features, tags, undo group, and translation flag into a `::commit` event. A refusal answers with an empty stream, never nil, so callers subscribe uniformly instead of branching on nil.
-- Applying a remote commit first rolls back pending local commits, applies the remote changes, then replays pending local redo changes. Index updates are emitted for undo, remote redo, and replayed redo paths.
+- `commit-changes` refuses to create commits unless `:permissions :can-edit` is true, and while the save-failure lock holds (`plk/locked?`) unless the params carry `:ignore-save-lock true`: only `compensate-commits` (rollbacks run while locked: a role-change release, a slow-cycle answer `:rejected`), the two `#{:position-data}` commits and `dwl/touch-component` (derived from commits already made). Every other commit, user edit or not (deleted-font fix, stale-text resize, component sync), is refused while locked; never add an origin list. Remote commits go through `dch/commit`, never refused. It captures file revn/vern, selected-before, features, tags, undo group, and translation flag into a `::commit` event. A refusal answers with an empty stream, never nil, so callers subscribe uniformly instead of branching on nil.
+- Applying a remote commit first rolls back the pending local commits of its own file (`pcm/pending-commits`: queued entries, then `[:persistence :buffer]`; other files' commits never touch its data), applies the remote changes, then replays pending local redo changes. Index updates are emitted for undo, remote redo, and replayed redo paths. Leaving the buffer out makes a remote change to the same attr win locally but lose on the server.
- Local commits are independently consumed by undo, persistence, WASM model updates, thumbnail/library watchers, and text position-data recalculation.
-- Persistence buffers local commits: status becomes pending after about 200ms, commits are flushed after about 3s or `::force-persist`, and buffered commits are merged per file before `:update-file`.
+- Persistence buffers local commits in the store (`buffer-commit` → `[:persistence :buffer]`, stamped with `:remote-seq`): status becomes pending after about 200ms; the 3s debounce or `::force-persist` emits `flush-buffer`, which merges the buffer per file into `append-commit`s, and each append removes its own commits from the buffer (a commit arriving mid-flush stays). `initialize-persistence-state` flushes a leftover buffer. Queue entries (`pcm/queue-entry`) hold the entry keys of the first commit (id, created-at, origin, features, file-id/revn/vern) and `:commits` (id, origin, undo-group, redo/undo changes, remote-seq of each merged commit), no merged change lists; every reader goes through `:commits`. The save sends `:changes-with-metadata`, one group per commit with `:commit-id`, never flat `:changes`.
+- A save answered with `:rejected` (backend kept the commits before the first failing one, see `mem:backend/subtleties`) is not a failure: `rollback-rejected` runs before `commit-persisted`. The unit is the undo group (one user action, which can commit to several files, e.g. `update-component` writes the copy's file and the library, and `component-changed` syncs inherit the edit's group; multi-file actions must share a non-nil group): the pure bookkeeping lives in `app.main.data.persistence.commits` (`pcm`): `pcm/rollback-plan` reverts, in the saved file, the pending commits from the first rejected one on, and in any file the pending commits from the first one of a reverted group on, iterating until no new group appears; other files' unrelated commits stay. `pcm/without-rolled-back` drops pending reverted commits from queue entries (partial entries trimmed, empty ones leave the queue) and the buffer; saved commits of a reverted group (the head's kept ones, and `:saved`, which `keep-saved-commits` fills on `discard-commit` with saved commits whose group a pending commit still shares) are undone by a new `save-undo? false` commit (`compensate-commits`, flushed like any edit); for a file whose data is not loaded the undo goes straight to the queue as an entry, nothing applied locally. Per file, `dch/rebase-commits` undoes every pending commit newest first, re-applies the remote changes kept since the oldest pending commit, and redoes the pending commits that stay. Undo changes hold absolute values from commit time, so undoing only the rejected commits would overwrite a peer's later change to the same attr. Remote changes are numbered (`record-remote-changes`, `[:persistence :remote-seq]`; it also keeps the highest received revn per file in `:remote-revn`) and kept per file under `:remote-changes` only while the file has pending commits; `prune-remote-changes` (discard, release) forgets those at or below the oldest pending stamp, since re-applying them would undo saved edits. Then `dwu/forget-undo-groups groups undo-index` (cut history before the first entry whose `:undo-groups` — every group the entry holds, filled by `append-undo`, transactions and stacking — meets a reverted group; no match keeps the history; the open transaction is emptied only when cut or holding one, keeping its group for later commits; a reverted Ctrl+Z/Ctrl+Shift+Z commit, which carries real `:undo-changes` and `:undo-index` (the index it moved from, kept by `pcm` commit-keys), puts the index back to the plan's `:undo-index`, the oldest one's; background commits with `:undo-changes []` (position-data, component `modified-at`, deleted-font fixes) stay on screen after a rollback by design), selection pruned and edition mode left when the edited shape is gone, or when it is a path being edited that the rollback changed: `discard-path-edit` drops `[:workspace-local :edit-path id]` first, so `finalize-path-content` sees no `:old-content` and the editor's stale copy is never saved (`prune-removed-shapes` takes the edited object from before the rebase to compare). Text editions stay open: the v3 WASM editor already shows the reverted text, and the v2 editor resets its DOM root from the shape on `::rolled-back` when the text differs (and, under WASM, emits `v2-sync-wasm-text-layout` so the canvas and size follow), since its unmount `on-blur` would otherwise save the stale DOM content (`prune-removed-shapes`; `v2-update-text-shape-content` also skips a missing shape, so the editor's exit commits nothing), `errors/flash` `:unhandled` toast, text/tag/timeout from `rejection-notice`: a file other than `:current-file-id` is named (`errors.save-rejected-changes-undone-in-file`, tag `:persistence-rejected-other-file`; generic text when `:files` has no name); a `:preexisting-damage` answer says the page data is damaged (`errors.save-rejected-damaged-data`); otherwise `errors.save-rejected-changes-undone` (says the latest changes were undone: edits made while the save was in flight go too), tag `dps/rejected-tag`, hidden after `rejected-timeout-ms` (10 s). Single-toast store: the backend repair notice (`dps/notify-repaired`, emitted by `handle-file-change` on `:repaired`, sticky, tag `dps/file-repaired-tag`) and a rejection notice of the open file fold into one sticky warning (`workspace.notifications.file-repaired-changes-undone`, tag `dps/repaired-rejected-tag`) whichever comes second, keeping the rejection's report link, so neither is lost. It ends with `(ptk/data-event ::rolled-back (pcm/rollback-targets plan))` (`:file-ids :page-ids :shape-ids :comment-thread-ids`), emitted by `notify-rolled-back` once the reverted data is in the state: when a rebase failed (its deref has `:failed true`) it waits for the reload's `::dw/bundle-fetched` (`::dw/all-libraries-resolved` when a library failed) and is dropped on `finalize-workspace`; the reload replaces the whole file, so shapes outside the listed ids may change too. Comment positions are saved by their own RPC, not by `update-file`, so `dwcm/watch-comment-thread-position-changes` reacts to it: threads of reverted `:set-comment-thread-position` changes get the restored page-data position in `:comment-threads` and on the server (`update-comment-thread-position`), and threads left on a frame the rollback removed move to `uuid/zero` (`update-comment-thread-frame`, as `detach-comment-thread` on delete). `dwl/sync-file` also waits for it or `wait-persisted` and marks the library synced only on a landed save (on rollback it restores `:synced-at` and re-checks updates after the rollback's own save; on a failed save it restores `:synced-at` and does the same re-check on the file's next `::rolled-back`, i.e. the role-change release, until `finalize-workspace`). `update-status` ignores `:pending` when buffer and queue are empty (`nothing-to-save?`): a dropped commit's 200 ms pending debounce would otherwise leave the status stuck and `wait-persisted-or-error` waiting forever. `prune-removed-shapes` also closes a `:colorpicker` modal. `rebase-commits` is not a commit (not saved/broadcast/undoable, commit watchers miss it) and falls back to `::dw/reload-current-file` if applying throws; once it ran, its deref gives `{:file-id :changes :failed}`. Thumbnails read that: `dwl/watch-component-changes` checks each rebase against the data before it (`ch/components-changed`) and re-renders and uploads the thumbnails of the mains it changed (`update-component-thumbnail`), and the SVG `dwth/watch-state-changes` takes rebases as commits (clears and re-renders frame thumbnails). The WASM `render-thumbnail :persist? true` skips the upload when the main's subtree changed during the render (that change brings its own render), so a render of rejected data that finishes after the rollback is not stored. `debug.commitInvalidChange({kind, before, after})` forces such a rejection live.
- Persistence sends revn as the max of the commit revn and locally tracked latest revn; remote commits update that revn tracker.
+- Save answer `{:revn (pre-update) :lagged [rows revn > sent revn, created-at order, own row last] :rejected?}`. `settle-saved-commit` replaces a direct `commit-persisted`: for the current file, when the last `:lagged` row is this session's (`:session-id state`) and a row of another session (a peer, or the backend repair session, whose `:file-change` `:repaired` message also reaches the saver) has revn > `:remote-revn`, the head entry gets `::awaiting` (attempt-state `:in-flight`, no resend) and stays pending until a remote commit with that revn arrives, so the normal remote rebase puts that row under the saved commits, as the server ordered them; then `commit-persisted`. Bounded: `unseen-changes-timeout-ms` (10 s, `rx/timer`) acknowledges and emits `::dw/reload-current-file`; `finalize-workspace` acknowledges at once. Repair changes are never applied from the HTTP answer; ws messages per file arrive in publish order, so max received revn is the seen test.
+- A reload to another version (peer restore; `pending-file-changes` already skips other-vern edits): `bundle-fetched` calls `dps/forget-other-versions` → `pcm/without-other-versions`: other-vern buffered and `:saved` commits dropped, other-vern queue entries kept but emptied (`:commits []`), remote changes pruned, a `:pending` status with nothing left turns `:saved`. So remote rebases and rollbacks never replay them on the reloaded data. `stale-commit?` (entry/commit `:file-vern` ≠ loaded file `:vern`, never when the file has no `:vern`): attempt-state `:stale` → acknowledged unsent; `rollback-rejected` of a stale entry does nothing (no rebase, toast or `::rolled-back`); `save-attempt-failed` drops a stale commit's failure (e.g. `:vern-conflict`) instead of halting. `merge-commit` groups the buffer by file and vern (one save carries one vern).
- Persistence is skipped in version preview/read-only mode or without edit permission.
-- A terminal failure halts the queue on purpose: the edits stay queued so `wait-persisted-or-error` keeps rejecting, and `workspace/versions.cljs` relies on that to avoid snapshotting a file whose edits were never saved. `recover-persistence` lifts the halt when a file is opened again or the role changes. A transport failure still inside its retry window (`slow-retry-pending?`) is resent once (`resume-persistence true`), never released; any other halt emits `release-failed-file` (drops every queued commit of the file that failed) then `resume-persistence`. Opening a file also replays the queued edits of its version onto the loaded data (`pending-file-changes` → `restore-pending-changes` in `bundle-fetched`); a replay that throws keeps the server data and the queue. That is what unblocks the editor without a reload; because the queue is shared, dropping the failed file is also what lets other files' pending edits drain. `release-failed-file` runs at recovery time, never at failure time — clearing the error eagerly would make waiters resolve.
+- The copy the backend keeps before a repair is a system snapshot labeled `internal/repair/` (`dwv/repair-snapshot?`). The History panel lists it as its own per-day group, "Before automatic repair, " (`workspace.versions.repair.version`), above that day's autosaves, and the preview banner uses the same label, so the repair notice's pointer to the version history can be followed.
+- Failing saves lock the workspace (`app.main.data.persistence.lock`, alias `plk`): `plk/failing?` (status `:error`, or `:recovering` while a slow-cycle attempt is in flight as `:saving`) drives `sync-failure-lock` (also on `change-team-role`), which locks only while `[:permissions :can-edit]`: a viewer, already read-only, gets the `:save-permission-denied` toast and never the save-lock banner; `lock-on-failure` stores the previous read-only value in `[:workspace-global :persistence-lock]` and sets `:read-only?`, then emits `::plk/cancel-gestures` before `:interrupt`: drags built on `plk/gesture-stopper` (transforms: move, resize, rotate, line endpoint; drawing: box, curve, line) see `cancelled?` and drop their preview (`dwt/cancel-transform`, `dwdc/cancel-drawing`) instead of committing; the pen tool and path edition rely on the lock's `clear-edition-mode` (drops the drawing object; `finalize-path-content` is refused); component gestures key on read-only: guides (`use-guide`) and flex padding/margin/gap (`fcc/use-read-only-cancel`) drop the drag when read-only turns on and ignore pointer-down while read-only, the grid editor's `use-drag` cancels on unmount mid-drag; the v2 text editor resets its DOM and WASM layout to the committed content on `::plk/cancel-gestures` (its typing commits debounced); `options-content*` shows only the read-only Inspect panel while the lock exists (it keys on the lock, never on `:read-only?`, which the Inspect tab sets too); `unlock-after-failure` restores it (into `[:render-state :pre-context-lost-read-only?]` instead while the WebGL context is lost, which keeps its own save/restore). `set-workspace-read-only` writes into the lock while it is held, so an Inspect/Design switch is not lost. `view-only-bar*` (`ui/workspace/viewport/top_bar.cljs`, shared by both renderers) shows the save error while the lock exists (text per `dps/save-retrying?`), hides its Done/exit button and takes priority over the context-loss message. No save-failure popup: page navigation, pan, zoom and inspection stay available. Once unlocked, the usual Inspect/context-loss message and action return. Plugin writes throw (`register/check-writable`) while locked, as a viewer, in a version preview and with the render context lost, but not for `:read-only?` alone (Inspect); async writes (`createShapeFromSvgWithImages`, `uploadMediaData`/`uploadMediaUrl`, `connectLibrary`) call `r/check-writable` again after their server await and reject with the read-only error (an image already uploaded stays on the server, unused); any other commit made while locked is refused at `commit-changes`. A peer's `:file-restored` (backend adds `:profile-id`, `:created-at` and, for a version a user named, `:label`) reloads the file and opens the `:file-restored` modal: who restored (profile, else the session's presence, else "A teammate"), the version by label, else date (`PPp`), and the "latest changes couldn't be saved" line when `dps/pending-file-changes` held edits of the replaced version, which the reload drops. Reloads (`::dw/reload-current-file`: restore, rebase fallback, `errors.cljs`) re-run `initialize-workspace` without `finalize-workspace` (that would drop file data, the save lock, modals and toasts). Every stream it starts (undo `append-undo`, position-data, stale-text resize, comment positions) also stops on a newer `::initialize-workspace`, and `dwsl/initialize-shape-layout`/`dwtxt/initialize-text-reflow` on a newer instance of themselves, so a reload never doubles undo entries or handlers. It emits a new `dwn/initialize`: a new `::dwn/initialize` ends the previous subscription; for the same file it sends no `unsubscribe-file` (the server keeps one file subscription per connection, so a late unsubscribe would end the new one), for another file it does. Without it each reload doubled message handling.
+- A terminal failure halts the queue on purpose: the edits stay queued so `wait-persisted-or-error` keeps rejecting, and `workspace/versions.cljs` relies on that to avoid snapshotting a file whose edits were never saved. Its rejection carries `::errors/handled? true` (the failure toast already showed), so `create-version` catches `:type :persistence` and shows `workspace.versions.create-failed-unsaved` instead of failing silently; the plugin variant rejects its promise. `recover-persistence` lifts the halt when a file is opened again or the role changes. A transport failure still inside its retry window (`slow-retry-pending?`) is resent once (`resume-persistence true`), never released; any other halt emits `release-failed-file` (drops every queued commit of the file that failed) then `resume-persistence`. Opening a file also replays the queued, then buffered, edits of its version onto the loaded data (`pending-file-changes` → `restore-pending-changes` in `bundle-fetched`); a replay that throws keeps the server data and the queue. That is what unblocks the editor without a reload; because the queue is shared, dropping the failed file is also what lets other files' pending edits drain. `release-failed-file` runs at recovery time, never at failure time — clearing the error eagerly would make waiters resolve.
- The split between `initialize-persistence-state` and `recover-persistence` is deliberate: initialization deliberately does NOT lift a halt, so undeliverable edits are released when the user acts, not when the view mounts.
-- **Every non-transport terminal save failure is permanent.** There is no "stale but valid" category: permission lost, file gone, and server-rejected changes all fail again on a resend. Losing edit permission is not temporary — the backend raises `:not-found` for it (`check-edition-permissions!` → `perms/make-check-fn`), and `:not-found` routes to the exception page. So `:save-permission-denied` (a client-side `can-edit` check) must never be resumed: replaying the save to discover that routes the user to the exception page. Release it instead.
-- Save failures split transient vs terminal (`transient-error?`: the repo retryable types `:network`/`:offline`/`:bad-gateway`/`:service-unavailable`/`:gateway-error`, plus `:invalid-save-response`, plus save-only `busy-server-error?`: `:rate-limit` (429 from rlimit/climit — a save parked on another save's file lock holds the profile's single `:update-file/by-profile` permit, so the user's saves to other files 429 after 60 s) and backend-written 504 `:server-error` with `:statement-timeout`/`:idle-in-transaction-timeout` (Postgres cancels the lock wait at 300 s, before nginx; rolled back, so resend is safe). Kept out of `rp/retryable-types` on purpose so GETs do not retry them; everything else is terminal). Terminal keeps the `:error` halt + `flash-persistence` path; transient enters a `:retrying` episode: the head commit stays queued and resends with backoff 2s/8s/20s (3 retries, then the `:error` path). A transient failure that outlasts the backoff arms `slow-retry-cycle`: one silent resend (`:recovering`) every `slow-retry-delay-ms` (30s) until a save lands, `retry-give-up-ms` (24h since `:failing-since`) passes, or the head commit collects `max-slow-failures` (3) attempts that failed after `slow-failure-ms` (90s) or more (`:slow-failures`, counted in `persistence-transient-failure` from the attempt's elapsed time): a gateway timeout may leave the backend applying the save, so a save that keeps failing slowly must not be replayed for a day, while fast failures (offline) never count; the cycle stops on `::resume-persistence`, `::initialize-persistence` and `finalize-workspace`. Leaving the workspace also emits `suspend-retries` (`:suspended` in `:persistence`, drops `:retry-token` so a pending backoff timer goes stale): no backoff, slow cycle or `online` resend runs outside the workspace; only `workspace-initialized` (not a role change) lifts it via `recover-persistence` (`opened-file?`), which also resends a `:retrying` episode whose backoff was cut short. Its toast is `errors.save-still-retrying` without a reload link; a landing save hides the failure toast (`errors/persistence-failed-tag`). Replaying a save is safe because changes are idempotent, so there is no unknown-outcome guard: a commit whose earlier request left `active-requests` is simply sent again under the same `:commit-id`; only a request still in flight blocks a resend (`:in-flight` stays silent). Tests hold the slow cycle by stubbing `rx/timer` to never fire for `slow-retry-delay-ms`, or instant timers loop forever. Retry timers carry the episode token; a superseded token stays silent. Status stays `:retrying` through re-entries (`next-status` refuses `:pending`/`:saving` from it); waiters (`wait-persisted-or-error`) wait through it and reject only on `:error`.
-- One reconnect notice per episode: sticky toast tagged `:persistence-reconnecting` (single-toast store, re-show replaces), hidden by tag on drain (`:saved`) and on terminal failure; recovery is silent. Header indicator has a `:retrying` state (`workspace.header.retrying`).
+- **Every non-transport terminal save failure is permanent** (a backend without commit-id groups still answers an invalid batch with a terminal `:validation`). There is no "stale but valid" category: permission lost, file gone, and server-rejected changes all fail again on a resend. Losing edit permission is not temporary — the backend raises `:not-found` for it (`check-edition-permissions!` → `perms/make-check-fn`), and a save's `:not-found` is a terminal save error that keeps the workspace open (`errors/delegated-persistence-types` is only `#{:authentication}`; a missing data fragment answers it too). So `:save-permission-denied` (a client-side `can-edit` check) must never be resumed. A role change that leaves `can-edit` false keeps it halted (the edits stay queued and on screen; `notify-kept-failure` shows the count toast again, since the single-toast store lets the role-change info toast replace it); the role change that brings edit rights back releases it. A release on a role change (`release-failed-file` with `revert?`, i.e. not on opening a file, whose data comes fresh from the server) also rolls the released commits back locally with `pcm/release-plan` (a `rollback-plan` rejecting every pending commit of the file) through `apply-rollback-plan`: rebase, compensation of saved commits of the same groups, undo-history cut, `prune-removed-shapes`, `::rolled-back`. Without it the canvas keeps showing edits the server never got. Its toast `errors.save-permission-lost` is plural over `:unsaved-commits` (`count-unsaved-commits`); plural keys need `(tr k (i18n/c n))`, a bare number renders the fallback text.
+- Save failures split transient vs terminal (`transient-error?`: the repo retryable types `:network`/`:offline`/`:bad-gateway`/`:service-unavailable`/`:gateway-error`, plus `:invalid-save-response`, plus save-only `busy-server-error?`: `:rate-limit` (429 from rlimit/climit — a save parked on another save's file lock holds the profile's single `:update-file/by-profile` permit, so the user's saves to other files 429 after 60 s) and backend-written 504 `:server-error` with `:statement-timeout`/`:idle-in-transaction-timeout` (Postgres cancels the lock wait at 300 s, before nginx; rolled back, so resend is safe). Kept out of `rp/retryable-types` on purpose so GETs do not retry them; everything else is terminal). Terminal keeps the `:error` halt + `flash-persistence` path; transient enters a `:retrying` episode: the head commit stays queued and resends with backoff 2s/8s/20s (3 retries, then the `:error` path). A transient failure that outlasts the backoff arms `slow-retry-cycle`: one silent resend (`:recovering`) every `slow-retry-delay-ms` (30s) until a save lands, `retry-give-up-ms` (24h since `:failing-since`) passes, or the head commit collects `max-slow-failures` (3) attempts that failed after `slow-failure-ms` (90s) or more (`:slow-failures`, counted in `persistence-transient-failure` from the attempt's elapsed time; the cap is checked there before any resend, fast backoff included, so a commit at the cap goes to `persistence-failed` at once; when the cycle stops, `end-stopped-slow-cycle` clears `:recovering`, so `save-retrying?` turns false and the banner shows the stopped copy): a gateway timeout may leave the backend applying the save, so a save that keeps failing slowly must not be replayed for a day, while fast failures (offline) never count; the cycle stops on `::resume-persistence`, `::initialize-persistence` and `finalize-workspace`. Leaving the workspace also emits `suspend-retries` (`:suspended` in `:persistence`, drops `:retry-token` so a pending backoff timer goes stale): no backoff, slow cycle or `online` resend runs outside the workspace; only `workspace-initialized` (not a role change) lifts it via `recover-persistence` (`opened-file?`), which also resends a `:retrying` episode whose backoff was cut short. Its toast is `errors.save-still-retrying` without a reload link; a landing save hides the failure toast (`errors/persistence-failed-tag`). Replaying a save is safe because changes are idempotent, so there is no unknown-outcome guard: a commit whose earlier request left `active-requests` is simply sent again under the same `:commit-id`; only a request still in flight blocks a resend (`:in-flight` stays silent). Tests hold the slow cycle by stubbing `rx/timer` to never fire for `slow-retry-delay-ms`, or instant timers loop forever. Retry timers carry the episode token; a superseded token stays silent. Status stays `:retrying` through re-entries (`next-status` refuses `:pending`/`:saving` from it); waiters (`wait-persisted-or-error`) wait through it and reject only on `:error`. `terminal-status?` releases waiters only with an empty queue and an empty buffer: `run-persistence-task` sets `:saved` as soon as the queue empties, even with commits still buffered (a slow save landing while later edits wait for the 3 s flush).
+- One reconnect notice per episode: sticky toast tagged `:persistence-reconnecting` (single-toast store, re-show replaces), hidden by tag on drain (`:saved`) and on terminal failure; recovery is silent. Its text follows the first failure: `busy-server-error?` (429, DB timeouts) says the server is busy (`errors.save-retrying-busy`), anything else that the connection was lost (`errors.save-retrying`); the slow-cycle toast does the same through `flash-persistence :busy` (`errors.save-still-retrying-busy`). Header indicator has a `:retrying` state (`workspace.header.retrying`).
- Resume triggers: backoff timer and the browser `online` event (guarded by `exists? js/window`; re-enters the runner only for a live `:retrying` episode). New local edits during `:retrying` only join the queue: the episode keeps its `:run-id`, so `append-commit` does not re-enter, and the live runner (still waiting on the head's `commit-persisted`) sends them after the head. Re-entering on edits would bypass the backoff and spend an attempt per batched commit.
- Tests instant-trigger retries by stubbing `rx/timer` (recording delays to assert the schedule); dynamic bindings do not survive `await` continuations, so no dynamic var for delays.
- `save-request-timeout-ms` is 7 minutes and wraps the `update-file` request in `rx/timeout`, failing it as a transient `:network` error so the retry path resends instead of blocking the queue forever. It is deliberately longer than `saving-stall-timeout-ms` (5 min) so the stalled report fires before the retry.
-- `sync-unload-guard` keeps `:persistence` in `st/ongoing-tasks` while edits are buffered or queued, which is what holds the browser leave-page warning on. It syncs on `::append-commit`, `::discard-commit` and `::release-failed-file` (every queue change). It is the one effect that must stay in `store.cljs`'s `omitset`, and `store.cljs`'s `ongoing-tasks` watcher is guarded by `exists? js/window` because tests run without a window.
-- `leave-signals` (document `visibilitychange`→hidden, window `blur`) emits `::force-persist` when edits are buffered, so leaving the tab/window sends the 3 s batch at once; tests mock `dps/leave-signals` BEFORE `initialize-persistence` runs. pagehide/beforeunload are too late for an async save.
+- `sync-unload-guard` keeps `:persistence` in `st/ongoing-tasks` while edits are buffered or queued, which is what holds the browser leave-page warning on. It reads `[:persistence :buffer]` and `:queue` and syncs on `::buffer-commit`, `::append-commit`, `::discard-commit` and `::release-failed-file` (every buffer and queue change). It is the one effect that must stay in `store.cljs`'s `omitset`, and `store.cljs`'s `ongoing-tasks` watcher is guarded by `exists? js/window` because tests run without a window.
+- `leave-signals` (document `visibilitychange`→hidden, window `blur`) emits `persist-buffered`, which forces a save when `[:persistence :buffer]` is not empty, so leaving the tab/window sends the 3 s batch at once; tests mock `dps/leave-signals` BEFORE `initialize-persistence` runs. pagehide/beforeunload are too late for an async save.
+- Exports (exporter and client/WASM PDF/SVG/PNG alike), the dashboard `dd/duplicate-files` and the `.penpot` download call `force-persist-files-and-wait file-ids timeout` first. A client export draws local data, so its warning says the export includes unsaved changes (`workspace.export.unsaved-changes-included`); exporter exports and the duplicate copy server data and warn they miss them. `duplicate-files` owns its one toast, shown once every copy exists: the plural `dashboard.duplicate-unsaved-changes` warning when the files had unsaved changes before the copy request, else the success toast; a failed copy errors the stream, so neither shows (the file menu must not emit its own success toast, the single-toast store would let it replace the warning).
- Exports and the `.penpot` download call `force-persist-files-and-wait file-ids timeout` (waits only for those files, ends on `:error` or timeout, never raises) and then `unsaved-changes? state file-ids` to warn; it reads `refs/persistence`, so tests mock it with `(l/derived :persistence store)`.
-- `persistence-failed` emits a `save-failed` audit event (`:cause-type :code :retrying :queued-commits`) whenever the user is notified (`notify-failure?`, same rule as the toast), including delegated auth/not-found failures.
+- `persistence-failed` emits a `save-failed` audit event (`:cause-type :code :retrying :queued-commits`) whenever the user is notified (`notify-failure?`, same rule as the toast), including delegated auth failures.
+- `start-undo-transaction` stamps the transaction with a fresh `:commit-group` (dropped from the history entry); `commit-changes` uses `(or undo-group (:undo-group tx) (:commit-group tx) (uuid/next))`, so all commits of one transaction are one rollback unit. Pre-setting `:undo-group` instead breaks entries whose group is set later (sync transactions).
- Undo transactions can stay open only temporarily; timed-out pending transactions are force-committed after about 20s. Undo entries are capped at 50.
-- Undo/redo are ignored while a normal editor/drawing interaction is active, except grid-layout edition handles undo through this path.
+- Undo/redo are ignored while a normal editor/drawing interaction is active, except grid-layout edition handles undo through this path. `undo`, `redo` and `undo-to-index` also do nothing while the save lock holds: `materialize-undo` would move the index while the commit is refused.
+- Undo entries carry a required boolean `:translation` (`schema:undo-entry` rejects an entry without it; `initialize-workspace` sets it when it records a local commit) and `undo`, `redo` and `undo-to-index` pass it back to `commit-changes`, so replaying a pure move skips component sync and thumbnails like the original commit did. Merging ANDs the flags: `stack-undo-entry`, `accumulate-undo-entry` (`empty-tx` starts at true) and undo groups in `undo-to-index` (`every?`). Test harnesses that mirror the recorder (`tokens/helpers/state.cljs`, `composable_tests/interpreter.cljs`) must pass it too.
- After local commits and when render-wasm is active, text shapes get derived `:position-data` recomputed in a separate commit tagged `#{:position-data}`; that tag is excluded from the position-data watcher to avoid loops.
## Refs
diff --git a/.serena/memories/frontend/workspace-transform-subtleties.md b/.serena/memories/frontend/workspace-transform-subtleties.md
index 958e121c9c..c96e68bca3 100644
--- a/.serena/memories/frontend/workspace-transform-subtleties.md
+++ b/.serena/memories/frontend/workspace-transform-subtleties.md
@@ -6,6 +6,7 @@
- `apply-modifiers*` is the lower-level commit path once object/text modifiers are ready. It updates frame guides, frame comment threads, and then emits `update-shapes` with `:reg-objects? true`.
- Transform commits restrict diff attrs to `transform-attrs` to avoid scanning unrelated shape attrs.
- Text transforms may carry derived `:position-data`; `assoc-position-data` attaches it while preserving the original text shape context.
+- A drag commits when its `mse/drag-stopper` fires, `:interrupt` (Escape) included. The save-failure lock emits `::plk/cancel-gestures` first: drags built on `plk/gesture-stopper` (start-move, start-resize, start-rotate, start-move-line-point, box/curve/line drawing) see a `cancelled?` flag set before the stop and emit `dwt/cancel-transform` (`clear-local-transform` + `finish-transform`) or `cancel-drawing` instead. A new drag gesture must use it (or, in a component, drop the drag when read-only turns on): `commit-changes` refuses the commit anyway, but the preview (WASM modifiers/props) would stay.
## Component-copy touched suppression
diff --git a/.serena/memories/mcp/core.md b/.serena/memories/mcp/core.md
index dbc4b85b92..8ca829c32f 100644
--- a/.serena/memories/mcp/core.md
+++ b/.serena/memories/mcp/core.md
@@ -57,7 +57,7 @@ mcp/
│ ├── src/
│ │ ├── main.ts # handles communication
│ │ └── plugin.ts # plugin implementation
-│ └── package.json # Includes @penpot-mcp/common dependency
+│ └── package.json # Plugin deps: published plugin-styles, linked plugin-types
└── prepare-api-docs # Python project for the generation of API docs
```
@@ -107,6 +107,13 @@ From the `mcp/` directory, run
(node reports `Promise resolution is still pending but the event loop has
already resolved` for the file's root test). Inside tests the logger writes to
stdout directly. `NODE_TEST_CONTEXT` is the env var `node --test` sets.
+* `packages/plugin` takes `@penpot/plugin-styles` from the registry but links
+ `@penpot/plugin-types` to `plugins/libs/plugin-types` (`link:` in the manifest
+ and in `mcp/pnpm-lock.yaml`, with no registry entry, because a linked package
+ has no resolution): the published types do not declare the `penpotMgmt`
+ global the plugin needs. On a plugins libs version bump, only the styles
+ version moves. After editing the manifest, `pnpm install --lockfile-only` in
+ `mcp/` must leave the lock untouched.
* Cross-cutting testing principles and anti-patterns: `mem:testing`.
## OAuth for remote MCP clients
@@ -136,3 +143,7 @@ For parallel devenvs, prefer same-origin MCP routing: each Penpot instance shoul
- The MCP server emits `1008` for a missing `userToken` in multi-user mode, for missing/invalid connection metadata, and to close a connection displaced by a newer one with the same user and session ID.
- Session IDs are deterministic per tab and file, so a reconnect reuses its ID while the old socket may be half-open: the newest connection wins (`PluginBridge.displaceConnection`). Across instances, each new connection publishes a session claim on a per-user Redis channel; an instance displaces its local connection only on a foreign claim that arrives after its own claim (channel order, no clocks). Discovery deduplicates by session ID.
- A tab rejected with `1008` never reaches `connected`, so the frontend's 60s reconnect watcher (`start-reconnect-watcher` in `app.main.data.workspace.mcp`, started only on `connected`) does not engage; recovery is manual via the MCP menu.
+
+## Rollback warnings
+
+- The plugin's `RollbackLog` (`packages/plugin/src/RollbackLog.ts`) holds the `contentrollback` events not yet sent with a task response; `Task.sendResponse` attaches them and acknowledges them once sent, and the server's `unclaimed-rollbacks` message (a response that came after its task timed out) puts them back. With a `RollbackStore` (`LocalStorageRollbackStore` over `penpot.localStorage`, one entry per file) every change is written through, so a reload of the tab or plugin keeps them; storage failures fall back to memory. Plugin tests run with `node --experimental-strip-types`, which rejects TypeScript parameter properties: declare fields explicitly.
diff --git a/.serena/memories/render-wasm/core.md b/.serena/memories/render-wasm/core.md
index c3b8dd1db7..4777620d11 100644
--- a/.serena/memories/render-wasm/core.md
+++ b/.serena/memories/render-wasm/core.md
@@ -36,6 +36,7 @@ From `render-wasm/`:
- Rust tests: `./test` or `cargo test `.
- Cross-cutting testing principles and anti-patterns: `mem:testing`.
- Lint: `./lint`.
-- Format check: `cargo fmt --check`.
+- Format: `./fmt`; check only: `./fmt --check`.
+- `./build`, `./test`, `./lint` and `./fmt` all run `setup`, which selects the Rust version pinned in `_build_env` (skip with `PENPOT_WASM_PREPARED=1`).
Do not change exported WASM function signatures without updating the corresponding frontend bridge and verifying the frontend renderer path.
\ No newline at end of file
diff --git a/.serena/memories/scripts/changelog.md b/.serena/memories/scripts/changelog.md
index 6dc0dd5c94..7134377fa5 100644
--- a/.serena/memories/scripts/changelog.md
+++ b/.serena/memories/scripts/changelog.md
@@ -1,12 +1,14 @@
# Changelog helper
-`scripts/changelog.py` holds the checks used by the `update-changelog` skill (extracted from the skill file so the skill stays workflow-only). Calls `scripts/gh.py` via subprocess; never call the GitHub API directly from this script.
+`scripts/changelog.py` holds the checks used by the changelog flow. The rules and the step-by-step live in `mem:workflow/updating-changelog`; this memory documents the subcommands. Calls `scripts/gh.py` via subprocess; never call the GitHub API directly from this script.
## Subcommands
- `check-merged ` (`--file`, `--stdin` accepted) — warn on any non-merged PR, exit 1 when found; run before writing changelog entries.
-- `cross-ref [--changes CHANGES.md]` — fetch milestone PRs with `--state all` once, report merged PRs missing from the version section plus CLOSED (unmerged) warnings; GHSA entries never appear here by design.
-- `report [--changes CHANGES.md --output CHANGES-ISSUES.md]` — overwrite the anomaly report (milestone mismatches type A/B plus `:rocket:` gaps C/D); rule violations never belong in the report, they are fixed in CHANGES.md first.
+- `boom [--changes CHANGES.md --write]` — generate `### :boom: Breaking changes & Deprecations` from the closed, non-excluded milestone issues labelled `breaking change`, sorted by issue number. Each issue becomes a `#### ` block: content = body of the issue's last `## Breaking change note` comment (whole markdown, headings demoted to `#####` outside code fences; fallback = heading plus refs with a stderr warning), refs = issue link plus merged closing PRs on their own line, with `(by @author)` for `community contribution`. `--write` replaces only that subsection of the version (inserts it after the version header when missing, keeps the heading when there are no entries; idempotent). Print-only by default. Uses `gh.py comments`.
+- `security [--changes CHANGES.md --write]` — generate `### :lock: Security fixes` from the advisories whose `patched_versions` include the version (via `gh.py advisories --patched-version`), sorted by GHSA id. Entry: `- Fix () (PR: [#N](...))`; description = `Fix` + advisory summary, first word decapitalized unless it starts with an acronym; PRs = merged milestone PRs labelled `pr pt` whose body contains the GHSA id, comma-separated, and no PR is legal. Warns on stderr when a `pr pt` PR references an advisory with no matching `patched_versions`. `--write` replaces only that subsection, placed after `:rocket:` (or `:boom:`, or the version header when neither exists); empty entries remove the subsection; idempotent. Print-only by default.
+- `cross-ref [--changes CHANGES.md]` — fetch milestone PRs with `--state all` once, report merged PRs missing from the version section plus CLOSED (unmerged) warnings. PR links inside `:lock:` entries count as referenced; advisory URLs never appear here by design.
+- `report [--changes CHANGES.md --output CHANGES-ISSUES.md]` — overwrite the anomaly report: A/B milestone mismatches, E `:boom:` entry without the label, F `:rocket:` sync, G `:boom:` sync, plus the C/D `:rocket:` gaps (warnings). `:boom:`/`:rocket:` rule violations are fixed by regenerating or relabelling, not by editing entries in place.
## Conventions
@@ -15,4 +17,5 @@
- Version-section lookup accepts an optional `(suffix)` after the version header (e.g. `(Unreleased)`); a missing section is an error for `cross-ref` and an empty section for `report`.
- PR/issue reference parsing covers standard `[#N](.../pull/N)` / `[#N](.../issues/N)` links plus legacy `PR:[N]` / `[Github #N]` forms.
- Shared parsing helpers (`extract_version_section`, `extract_subsection`, `collect_changelog_prs/issues`) live at module top so future subcommands reuse them instead of duplicating regexes.
-- Report anomaly types: A/B milestone mismatches, E `:boom:` entry whose issue lacks the `breaking change` label (counted, entries preserved — human labels the issue or moves the entry); C/D are `:rocket:` gaps (warnings, never counted).
+- Report anomaly types: A/B milestone mismatches, E `:boom:` entry whose issue lacks the `breaking change` label (counted, entries preserved — human labels the issue or moves the entry), G `breaking change` issue missing from `:boom:` (counted, same contract as F); C/D are `:rocket:` gaps (warnings, never counted).
+- `issue_excluded` (closed, non-Task, non-Rejected, no `release blocker`/`no changelog` label) is module-level and shared by `report` and `boom` so the exclusions cannot drift.
diff --git a/.serena/memories/scripts/ci.md b/.serena/memories/scripts/ci.md
index be509b7a22..99167efded 100644
--- a/.serena/memories/scripts/ci.md
+++ b/.serena/memories/scripts/ci.md
@@ -106,7 +106,7 @@ produce deployable artifacts.
## Notes
- `mcp` has no lint task and `media-processor` has no lint task; both show
- as skipped. `render-wasm` uses `./lint`, `./test`, and `cargo fmt`.
+ as skipped. `render-wasm` uses `./lint`, `./test`, and `./fmt`.
- `scripts/test_ci.py` (unittest, `python3 scripts/test_ci.py`) covers the
flag wiring, one build command per module and the help text through
`--dry-run`; it executes no real build.
diff --git a/.serena/memories/scripts/gh.md b/.serena/memories/scripts/gh.md
index 9c53875672..c2a10d8f6b 100644
--- a/.serena/memories/scripts/gh.md
+++ b/.serena/memories/scripts/gh.md
@@ -11,6 +11,7 @@ repository via GraphQL and REST APIs through the authenticated `gh` CLI.
- Comparing milestone issues against CHANGES.md to find missing entries.
- Explicitly linking a GitHub issue to a pull request.
- Listing or inspecting GitHub Security Advisories (GHSA).
+- Fetching issue comments (the `## Breaking change note` markdown for the changelog).
## Prerequisites
@@ -82,6 +83,16 @@ Fetch issue details by number in batches of 50 (same input styles as `prs`: numb
**Output**: JSON array to stdout; progress to stderr.
+### `comments`
+
+Fetch every comment of one or more issues via REST (paginated, 100 per page), oldest first. Same input styles as `issue`: numbers, `--file`, `--stdin`.
+
+```bash
+python3 scripts/gh.py comments 11235 11236
+```
+
+**Output fields per comment**: `issue`, `id`, `author`, `created_at`, `body`. JSON array to stdout; progress to stderr. `changelog.py boom` reads the `## Breaking change note` comment from this output.
+
### `link-issue`
Explicitly assign a GitHub issue to a pull request:
@@ -91,7 +102,7 @@ python3 scripts/gh.py link-issue
# Short alias: python3 scripts/gh.py link
```
-The command resolves both node IDs and calls `addCloseIssueReferences`. It trusts the successful mutation instead of re-querying, because GitHub does not reliably report mutation-created links through `closedByPullRequestsReferences(userLinkedOnly: true)`. It is safe to rerun, works for merged PRs, and does not close an issue retroactively. JSON goes to stdout; progress and errors go to stderr; a missing issue/PR or a failed mutation exits non-zero.
+The command resolves both node IDs and calls `addCloseIssueReferences`. It trusts the successful mutation instead of re-querying, because GitHub does not reliably report mutation-created links through `closedByPullRequestsReferences(userLinkedOnly: true)`. It is safe to rerun and works for merged PRs. It does not guarantee the issue stays open: adding `Closes #N` to the body of an already-merged PR closed the issue immediately when tried (#12896 / PR #12067, 2026-11-09). JSON goes to stdout; progress and errors go to stderr; a missing issue/PR or a failed mutation exits non-zero.
### `advisories`
@@ -107,6 +118,9 @@ python3 scripts/gh.py advisories --severity critical
# Filter by state
python3 scripts/gh.py advisories --state triage
+# Filter by patched version declared in the advisory
+python3 scripts/gh.py advisories --patched-version 2.19.1
+
# Get full detail for a single advisory
python3 scripts/gh.py advisories GHSA-xvj6-fh9w-gjw7
```
@@ -115,6 +129,8 @@ python3 scripts/gh.py advisories GHSA-xvj6-fh9w-gjw7
**Detail output** (single advisory) adds: description, vulnerabilities (package, version ranges), credits, timestamps.
+`--patched-version` filters the raw advisories before formatting: the match is an exact token of `vulnerabilities[*].patched_versions` (split on `,`/`;`), so `2.19.1` never matches `2.19.10`. Every state is included (`triage`, `draft`, `published`, `closed`, `withdrawn`). The raw `vulnerabilities` stay internal to the filter: the list output keeps the summary schema.
+
**Output**: JSON to stdout; progress to stderr.
## Key principles
diff --git a/.serena/memories/workflow/creating-issues.md b/.serena/memories/workflow/creating-issues.md
index dbe55c9241..2275cc9d8d 100644
--- a/.serena/memories/workflow/creating-issues.md
+++ b/.serena/memories/workflow/creating-issues.md
@@ -35,11 +35,36 @@ Command what should be built. Format: `[Imperative verb] [what] in/on [where]`.
| Field | Rule |
|-------|------|
-| **Labels** | `community contribution` (PRs from non-core) · skip workflow labels (`backport candidate`, `team-qa`) · do **not** add `bug` or `enhancement` labels (use Issue Type instead) |
+| **Labels** | `community contribution` (PRs from non-core) · `breaking change` when the change breaks compatibility (see below) · skip workflow labels (`backport candidate`, `team-qa`) · do **not** add `bug` or `enhancement` labels (use Issue Type instead) |
| **Milestone** | Use the current or next planned milestone. Fetch available milestones: `gh api repos/penpot/penpot/milestones --jq '.[].title'`. If unsure, omit. |
| **Project** | Always `Main` (project number 8). Use `--project "Main"` flag. |
| **Issue Type** | See Issue Type section below. Cannot be set via `gh issue create` — use GraphQL after creation. |
+## Breaking changes
+
+When the issue introduces a breaking change or a deprecation, it is the unit
+`mem:workflow/updating-changelog` turns into a block under
+`### :boom: Breaking changes & Deprecations`. The section is generated from
+the issue (`scripts/changelog.py boom`), so the issue must carry both:
+
+1. The `breaking change` label.
+2. A `## Breaking change note` **comment** (not a body section). Everything
+ after that marker line is copied to the changelog: paragraphs, bullet
+ lists, code blocks and headings are kept (headings are demoted to level 5
+ in `CHANGES.md`). Write it for self-hosters: what changes, what they must
+ do, and what breaks if they do nothing. Keep it short: explain the
+ implications and link the runbook or docs for the detail, never paste the
+ runbook itself. Links must point to a long-lived branch (`staging` or
+ `main`), never to a feature branch.
+
+Post the note as a new comment. Do not add a breaking-change section to the
+issue body and do not hand-write the changelog block. When the issue comes
+from a PR, reuse the text of the PR's breaking-change section.
+Do not hard-wrap the note: one line per paragraph or bullet.
+
+The full changelog rules (sections, exclusions, `:rocket:`, pre-flight and
+anomaly report) live in `mem:workflow/updating-changelog`.
+
## Issue Body Template
Write the body to a temp file to avoid shell quoting issues:
@@ -237,6 +262,9 @@ Identify:
description). Omit internal details. Use the templates above.
- **Issue Type:** use the mapping table above (also handles `:bug:` /
`:sparkles:` / `:tada:` title prefixes).
+- **Breaking changes:** when the PR body has a breaking-change section, post
+ its user-facing text as a `## Breaking change note` comment on the issue and
+ add the `breaking change` label (see **Breaking changes** above).
### Create the issue
@@ -287,7 +315,7 @@ Add `Closes #` to the PR body for readable context, then run the e
python3 scripts/gh.py link-issue
```
-The command creates the GitHub Development link by calling `addCloseIssueReferences` and trusts the successful mutation (GitHub does not reliably report mutation-created links back through the API). It is safe to rerun and does not close an issue retroactively when the PR is already merged. Do not rely on the body keyword as the assignment operation.
+The command creates the GitHub Development link by calling `addCloseIssueReferences` and trusts the successful mutation (GitHub does not reliably report mutation-created links back through the API). It is safe to rerun. Do not rely on it to keep the issue open: adding `Closes #N` to the body of an already-merged PR closed the issue immediately when tried (#12896 / PR #12067, 2026-11-09; the timeline shows a cross-reference plus a ClosedEvent with no closer). For changelog units that outcome is fine — a merged fix means a closed issue — but be aware when linking old merged PRs. Do not rely on the body keyword as the assignment operation.
### Clean up
@@ -303,6 +331,8 @@ rm -f /tmp/issue-body.md /tmp/pr-body.md
label or the author is not a core team member, add the label to the issue.
- **Don't put implementation details in the issue body** — the issue is for
users, QA, and changelog readers.
+- **Drop the PR's `no issue required` label** once the issue exists: it only
+ marks PRs that need no changelog unit, and it is stale from then on.
## Creating Issues from Draft Body
diff --git a/.serena/memories/workflow/creating-prs.md b/.serena/memories/workflow/creating-prs.md
index 4d9d0fe8d4..87f10f2121 100644
--- a/.serena/memories/workflow/creating-prs.md
+++ b/.serena/memories/workflow/creating-prs.md
@@ -66,7 +66,7 @@ The "Note:" line is required at the top. Adjust if this is a manual (non-AI) PR.
- **Write for humans.** The diff shows what changed. The description explains why.
- **Be concise.** Focus on reasoning: What was the problem? Why did it happen? How did you solve it?
- **Prefer bullets over paragraphs.** Short bullet items, grouped by area with bold lead-ins where helpful, are far easier to digest than prose; keep any remaining paragraph to a few sentences.
-- **No manual line wraps.** Markdown renders adapting to the viewport; hard-wrapped lines degrade rendering. One line per paragraph or bullet, however long.
+- **No manual line wraps.** Markdown renders adapting to the viewport; hard-wrapped lines degrade rendering. One line per paragraph or bullet, however long. This applies to PR descriptions and to PR/issue comments and review replies alike.
- **Skip the obvious.** Don't explain what `git diff` already shows.
### What NOT to Include
@@ -80,7 +80,7 @@ The "Note:" line is required at the top. Adjust if this is a manual (non-AI) PR.
## Explicit Issue Assignment
- For each GitHub issue that a PR resolves, run `python3 scripts/gh.py link-issue ` after creating or editing the PR. Do not rely on `Closes #NNNN` in the body; it is only human-readable context.
-- The command calls `addCloseIssueReferences` and trusts the successful mutation: GitHub does not reliably report mutation-created links back through `closedByPullRequestsReferences(userLinkedOnly: true)`, so the command exits non-zero only when a link target is missing or the mutation fails. It is safe to rerun and also works for an already merged PR; it does not close an issue retroactively.
+- The command calls `addCloseIssueReferences` and trusts the successful mutation: GitHub does not reliably report mutation-created links back through `closedByPullRequestsReferences(userLinkedOnly: true)`, so the command exits non-zero only when a link target is missing or the mutation fails. It is safe to rerun and also works for an already merged PR. Do not rely on it to keep the issue open: adding `Closes #N` to the body of an already-merged PR closed the issue immediately when tried (#12896 / PR #12067, 2026-11-09).
- Skip this process for `Relates to #NNNN` and Taiga references, which do not represent a closing relationship.
## Before Opening
diff --git a/.serena/memories/workflow/updating-changelog.md b/.serena/memories/workflow/updating-changelog.md
new file mode 100644
index 0000000000..54ca604790
--- /dev/null
+++ b/.serena/memories/workflow/updating-changelog.md
@@ -0,0 +1,208 @@
+# Updating the changelog
+
+> Note about this memory: unlike other Serena memories (dense notes written for LLM agents, see `mem:memory-maintenance`), this document is also written for human release managers who need full context. That is why it uses plain language and examples. It is the canonical home of the changelog flow; the `update-changelog` skill is only an entry point that routes here.
+
+`CHANGES.md` (repository root) is the release notes file. Every entry comes from GitHub: a milestone issue, its merged PR, or a security advisory whose `patched_versions` include the version. It is never written from scratch by hand; the only manual parts are the wording of a description when the title is not enough and the advisory summaries (polished on GitHub, the source of the generated security entries).
+
+The commands live in `scripts/gh.py` (GitHub queries) and `scripts/changelog.py` (changelog checks). Their flags and internals are documented in `mem:scripts/gh` and `mem:scripts/changelog`.
+
+## 1. When to run it
+
+- Before a release, to fill the section of the version being released.
+- When new issues are added to an existing milestone.
+- When asked to audit or refresh `CHANGES.md`.
+
+Editing `CHANGES.md` happens only on explicit request or as part of the release process; see `mem:critical-info`.
+
+## 2. Sources of truth
+
+| Question | Source |
+|---|---|
+| Which issues belong to the version? | GitHub milestone |
+| Which security fixes? | Advisories whose `patched_versions` include the version |
+| Which section? | Issue Type |
+| Is it a breaking change? | `breaking change` label |
+| Is it a highlight? | `release highlight` label |
+
+- **Issue Type decides the section**: `Bug` → `:bug:`, `Feature`/`Enhancement` → `:sparkles:`, `Task` is excluded (internal chores). Labels `bug`/`enhancement` and title emoji prefixes are often wrong or missing; do not use them.
+- **Security fixes come from advisories**: an advisory whose `patched_versions` include the version becomes a `:lock:` entry (section 7). `triage`, `draft` and `published` are all valid states; the advisory may still be unpublished when the changelog is written. A security fix may also carry a regular bug issue; both entries are legal and independent (the issue lives in `:bug:` as any other bug).
+- **Two labels override the Issue Type**: `breaking change` → an entry only under `:boom:`, never in its regular section; `release highlight` → an extra entry under `:rocket:` on top of its regular entry.
+- **Only closed issues**. An open issue in the milestone is not generated, even if someone added a provisional entry by hand before the merge.
+- **Excluded issues**: `no changelog`, `release blocker`, `Task` issue type, `Rejected` project status.
+- **Excluded PRs**: a PR with `release blocker` or `no issue required` does not bring an entry of its own.
+- **An issue with no milestone** belongs to another (probably private) project: it is neither changelog candidate nor anomaly.
+
+## 3. Layout of `CHANGES.md`
+
+The newest version goes at the top, right after the `# CHANGELOG` header. Inside a version, the section order is fixed:
+
+```markdown
+# CHANGELOG
+
+## 2.19.0 (Unreleased)
+
+### :boom: Breaking changes & Deprecations
+
+####
+
+
+
+[#ISSUE](https://github.com/penpot/penpot/issues/ISSUE) (PR: [#PR](https://github.com/penpot/penpot/pull/PR))
+
+### :rocket: Epics and highlights
+
+- Add configurable keyboard shortcuts [#9924](https://github.com/penpot/penpot/issues/9924) (PR: [#10237](https://github.com/penpot/penpot/pull/10237))
+
+### :lock: Security fixes
+
+- Fix () (PR: [#PR](https://github.com/penpot/penpot/pull/PR))
+
+### :bug: Bugs fixed
+
+- Fix [#ISSUE](https://github.com/penpot/penpot/issues/ISSUE) (PR: [#PR](https://github.com/penpot/penpot/pull/PR))
+
+### :sparkles: New features & Enhancements
+
+- Add [#ISSUE](https://github.com/penpot/penpot/issues/ISSUE) (PR: [#PR](https://github.com/penpot/penpot/pull/PR))
+```
+
+- `:boom:` first, then `:rocket:`, `:lock:`, `:bug:`, `:sparkles:`. Other headings exist in old versions (`:heart:` community contributions); do not add them to new versions.
+- Include a section only when it has entries. Historical versions may have an empty `:boom:` or `:rocket:` heading; `boom --write` keeps the `:boom:` heading even when there are no entries. `:lock:` is omitted (and removed on `--write`) when the version has no security advisories.
+- One blank line between the last entry of a section and the next heading.
+- No manual line wrapping: one line per bullet or paragraph, however long.
+
+## 4. Regular entries (`:bug:`, `:sparkles:`)
+
+The entry shape is:
+
+```markdown
+- (by @github_username) [#ISSUE](https://github.com/penpot/penpot/issues/ISSUE) (PR: [#PR](https://github.com/penpot/penpot/pull/PR), [#PR2](https://github.com/penpot/penpot/pull/PR2))
+```
+
+- **Description**: derived from the issue title, not the PR title. Strip emoji prefixes (`:bug:`, `:sparkles:`, `:tada:`) and write the user-facing behaviour in imperative mood. Examples: `Plugin API token methods fail with schema validation error` → `Fix Plugin API token methods failing with schema validation error`; `Custom uploaded font family names are not sanitized` → `Sanitize font family names on custom uploaded fonts`.
+- **Issue is the primary link**: the issue is the changelog unit, the PR is the implementation. Multiple fix PRs go comma-separated inline.
+- **Community attribution**: when the issue or its PR carries `community contribution`, add `(by @username)` before the issue link. Use the PR author, not the issue author.
+- **Closed issue with no PR** in the milestone: link the issue only, no PR reference.
+- **PR with no linked issue**: link a matching closed issue in the milestone when one exists; otherwise skip it, because the issue is the changelog unit.
+- **False-positive PR links**: a PR may claim to close an unrelated issue (ancient PR, cross-project reference). If the titles are clearly unrelated or the PR predates the issue by years, treat it as a data glitch and ignore it.
+
+## 5. `:boom:`: breaking changes and deprecations
+
+Each breaking change is a `####` block, not a bullet. The title is the issue title without its emoji prefix; the content comes from a comment on the issue; the references go on their own line at the end.
+
+The **issue** must carry:
+
+1. The `breaking change` label.
+2. A comment whose first line is `## Breaking change note`. Everything after that marker line is the changelog content: paragraphs, bullet lists, code blocks, tables, headings (they are demoted to `#####` on write), and so on. The marker itself is case-insensitive and accepts `#`, `##` or `###`; use `##`.
+
+Example comment:
+
+```markdown
+## Breaking change note
+
+The Admin Console is now enabled by default and the `enable-admin-console` flag is no longer needed.
+
+Self-hosted instances must deploy the `penpot-admin-console` service and set `PENPOT_ADMIN_CONSOLE_URI` in frontend and backend (check the [upgrade guide](https://help.penpot.app/technical-guide/getting-started/docker/#upgrade-to-2.19)).
+```
+
+Generated block:
+
+```markdown
+#### Enable the Admin Console by default
+
+The Admin Console is now enabled by default and the `enable-admin-console` flag is no longer needed.
+
+Self-hosted instances must deploy the `penpot-admin-console` service and set `PENPOT_ADMIN_CONSOLE_URI` in frontend and backend (check the [upgrade guide](https://help.penpot.app/technical-guide/getting-started/docker/#upgrade-to-2.19)).
+
+[#12807](https://github.com/penpot/penpot/issues/12807) (PR: [#12475](https://github.com/penpot/penpot/pull/12475))
+```
+
+Rules for the note:
+
+- **Write it for admins**: what changes, what they must do, and what breaks if they do nothing. Do not paste the full runbook; explain the implications and link the runbook or docs.
+- **Link a long-lived branch**, `staging` or `main`, never a feature branch (`issue-1234`). The link may 404 until the PR merges; that is expected.
+- **Do not add issue or PR links**: the generator appends them.
+- **Do not hard-wrap the text**: one line per paragraph or bullet. The generator copies lines verbatim, so wrapped lines end up wrapped in `CHANGES.md`.
+- **One note per issue**. If several comments carry the marker, the generator uses the last one and warns.
+- **No note**: the generator warns on stderr and emits only the heading and references; fix the issue, not `CHANGES.md`.
+- **`####`, not `###`**: `###` is the level of the changelog sections. An entry at `###` would render as a sibling section and the scripts that read and rewrite `:boom:` would cut the section there. The note author never writes the `####`: the generator adds it.
+- **Only merged closing PRs** are referenced; unmerged or superseded PRs are skipped.
+- **Never hand-edit the section**. Generate it with `boom` (section 8). The note lives on GitHub; edit it there.
+
+## 6. `:rocket:`: epics and highlights
+
+- Lists exactly the milestone issues with the `release highlight` label, and nothing else. Product decides highlights by labelling issues; a regeneration cannot undo that choice.
+- Every entry copies the text and references of the issue's regular entry and MUST carry both an issue link and a PR reference.
+- If no issue is labelled, leave the section out; do not pick highlights yourself.
+- Never edit `:rocket:` by hand: add or remove the label and regenerate.
+
+## 7. `:lock:`: security fixes
+
+Generated from the advisories that declare the version in `patched_versions`; never written by hand.
+
+- **Source and filter**: `python3 scripts/gh.py advisories --patched-version ` keeps the advisories whose `vulnerabilities[*].patched_versions` contain the version as an exact token (so `2.19.1` never matches `2.19.10`). Any state is valid — `triage`, `draft`, `published` — because the advisory may still be unpublished when the changelog is written.
+- **Fill the advisories first**: `patched_versions` must be filled before generating the changelog. The release process publishes the advisories with (or after) the release; the changelog does not wait for publication.
+- **PR reference**: a merged PR in the milestone labelled `pr pt` whose body contains the GHSA id contributes its number inline; several PRs go comma-separated. An advisory with no PR is legal: the entry links only the advisory.
+- **Missing `patched_versions`**: when a `pr pt` PR references an advisory that declares no matching `patched_versions`, `security` prints a warning on stderr and leaves it out. Fix the advisory, not `CHANGES.md`.
+- **Entry format**: `- Fix () (PR: [#PR](...))`. The description is `Fix` plus the advisory summary, with the first word decapitalized unless it starts with an acronym (`SVG`, `CVE-...`).
+- **Wording**: the flow may polish the description. Re-running `security --write` rewrites it from the summary, so the durable place for wording is the advisory summary on GitHub; keep it a problem statement, because the generator adds `Fix`.
+- **Empty version**: no matching advisories → the subsection is not inserted (and is removed by `--write`).
+- **Never hand-edit the section**: generate it with `security` (section 8).
+
+## 8. Flow
+
+1. **Confirm the version** (a semver string such as `2.19.0`) with the user when it is not obvious.
+2. **Fetch the milestone issues**: `python3 scripts/gh.py issues "" --exclude "release blocker,no changelog"` (closed by default; add `--state all` only to inspect open issues). `gh.py` already drops `Task` and `Rejected`; pass `--include-tasks` / `--include-rejected` only to inspect them. To find what is missing from an existing section, add `--compare CHANGES.md`.
+3. **Fetch PR details when needed**: `python3 scripts/gh.py prs ` (also `--milestone`). Use it for the PR author, labels and merge state.
+4. **Categorize** by Issue Type and the two labels (section 2), and **build the descriptions** (section 4).
+5. **Verify PR merge status** before writing: `python3 scripts/changelog.py check-merged `. Only merged PRs go in the changelog; if a closing PR was closed unmerged, look for the PR that superseded it.
+6. **Reconcile the existing text** (section 9).
+7. **Generate `:boom:`**: `python3 scripts/changelog.py boom ""` prints the section; add `--write` to replace it in `CHANGES.md`. The write replaces only that subsection, inserts it after the version header when missing, keeps the heading when there are no entries, and is idempotent.
+8. **Generate `:rocket:`** from the `release highlight` label (section 6).
+9. **Generate `:lock:`**: `python3 scripts/changelog.py security ""` prints the section; add `--write` to replace it in `CHANGES.md`. The contract lives in section 7.
+10. **Cross-check PRs**: `python3 scripts/changelog.py cross-ref ""`. It lists merged milestone PRs missing from the section and warns about closed (unmerged) PRs. PRs linked from `:lock:` count as referenced; an advisory with no PR is invisible here by design.
+11. **Generate the anomaly report**: `python3 scripts/changelog.py report ""`. It overwrites `CHANGES-ISSUES.md` with the current state (section 10).
+
+## 9. Pre-flight: reconcile before writing
+
+Re-fetch the milestone (do not trust cached data) and fix these in `CHANGES.md` before adding the new section:
+
+1. **Duplicate across versions** → remove it from the current section; the earlier version wins for backports. The same holds after merging a patch branch into `staging`: the fix keeps its released patch entry and leaves the newer, unreleased section (the merge conflict in `CHANGES.md` is resolved by keeping both sections, newest first, minus the duplicate).
+2. **Stale milestone assignment** (the issue moved out of this milestone) → remove the entry.
+3. **Newly applied exclusion labels** (`no changelog`, `release blocker`) → remove the entry.
+4. **Issue no longer closed, deleted, or now `Rejected`** → remove the entry.
+5. **Unmerged or moved PR reference** → fix the reference or remove the entry. A PR merged in a different milestone is an anomaly (section 10); do not remove it silently.
+6. **Issue Type changed to `Task`** → remove the entry.
+7. **Breaking change out of sync** (a `breaking change` issue outside `:boom:`, or a `:boom:` entry without the label) → regenerate the section; a labelled issue has no regular entry.
+8. **Highlight out of sync** (`:rocket:` entry without the label, or a labelled issue missing) → remove it or add it.
+9. **Missing valid issues** (closed, non-excluded, referenced nowhere) → add them to their section.
+
+## 10. Anomaly report
+
+`report` classifies problems it cannot decide alone. The total counts A, B, E, F and G; C and D are warnings.
+
+- **A — issue in this milestone, referenced PR in another milestone (or none).** The claim "this issue is fixed by this PR in this milestone" is inconsistent. Fix the milestone on the issue or the PR, or remove the entry.
+- **B — PR in this milestone whose closing issue is in another milestone.** Same fix. An issue with no milestone is not an anomaly (another, probably private, project).
+- **E — `:boom:` entry whose issue lacks the `breaking change` label.** The entry stays in the changelog: either label the issue or move the entry to its regular section.
+- **F — `:rocket:` out of sync with the `release highlight` label.** A rule violation: `:rocket:` must list exactly the labelled issues. Fix the label or re-run the flow.
+- **G — `breaking change` issue missing from `:boom:`.** A rule violation: `:boom:` must list exactly the labelled issues. Regenerate the section or relabel.
+- **C — released X.Y.0 version without a `:rocket:` section** (gap; patches never carry highlights).
+- **D — `:rocket:` entry without issue AND PR references** (gap).
+
+Anything else is a rule violation, not a report item: fix it in the pre-flight and re-run.
+
+## 11. Pitfalls
+
+- **Open issues with provisional entries**: a PR author may add the entry before the merge. `boom` will not generate it until the issue closes; keep the hand-written block identical to what the generator would produce.
+- **Labels, not emoji**: title prefixes are cosmetic and often missing; the section comes from Issue Type and the two labels.
+- **Taiga references**: old entries link to Taiga. Resolve them to the GitHub issue via the description text or the PRs that mention the Taiga URL, then link issue and PR.
+- **Long-lived links only**: runbooks and docs referenced from a note must point to `staging` or `main`, never to a feature branch that will be deleted.
+- **Generated sections**: `:boom:`, `:rocket:` and `:lock:` are generated. Never patch them by hand; edit the label, the note comment or the advisory and re-run.
+- **Deleted or transferred issues**: an issue referenced in the changelog that returns 410/404 (deleted or moved out of the repo) must lose its entry in the pre-flight. Its security fixes, if any, stay in `:lock:` through the advisory.
+
+## 12. Where the code is
+
+- `scripts/gh.py`: `issues`, `issue`, `comments`, `prs`, `link-issue`, `advisories` (with `--patched-version`). Details: `mem:scripts/gh`.
+- `scripts/changelog.py`: `check-merged`, `boom`, `security`, `cross-ref`, `report`. Details: `mem:scripts/changelog`.
+- Tests: `scripts/test_gh.py`, `scripts/test_changelog.py`.
+- The note contract for issue authors: `mem:workflow/creating-issues`, section **Breaking changes**.
diff --git a/AGENTS.md b/AGENTS.md
index e9264d2924..4e4bf1fec1 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -10,7 +10,8 @@
If the user pushes, treat that commit as final from the agent's side.
- **Never edit `CHANGES.md` by hand** in commits or PRs. The changelog is
generated from GitHub milestones during the release process; update it only
- via the `update-changelog` skill flow or on explicit user request.
+ via `mem:workflow/updating-changelog` (the `update-changelog` skill flow) or
+ on explicit user request.
- **Never pipe test output directly to filters** (`| head`, `| tail`, `| grep`, etc.).
Always redirect to a file first: `command > /tmp/output.txt 2>&1`, then read/grep the file.
This prevents hiding test failures. See `mem:testing` for details.
diff --git a/CHANGES.md b/CHANGES.md
index 6da1e66c2d..e1aa8dc7b9 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,95 @@
# CHANGELOG
-## 2.19.0 (Unreleased)
+## 2.20.0
+
+### :bug: Bugs fixed
+
+- Fix dashboard file thumbnails loading slow for large multi-page files [#12053](https://github.com/penpot/penpot/issues/12053) (PR: [#12054](https://github.com/penpot/penpot/pull/12054))
+- Fix Plugin API resolving a font family token to its separate words when the family name has several words [#11748](https://github.com/penpot/penpot/issues/11748) (PR: [#11750](https://github.com/penpot/penpot/pull/11750))
+- Fix asset redirect responses advertising a cache lifetime of about 1000 days instead of 24 hours (by @ners) [#12761](https://github.com/penpot/penpot/issues/12761) (PR: [#12758](https://github.com/penpot/penpot/pull/12758))
+- Fix an internal error on typography tokens due to circular dependencies on other token types [#9580](https://github.com/penpot/penpot/issues/9580)
+- Fix the MCP server rejecting request bodies over 100kb (express.json default) with PayloadTooLargeError (by @GitNimay) [#12080](https://github.com/penpot/penpot/issues/12080) (PR: [#12450](https://github.com/penpot/penpot/pull/12450))
+- Fix library component, color and typography counters showing zero when opening files from the dashboard (by @lukel97) [#12826](https://github.com/penpot/penpot/issues/12826) (PR: [#12787](https://github.com/penpot/penpot/pull/12787))
+- Fix workspace crash with Maximum call stack size exceeded when applying a library update [#12576](https://github.com/penpot/penpot/issues/12576) (PR: [#12661](https://github.com/penpot/penpot/pull/12661))
+- Fix canvas rendering an imported shape without its hole when the SVG fill rule is evenodd [#11947](https://github.com/penpot/penpot/issues/11947) (PR: [#12006](https://github.com/penpot/penpot/pull/12006))
+- Fix Plugin API component.instance() and createShapeFromSvg() nesting the new shape into whatever board is at (0, 0) of the current page (by @makesomethingshit) [#12086](https://github.com/penpot/penpot/issues/12086) (PR: [#12499](https://github.com/penpot/penpot/pull/12499))
+- Fix view mode breaking zoom, board navigation, and comments when the URL has no page id [#12684](https://github.com/penpot/penpot/issues/12684) (PR: [#12687](https://github.com/penpot/penpot/pull/12687))
+- Fix autosave stopping and valid edits being lost when part of a save fails validation [#12553](https://github.com/penpot/penpot/issues/12553) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Fix dashboard duplicate copying a file without the edits that are still saving [#12603](https://github.com/penpot/penpot/issues/12603) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Fix Alt measurements still showing a shape that was deleted [#12605](https://github.com/penpot/penpot/issues/12605) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Fix Plugin API ignoring changes to a deleted shape without an error [#12606](https://github.com/penpot/penpot/issues/12606) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Fix typography sample overflowing its row in locales with a wider sample (ko, ar) (by @desty) [#11486](https://github.com/penpot/penpot/issues/11486) (PR: [#11487](https://github.com/penpot/penpot/pull/11487))
+- Fix token not showing when selecting two text layers (by @ShreyashAgare26) [#11924](https://github.com/penpot/penpot/issues/11924) (PR: [#11944](https://github.com/penpot/penpot/pull/11944))
+- Fix inner shadow fill not working in the SVG render while it works in WebGL [#11967](https://github.com/penpot/penpot/issues/11967) (PR: [#12141](https://github.com/penpot/penpot/pull/12141))
+- Fix @penpot/plugin-styles loading Work Sans from a third-party CDN (by @ump45nose) [#12023](https://github.com/penpot/penpot/issues/12023) (PR: [#12087](https://github.com/penpot/penpot/pull/12087))
+
+### :sparkles: New features & Enhancements
+
+- Add a feedback channel to the MCP server [#12490](https://github.com/penpot/penpot/issues/12490) (PR: [#12551](https://github.com/penpot/penpot/pull/12551))
+- Auto-scroll sortable lists when dragging an item near their top or bottom edge (by @ShreyashAgare26) [#10478](https://github.com/penpot/penpot/issues/10478) (PR: [#11595](https://github.com/penpot/penpot/pull/11595))
+- Make WebGL the default renderer for new accounts [#11855](https://github.com/penpot/penpot/issues/11855) (PR: [#12880](https://github.com/penpot/penpot/pull/12880))
+- Allow MCP to work with multiple open Penpot files [#11759](https://github.com/penpot/penpot/issues/11759)
+- Complete the Russian translations [#11955](https://github.com/penpot/penpot/issues/11955) (PR: [#11956](https://github.com/penpot/penpot/pull/11956))
+- Implement full text format paste within Penpot [#12047](https://github.com/penpot/penpot/issues/12047) (PR: [#12137](https://github.com/penpot/penpot/pull/12137))
+- Prevent the hosted MCP server from running execute_code twice when the plugin is open in two tabs [#12008](https://github.com/penpot/penpot/issues/12008) (PR: [#11927](https://github.com/penpot/penpot/pull/11927))
+- Allow detaching typography tokens [#11887](https://github.com/penpot/penpot/issues/11887) (PR: [#11969](https://github.com/penpot/penpot/pull/11969))
+- Add team, project and file management to the Plugin API for global plugins [#12170](https://github.com/penpot/penpot/issues/12170) (PR: [#12169](https://github.com/penpot/penpot/pull/12169))
+- Run .penpot file import and export as durable background jobs [#12194](https://github.com/penpot/penpot/issues/12194) (PR: [#12056](https://github.com/penpot/penpot/pull/12056), [#12192](https://github.com/penpot/penpot/pull/12192))
+- Open files and projects in a new tab with Ctrl/Cmd+click in the dashboard [#12228](https://github.com/penpot/penpot/issues/12228) (PR: [#12230](https://github.com/penpot/penpot/pull/12230))
+- Add an RPC method to read file-level plugin data [#12258](https://github.com/penpot/penpot/issues/12258) (PR: [#10171](https://github.com/penpot/penpot/pull/10171))
+- Add a get-file-tokens RPC method to read a file's design tokens [#12260](https://github.com/penpot/penpot/issues/12260) (PR: [#12172](https://github.com/penpot/penpot/pull/12172))
+- Show the progress and the size of each file in the import and export dialogs [#12340](https://github.com/penpot/penpot/issues/12340) (PR: [#12192](https://github.com/penpot/penpot/pull/12192))
+- Focus the search field when opening the color tokens tab of the color picker [#12344](https://github.com/penpot/penpot/issues/12344) (PR: [#12345](https://github.com/penpot/penpot/pull/12345))
+- Harden the file data offload job with a row lock, per-file transactions, throttle and metrics [#12398](https://github.com/penpot/penpot/issues/12398) (PR: [#12403](https://github.com/penpot/penpot/pull/12403))
+- Render email templates inside the mail job in the backend [#12445](https://github.com/penpot/penpot/issues/12445) (PR: [#12448](https://github.com/penpot/penpot/pull/12448))
+- Serve Penpot under a subpath [#3194](https://github.com/penpot/penpot/issues/3194) (PR: [#12358](https://github.com/penpot/penpot/pull/12358))
+- Run local WASM exports for shapes and boards without freezing the UI [#12512](https://github.com/penpot/penpot/issues/12512) (PR: [#12515](https://github.com/penpot/penpot/pull/12515))
+- Use WASM to generate SVG markup in the code inspector when render-wasm is active [#12567](https://github.com/penpot/penpot/issues/12567) (PR: [#12608](https://github.com/penpot/penpot/pull/12608))
+- Close the workspace search with the Escape key (by @filipsajdak) [#9540](https://github.com/penpot/penpot/issues/9540) (PR: [#12374](https://github.com/penpot/penpot/pull/12374))
+- Allow MCP to access and manage Penpot Dashboard resources [#11761](https://github.com/penpot/penpot/issues/11761)
+- Add OAuth support for MCP client connections [#12034](https://github.com/penpot/penpot/issues/12034) (PR: [#12480](https://github.com/penpot/penpot/pull/12480))
+- Restrict management RPC methods to their declared shared keys [#12730](https://github.com/penpot/penpot/issues/12730) (PR: [#12736](https://github.com/penpot/penpot/pull/12736))
+- Reduce memory used by duplicate shape ids in the workspace [#12791](https://github.com/penpot/penpot/issues/12791) (PR: [#12792](https://github.com/penpot/penpot/pull/12792))
+- Reduce memory consumption on shape decoding [#12789](https://github.com/penpot/penpot/issues/12789) (PR: [#12790](https://github.com/penpot/penpot/pull/12790))
+- Notify other users when a snapshot is restored [#12425](https://github.com/penpot/penpot/issues/12425) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Normalize the configured tenant to lowercase [#12842](https://github.com/penpot/penpot/issues/12842) (PR: [#12843](https://github.com/penpot/penpot/pull/12843))
+- Speed up saves on large files by checking only the pages a save changes [#12602](https://github.com/penpot/penpot/issues/12602) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Retry saves after short server failures and keep the workspace open when a save fails [#12601](https://github.com/penpot/penpot/issues/12601) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+- Switch the workspace to read-only mode when the file can't be saved [#12507](https://github.com/penpot/penpot/issues/12507) (PR: [#12555](https://github.com/penpot/penpot/pull/12555))
+
+## 2.19.1
+
+### :lock: Security fixes
+
+- Fix editor-role team members retrieving the signed invitation token of any pending invitation (https://github.com/penpot/penpot/security/advisories/GHSA-4mmc-j8rh-74pf) (PR: [#12892](https://github.com/penpot/penpot/pull/12892))
+
+- Fix share-link page-scope escape in `get-profiles-for-file-comments` leaking the identity of comment authors outside the link's scope (https://github.com/penpot/penpot/security/advisories/GHSA-89cq-3wv7-987r) (PR: [#12888](https://github.com/penpot/penpot/pull/12888))
+
+- Fix missing authorization and unbounded array in mark-all-threads-as-read that let any authenticated user write the status of inaccessible threads (https://github.com/penpot/penpot/security/advisories/GHSA-j4vc-cmf6-jhr7) (PR: [#12894](https://github.com/penpot/penpot/pull/12894))
+
+- Fix incomplete SVG sanitizer escaping that let a "sanitized" SVG carry live script (CVE-2026-105694) (https://github.com/penpot/penpot/security/advisories/GHSA-qwhj-rchj-58mg) (PR: [#12887](https://github.com/penpot/penpot/pull/12887))
+
+### :bug: Bugs fixed
+
+- Fix component instance (variant) inside a layout resetting to its original size after a shared library update of an unrelated component [#12670](https://github.com/penpot/penpot/issues/12670) (PR: [#12851](https://github.com/penpot/penpot/pull/12851))
+
+## 2.19.0
+
+### :boom: Breaking changes & Deprecations
+
+#### Migrate legacy file payloads to file_data and delete orphan revisions
+
+File payloads now live in one place: every file state and snapshot is kept in `file_data`, and the orphan `file_change` rows that kept old payloads alive forever are removed. No read path reached those rows and nothing ever collected them, so the upgrade also reclaims the database and TOAST space they held. There is no API or UI change.
+
+On small and medium instances this happens automatically on boot and there is nothing to do. On large instances (millions of snapshots, hundreds of GB in TOAST) the work does not fit in the startup transaction: run it by hand **before upgrading to 2.19.0** following the [large-instance runbook](https://github.com/penpot/penpot/blob/staging/operations/2.19.0-migrate-legacy-file-data.md). The runbook tells you whether your instance needs it, keeps the instance online while the data moves, and verifies the result before you deploy.
+
+[#12784](https://github.com/penpot/penpot/issues/12784) (PR: [#12785](https://github.com/penpot/penpot/pull/12785))
+
+#### Enable the Admin Console by default
+
+The Admin Console is now enabled by default and the `enable-admin-console` flag is no longer needed. Self-hosted instances must deploy the `penpot-admin-console` service and set `PENPOT_ADMIN_CONSOLE_URI` in frontend and backend (check the [upgrade guide](https://help.penpot.app/technical-guide/getting-started/docker/#upgrade-to-2.19)).
+
+[#12807](https://github.com/penpot/penpot/issues/12807) (PR: [#12475](https://github.com/penpot/penpot/pull/12475))
### :rocket: Epics and highlights
@@ -74,6 +163,38 @@
- Fix thumbnails failing on older Chromium browsers and each thumbnail rendering several times [#11878](https://github.com/penpot/penpot/issues/11878) (PR: [#11879](https://github.com/penpot/penpot/pull/11879))
- Fix internal error when opening the libraries modal [#11943](https://github.com/penpot/penpot/issues/11943) (PR: [#11946](https://github.com/penpot/penpot/pull/11946))
- Fix Plugin API `connectLibrary` linking unpublished files as libraries [#12001](https://github.com/penpot/penpot/issues/12001) (PR: [#12002](https://github.com/penpot/penpot/pull/12002))
+- Fix incorrect padding at the top of the tokens and themes section [#9585](https://github.com/penpot/penpot/issues/9585) (PR: [#12422](https://github.com/penpot/penpot/pull/12422))
+- Fix token tree path handling for repeated and nested segments (by @makesomethingshit) [#11588](https://github.com/penpot/penpot/issues/11588) (PR: [#11591](https://github.com/penpot/penpot/pull/11591))
+- Fix comment input duplicating text when confirming a Japanese IME composition with Enter [#11757](https://github.com/penpot/penpot/issues/11757) (PR: [#11768](https://github.com/penpot/penpot/pull/11768))
+- Fix file not saving after deleting a variant [#11758](https://github.com/penpot/penpot/issues/11758) (PR: [#12216](https://github.com/penpot/penpot/pull/12216))
+- Fix component copies not syncing when a shape is moved out of a main component and another change follows at once [#11978](https://github.com/penpot/penpot/issues/11978) (PR: [#11981](https://github.com/penpot/penpot/pull/11981))
+- Fix MCP plugin showing a version mismatch warning on every patch release (by @robertkodra) [#12007](https://github.com/penpot/penpot/issues/12007) (PR: [#12009](https://github.com/penpot/penpot/pull/12009))
+- Fix workspace crash when switching to the path tool while drawing a shape [#12100](https://github.com/penpot/penpot/issues/12100) (PR: [#12101](https://github.com/penpot/penpot/pull/12101))
+- Fix referential integrity error when swapping a component [#12144](https://github.com/penpot/penpot/issues/12144) (PR: [#12333](https://github.com/penpot/penpot/pull/12333))
+- Fix workspace saving text shapes on every page open when a custom font is missing [#12151](https://github.com/penpot/penpot/issues/12151) (PR: [#12164](https://github.com/penpot/penpot/pull/12164))
+- Fix swapped nested components losing their absolute position after a library update [#12176](https://github.com/penpot/penpot/issues/12176) (PR: [#12556](https://github.com/penpot/penpot/pull/12556))
+- Fix theme selector showing the editor message when the tokens source is a library [#12177](https://github.com/penpot/penpot/issues/12177) (PR: [#12203](https://github.com/penpot/penpot/pull/12203))
+- Fix untranslated texts in the This file tab of the libraries modal [#12178](https://github.com/penpot/penpot/issues/12178) (PR: [#12204](https://github.com/penpot/penpot/pull/12204))
+- Fix workspace staying in the saving state and losing unsaved edits when a save request gets no answer [#12222](https://github.com/penpot/penpot/issues/12222) (PR: [#12223](https://github.com/penpot/penpot/pull/12223))
+- Fix scrub cursor showing on numeric inputs with mixed values in the sidebar [#12227](https://github.com/penpot/penpot/issues/12227) (PR: [#12229](https://github.com/penpot/penpot/pull/12229))
+- Fix internal error when copying a swapped nested component [#12289](https://github.com/penpot/penpot/issues/12289) (PR: [#12434](https://github.com/penpot/penpot/pull/12434))
+- Show an error when uploading a custom font fails [#12304](https://github.com/penpot/penpot/issues/12304) (PR: [#12315](https://github.com/penpot/penpot/pull/12315))
+- Fix React warning about the unknown `tooltipClass` prop in layout-item size inputs [#12311](https://github.com/penpot/penpot/issues/12311) (PR: [#12329](https://github.com/penpot/penpot/pull/12329))
+- Fix guides inside a board still being interactive [#12322](https://github.com/penpot/penpot/issues/12322) (PR: [#12460](https://github.com/penpot/penpot/pull/12460))
+- Fix pasted text not being visible in an empty text box until it is resized [#12438](https://github.com/penpot/penpot/issues/12438) (PR: [#12859](https://github.com/penpot/penpot/pull/12859))
+- Fix files failing referential integrity validation staying unsaveable in every session [#12464](https://github.com/penpot/penpot/issues/12464) (PR: [#12524](https://github.com/penpot/penpot/pull/12524), [#12662](https://github.com/penpot/penpot/pull/12662))
+- Fix unicode characters not rendering in text layers with the new render engine [#12469](https://github.com/penpot/penpot/issues/12469) (PR: [#12471](https://github.com/penpot/penpot/pull/12471))
+- Fix text image fills staying blank when media loads after text layout [#12563](https://github.com/penpot/penpot/issues/12563) (PR: [#12564](https://github.com/penpot/penpot/pull/12564))
+- Fix swapped nested icons moving outside the layout after a library update [#12657](https://github.com/penpot/penpot/issues/12657) (PR: [#12716](https://github.com/penpot/penpot/pull/12716))
+- Fix garbled bullets before the element counts in the libraries modal [#12677](https://github.com/penpot/penpot/issues/12677) (PR: [#12678](https://github.com/penpot/penpot/pull/12678))
+- Fix token dropdown of numeric inputs showing the scrub cursor [#12679](https://github.com/penpot/penpot/issues/12679) (PR: [#12680](https://github.com/penpot/penpot/pull/12680))
+- Fix variant property names and values accepting `,` and `=` [#12683](https://github.com/penpot/penpot/issues/12683) (PR: [#12688](https://github.com/penpot/penpot/pull/12688))
+- Fix changing a variant property from another page leaving the main component label out of date [#12692](https://github.com/penpot/penpot/issues/12692) (PR: [#12693](https://github.com/penpot/penpot/pull/12693))
+- Fix `:referential-integrity` errors when moving variant mains in or out of a set [#12696](https://github.com/penpot/penpot/issues/12696) (PR: [#12706](https://github.com/penpot/penpot/pull/12706))
+- Fix `:referential-integrity` errors when creating, combining or renaming variant sets [#12734](https://github.com/penpot/penpot/issues/12734) (PR: [#12779](https://github.com/penpot/penpot/pull/12779))
+- Fix save errors after masking a variant with Ctrl+M [#12748](https://github.com/penpot/penpot/issues/12748) (PR: [#12749](https://github.com/penpot/penpot/pull/12749))
+- Fix icons in component instances not being shown on the canvas [#12752](https://github.com/penpot/penpot/issues/12752)
+- Fix upload endpoints accepting non-multipart upload paths and validation error bodies being truncated [#12896](https://github.com/penpot/penpot/issues/12896) (PR: [#12067](https://github.com/penpot/penpot/pull/12067))
### :sparkles: New features & Enhancements
@@ -89,7 +210,7 @@
- Apply tokens to stroke per side [#9842](https://github.com/penpot/penpot/issues/9842) (PR: [#10913](https://github.com/penpot/penpot/pull/10913))
- Add individual stroke widths per side (top, right, bottom, left) [#9854](https://github.com/penpot/penpot/issues/9854) (PR: [#10648](https://github.com/penpot/penpot/pull/10648))
- Expand the token tree right after importing it (by @AKnassa) [#9819](https://github.com/penpot/penpot/issues/9819) (PR: [#10664](https://github.com/penpot/penpot/pull/10664))
-- Update the selection size badge live during resize, replacing the resize tooltip [#10259](https://github.com/penpot/penpot/issues/10259)
+- Update the selection size badge live during resize, replacing the resize tooltip [#10259](https://github.com/penpot/penpot/issues/10259) (PR: [#11884](https://github.com/penpot/penpot/pull/11884))
- Add color variants, rotation correction, viewport flip and hide-when-too-small to the selection size badge [#10264](https://github.com/penpot/penpot/issues/10264) (PR: [#11884](https://github.com/penpot/penpot/pull/11884))
- Support single-file SVG export with the WebGL render [#10546](https://github.com/penpot/penpot/issues/10546)
- Persist the hide resolved comments preference and separate the filter options in the comments menu [#10686](https://github.com/penpot/penpot/issues/10686) (PR: [#10694](https://github.com/penpot/penpot/pull/10694))
@@ -113,13 +234,36 @@
- Make "Fix when scrolling" work in the WebGL render [#11684](https://github.com/penpot/penpot/issues/11684) (PR: [#11752](https://github.com/penpot/penpot/pull/11752))
- Complete Catalan translations [#11739](https://github.com/penpot/penpot/issues/11739) (PR: [#11741](https://github.com/penpot/penpot/pull/11741))
- Remove the optional client-provided id from creation RPC endpoints [#11783](https://github.com/penpot/penpot/issues/11783) (PR: [#11784](https://github.com/penpot/penpot/pull/11784))
-- Allow color tokens for the canvas background [#11791](https://github.com/penpot/penpot/issues/11791) (PR: [#11923](https://github.com/penpot/penpot/pull/11923))
+- Allow color tokens for the canvas background [#11791](https://github.com/penpot/penpot/issues/11791) (PR: [#11923](https://github.com/penpot/penpot/pull/11923), [#11950](https://github.com/penpot/penpot/pull/11950))
- Show a "no assets yet" message for empty files in the libraries modal [#11811](https://github.com/penpot/penpot/issues/11811) (PR: [#11818](https://github.com/penpot/penpot/pull/11818))
- Upgrade the MCP SDK to v2 and adopt the new protocol version [#11827](https://github.com/penpot/penpot/issues/11827) (PR: [#11841](https://github.com/penpot/penpot/pull/11841))
- Remove legacy SSE support from the MCP server [#11846](https://github.com/penpot/penpot/issues/11846) (PR: [#11841](https://github.com/penpot/penpot/pull/11841))
- Delete selected path handles with Backspace or Delete [#11858](https://github.com/penpot/penpot/issues/11858) (PR: [#11896](https://github.com/penpot/penpot/pull/11896))
- Use the tooltip component in the token pill info [#11886](https://github.com/penpot/penpot/issues/11886) (PR: [#11900](https://github.com/penpot/penpot/pull/11900))
- Hide the duplicate cursor when alt-dragging a shape that cannot be duplicated (by @0xTHAC0) [#11905](https://github.com/penpot/penpot/issues/11905) (PR: [#11195](https://github.com/penpot/penpot/pull/11195))
+- Document the team auto-add behavior with `disable-email-verification` [#11376](https://github.com/penpot/penpot/issues/11376) (PR: [#11425](https://github.com/penpot/penpot/pull/11425))
+- Make the workspace recover from interrupted saves and show a proper error instead of the internal error page [#11799](https://github.com/penpot/penpot/issues/11799)
+- Add component management operations to the Plugin API [#12301](https://github.com/penpot/penpot/issues/12301) (PR: [#12303](https://github.com/penpot/penpot/pull/12303))
+- Record the imported file ids in the import-binfile audit event [#12485](https://github.com/penpot/penpot/issues/12485) (PR: [#12491](https://github.com/penpot/penpot/pull/12491))
+
+## 2.18.7
+
+### :bug: Bugs fixed
+
+- Fix binfile import accepting library relations outside the package and self-relations [#12895](https://github.com/penpot/penpot/issues/12895) (PR: [#12862](https://github.com/penpot/penpot/pull/12862))
+
+## 2.18.6
+
+### :bug: Bugs fixed
+
+- Fix upload endpoints storing server files when the path points outside the temp dir [#12771](https://github.com/penpot/penpot/issues/12771) (PR: [#12772](https://github.com/penpot/penpot/pull/12772))
+
+## 2.18.5
+
+### :bug: Bugs fixed
+
+- Fix the Admin Console failing on every URL on Docker deployments by reverting the subpath support [#12358](https://github.com/penpot/penpot/pull/12358)
+
## 2.18.4
### :bug: Bugs fixed
diff --git a/backend/deps.edn b/backend/deps.edn
index 4a57cc1abe..3a8a282638 100644
--- a/backend/deps.edn
+++ b/backend/deps.edn
@@ -54,6 +54,8 @@
org.jsoup/jsoup {:mvn/version "1.23.2"}
+ com.j256.simplemagic/simplemagic {:mvn/version "1.17"}
+
at.yawk.lz4/lz4-java
{:mvn/version "1.12.0"}
diff --git a/backend/package.json b/backend/package.json
index f573defead..ff67eed620 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -4,7 +4,7 @@
"license": "MPL-2.0",
"author": "Kaleidos INC Sucursal en España SL",
"private": true,
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"repository": {
"type": "git",
"url": "https://github.com/penpot/penpot"
diff --git a/backend/pnpm-lock.yaml b/backend/pnpm-lock.yaml
index 8d3278fb84..503657d9a7 100644
--- a/backend/pnpm-lock.yaml
+++ b/backend/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/backend/scripts/_env b/backend/scripts/_env
index cb7167997c..a13ec8fa96 100644
--- a/backend/scripts/_env
+++ b/backend/scripts/_env
@@ -62,6 +62,7 @@ export PENPOT_FLAGS="\
disable-tiered-file-data-storage \
enable-file-validation \
enable-file-schema-validation \
+ enable-debug-save-faults \
enable-redis-cache \
enable-link-preview \
enable-branching \
diff --git a/backend/src/app/auth/oidc.clj b/backend/src/app/auth/oidc.clj
index be8c9078eb..55aeff66fc 100644
--- a/backend/src/app/auth/oidc.clj
+++ b/backend/src/app/auth/oidc.clj
@@ -1115,11 +1115,15 @@
:else
(let [sxf (session/create-fn cfg profile info)
- token (or (:invitation-token info)
- (tokens/generate cfg
- {:iss :auth
- :exp (ct/in-future "15m")
- :profile-id (:id profile)}))
+ ;; The session token is always an :auth one; the
+ ;; invitation token, when present, travels inside its
+ ;; claims so the frontend goes through the regular
+ ;; token verification path and then `logged-in`.
+ token (tokens/generate cfg
+ {:iss :auth
+ :exp (ct/in-future "15m")
+ :profile-id (:id profile)
+ :invitation-token (:invitation-token info)})
;; If proceed, update profile on the database
profile (update-profile-with-info cfg profile info)
diff --git a/backend/src/app/binfile/cleaner.clj b/backend/src/app/binfile/cleaner.clj
index a7fcd456db..305150f979 100644
--- a/backend/src/app/binfile/cleaner.clj
+++ b/backend/src/app/binfile/cleaner.clj
@@ -9,7 +9,7 @@
for recently imported shapes."
(:require
[app.common.data :as d]
- [app.common.svg :as csvg]
+ [app.common.geom.matrix :as gmt]
[app.common.types.shape :as cts]
[app.common.uuid :as uuid]))
@@ -106,14 +106,11 @@
:reverse-column :column-reverse
dir))))
-(defn- fix-svg-attrs
- "The json reader of the binfile rewrites every key of every entry to
- kebab-case, but `:svg-attrs` keys are react prop names and are stored
- in camelCase. `attrs->props` is the transform the svg import path
- already applies to them, so running it again restores the names; it
- is idempotent, so shapes that come in correct are left untouched."
+(defn- fix-svg-transform
+ "The json reader decodes `:svg-transform` as a plain map; the svg defs
+ renderer multiplies it as a matrix, so turn it back into one."
[shape]
- (d/update-when shape :svg-attrs csvg/attrs->props))
+ (d/update-when shape :svg-transform gmt/coerce))
(defn clean-shape-post-decode
"A shape procesor that expected to be executed after schema decoding
@@ -123,7 +120,7 @@
(fix-shape-shadow-color)
(fix-root-shape)
(fix-legacy-flex-dir)
- (fix-svg-attrs)))
+ (fix-svg-transform)))
(defn- fix-container
[container]
diff --git a/backend/src/app/binfile/common.clj b/backend/src/app/binfile/common.clj
index 346f0e913c..37d9edb548 100644
--- a/backend/src/app/binfile/common.clj
+++ b/backend/src/app/binfile/common.clj
@@ -786,6 +786,18 @@
{:team-id team-id
:deleted-at nil}))
+(def ^:private sql:get-files-rels
+ "SELECT flr.*,
+ fls.synced_at
+ FROM file_library_rel AS flr
+ JOIN file AS l
+ ON flr.library_file_id = l.id
+ LEFT JOIN file_library_sync AS fls
+ ON fls.file_id = flr.file_id
+ AND fls.library_file_id = flr.library_file_id
+ WHERE flr.file_id = ANY(?)
+ AND l.deleted_at IS NULL;")
+
(defn get-files-rels
"Given a set of file-id's, return all matching relations with the libraries"
[cfg ids]
@@ -794,18 +806,8 @@
(assert (every? uuid? ids) "expected a set of uuids")
(db/run! cfg (fn [{:keys [::db/conn]}]
- (let [ids (db/create-array conn "uuid" ids)
- sql (str "SELECT flr.*,"
- " fls.synced_at"
- " FROM file_library_rel AS flr"
- " JOIN file AS l"
- " ON flr.library_file_id = l.id"
- " LEFT JOIN file_library_sync AS fls"
- " ON fls.file_id = flr.file_id"
- " AND fls.library_file_id = flr.library_file_id"
- " WHERE flr.file_id = ANY(?)"
- " AND l.deleted_at IS NULL;")]
- (db/exec! conn [sql ids])))))
+ (let [ids (db/create-array conn "uuid" ids)]
+ (db/exec! conn [sql:get-files-rels ids])))))
(def ^:private sql:upsert-file-library-sync
"INSERT INTO file_library_sync (file_id, library_file_id, synced_at)
diff --git a/backend/src/app/binfile/v3.clj b/backend/src/app/binfile/v3.clj
index 93f4a8a14a..243cff1781 100644
--- a/backend/src/app/binfile/v3.clj
+++ b/backend/src/app/binfile/v3.clj
@@ -1039,15 +1039,17 @@
(defn- import-file-relations
[{:keys [::db/conn ::manifest ::bfc/timestamp] :as cfg}]
- (let [relations (:relations manifest)]
+ (let [relations (:relations manifest)
+ file-ids (into #{} (map :id) (:files manifest))]
(doseq [[index [file-id libr-id]] (d/enumerate relations)]
(tap-progress cfg {:section :relations
:current (inc index) :total (count relations)})
- (let [file-id (bfc/lookup-index file-id)
- libr-id (bfc/lookup-index libr-id)]
-
- (when (and file-id libr-id)
+ (if (and (not= file-id libr-id)
+ (contains? file-ids file-id)
+ (contains? file-ids libr-id))
+ (let [file-id (bfc/lookup-index file-id)
+ libr-id (bfc/lookup-index libr-id)]
(l/dbg :hint "create file library link"
:file-id (str file-id)
:lib-id (str libr-id)
@@ -1055,7 +1057,10 @@
(let [rel-params {:file-id file-id
:library-file-id libr-id}]
(db/insert! conn :file-library-rel rel-params)
- (bfc/upsert-file-library-sync! conn (assoc rel-params :synced-at timestamp))))))))
+ (bfc/upsert-file-library-sync! conn (assoc rel-params :synced-at timestamp))))
+ (l/warn :hint "ignoring invalid file library relation"
+ :file-id (str file-id)
+ :lib-id (str libr-id))))))
(defn- import-storage-objects
[{:keys [::bfc/input ::entries-index ::bfc/timestamp] :as cfg}]
diff --git a/backend/src/app/config.clj b/backend/src/app/config.clj
index 329fc2333b..e2a969c6c1 100644
--- a/backend/src/app/config.clj
+++ b/backend/src/app/config.clj
@@ -121,8 +121,14 @@
:ssrf-extra-blocked-cidrs #{}})
(def schema:tenant
- "Tenant identifier: hostname-label-style (letters, digits and
- hyphens). It is interpolated into Redis keys separated by dots (msgbus
+ "Tenant identifier: hostname-label-style, lowercase (letters, digits
+ and hyphens). The value is normalized to lowercase when the
+ configuration is read, so an operator writing `PENPOT_TENANT=ACME` and
+ one writing `acme` name the same tenant: the value is compared as an
+ exact string in the keys and rows it lands in, and one uppercase
+ letter would otherwise split one tenant into two.
+
+ It is interpolated into Redis keys separated by dots (msgbus
topics, rate-limit buckets, exporter job keys, which are also matched
with a glob pattern), so `.` and whitespace are rejected at startup
because one tenant would then be able to read or overwrite another's
@@ -135,7 +141,14 @@
tenant asking for it, and a tenant that has one would have to be
renamed. Tenants using those characters must be renamed before
upgrading."
- [:re #"^[A-Za-z0-9-]+$"])
+ [:re #"^[a-z0-9-]+$"])
+
+(defn- normalize-tenant
+ "Lowercase the configured tenant before it is validated, so
+ `PENPOT_TENANT=ACME` and `acme` mean the same tenant everywhere."
+ [config]
+ (cond-> config
+ (string? (:tenant config)) (update :tenant str/lower)))
(def schema:config
(do #_sm/optional-keys
@@ -424,6 +437,7 @@
[& {:keys [prefix default] :or {prefix "penpot"}}]
(->> (read-env prefix)
(merge default)
+ (normalize-tenant)
(decode-config)))
(def version
diff --git a/backend/src/app/email.clj b/backend/src/app/email.clj
index 1213018437..3cc78ec02b 100644
--- a/backend/src/app/email.clj
+++ b/backend/src/app/email.clj
@@ -305,7 +305,14 @@
second `params` provides the email data and optionally `::factory`
and `::reuse-conn`. When `::reuse-conn` is true the submission
reuses the caller's existing `::db/conn` (from cfg) instead of
- acquiring a fresh one from the pool."
+ acquiring a fresh one from the pool.
+
+ NOTE: this renders the email before submitting, so the full subject
+ and body are stored as job params. Prefer `send-template` for
+ templated emails: it stores only the template id plus the raw data
+ and renders inside the worker. `send` is kept for raw (non
+ templated) emails and for draining jobs submitted in the old
+ format."
[cfg {:keys [::reuse-conn ::factory] :as params}]
(when (and reuse-conn (nil? (::db/conn cfg)))
(ex/raise :type :validation
@@ -394,7 +401,7 @@
[:feedback-subject ::sm/text]
[:feedback-type ::sm/text]
[:feedback-content ::sm/text]
- [:profile :map]])
+ [:profile [:map [:id ::sm/uuid]]]])
(def user-feedback
"A profile feedback email."
@@ -468,7 +475,7 @@
(def ^:private schema:invite-to-organization
[:map
[:invited-by ::sm/text]
- [:user-name [:maybe ::sm/text]]
+ [:user-name {:optional true} [:maybe ::sm/text]]
[:token ::sm/text]
[:organization schema:organization-data]])
@@ -490,7 +497,7 @@
(def ^:private schema:renewal-notice
[:map
- [:user-name [:maybe :string]]
+ [:user-name {:optional true} [:maybe :string]]
[:renewal-date ::sm/text]
[:estimated-amount ::sm/text]
[:organizations [:vector schema:organization-data]]])
@@ -609,6 +616,126 @@
:id ::comment-notification
:schema schema:comment-notification))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; TEMPLATED SEND (render inside the worker)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defn- template-entry
+ "Registry entry for a templated email: the factory that renders it and
+ the JSON encoder/decoder of its data schema. The job `params` column
+ is plain JSON, so values without a JSON form (e.g. the URIs of an
+ organization) are encoded to strings before submit and decoded back
+ to their types before the factory validates and renders them."
+ [factory schema]
+ {::factory factory
+ ::encode (sm/encoder schema sm/json-transformer)
+ ::decode (sm/decoder schema sm/json-transformer)})
+
+;; Registry of template id to entry. This map is the single source of
+;; truth for templated mail: `send-template` validates membership and
+;; encodes the data here before submitting (so a job that could never
+;; be rendered is rejected up front), and the worker decodes the data
+;; and renders it with the entry factory. Callers pass the id string
+;; itself (e.g. `"invite-to-team"`); keys stay `::eml/`-namespaced and
+;; values stay plain data, following the params convention.
+(def templates
+ {"feedback" (template-entry user-feedback schema:feedback)
+ "register" (template-entry register schema:register)
+ "password-recovery" (template-entry password-recovery schema:password-recovery)
+ "password-changed" (template-entry password-changed schema:password-changed)
+ "change-email" (template-entry change-email schema:change-email)
+ "invite-to-team" (template-entry invite-to-team schema:invite-to-team)
+ "invite-to-organization" (template-entry invite-to-organization schema:invite-to-organization)
+ "organization-setup-sso" (template-entry organization-setup-sso schema:organization-setup-sso)
+ "renewal-notice" (template-entry renewal-notice schema:renewal-notice)
+ "join-team" (template-entry join-team schema:join-team)
+ "request-file-access" (template-entry request-file-access schema:request-file-access)
+ "request-file-access-yourpenpot" (template-entry request-file-access-yourpenpot schema:request-file-access)
+ "request-file-access-yourpenpot-view" (template-entry request-file-access-yourpenpot-view schema:request-file-access)
+ "request-team-access" (template-entry request-team-access schema:request-team-access)
+ "comment-mention" (template-entry comment-mention schema:comment-mention)
+ "comment-thread" (template-entry comment-thread schema:comment-thread)
+ "comment-notification" (template-entry comment-notification schema:comment-notification)
+ "review-request" (template-entry review-request schema:review-request)})
+
+(defn render-template
+ "Render the templated email `template-id` from its JSON-decoded data,
+ as the worker does before sending it."
+ [template-id params]
+ (let [{:keys [::factory ::decode]} (get templates template-id)]
+ (factory (decode params))))
+
+;; Envelope of the job params only: the template data travels encoded
+;; by the template schema and is decoded by `render-template`.
+(def ^:private schema:templated-params
+ [:map {:title "Templated Email Params"}
+ [:template (into [:enum] (sort (keys templates)))]
+ [:to [:or ::sm/email [::sm/vec ::sm/email]]]
+ [:reply-to {:optional true} ::sm/email]
+ [:from {:optional true} ::sm/email]
+ [:lang {:optional true} ::sm/text]
+ [:priority {:optional true} [:enum :high :low]]
+ [:extra-data {:optional true} ::sm/text]
+ [:attachments {:optional true}
+ [:map-of :string :string]]])
+
+(defn send-template
+ "Schedule a templated email to be sent asynchronously using the
+ unified jobs machinery. Unlike `send`, this does NOT render the
+ email: it stores only the template id plus the raw template data as
+ `:send-templated-mail` job params, and the worker renders and sends
+ the email. The `::template` param is the template id string (one of
+ the keys of `templates`, e.g. `invite-to-team`);
+ `::reuse-conn` behaves like in `send`."
+ [cfg {:keys [::template ::reuse-conn] :as params}]
+ (when (and reuse-conn (nil? (::db/conn cfg)))
+ (ex/raise :type :validation
+ :code :missing-connection
+ :hint "reuse-conn requires the caller cfg to carry ::db/conn (call inside a transaction)"))
+ (when (nil? template)
+ (ex/raise :type :validation
+ :code :missing-template
+ :hint "template is mandatory for templated emails"))
+ (when-not (contains? templates template)
+ (ex/raise :type :validation
+ :code :unknown-email-template
+ :hint (str/ffmt "unknown email template: %", template)))
+ (let [encode (get-in templates [template ::encode])
+ recipe (-> params
+ (dissoc ::reuse-conn ::template)
+ ;; Present-but-nil extras (e.g. `:file-id` when there is
+ ;; no file) would fail the job schema, while the old
+ ;; inline render simply ignored them.
+ (d/without-nils)
+ (encode))]
+ (jobs/submit (cond-> (dissoc cfg ::db/conn)
+ reuse-conn (assoc ::db/conn (::db/conn cfg)))
+ {::jobs/name :send-templated-mail
+ ::jobs/delay 0
+ ::jobs/max-retries 4
+ ::jobs/priority 200
+ ::jobs/params (cond-> (assoc recipe :template template)
+ ;; `:public-uri` arrives as a URI record
+ ;; from config, which plain JSON cannot
+ ;; roundtrip; the templates only need its
+ ;; string form.
+ (some? (:public-uri recipe))
+ (update :public-uri str))})))
+
+(defmethod ig/init-key ::templated-job-def
+ [_ {sendmail ::sendmail}]
+ {::jobs/name :send-templated-mail
+ ::jobs/schema schema:templated-params
+ ::jobs/handler (fn [context params]
+ (let [template-id (:template params)]
+ (when-not (contains? templates template-id)
+ (ex/raise :type :internal
+ :code :unknown-email-template
+ :template-id template-id))
+ (sendmail context (render-template template-id (dissoc params :template)))))
+ ::jobs/decoder (sm/decoder schema:templated-params sm/json-transformer)
+ ::jobs/validator (sm/validator schema:templated-params)})
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BOUNCE/COMPLAINS HELPERS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/backend/src/app/http/errors.clj b/backend/src/app/http/errors.clj
index d59f2218e8..fcf8395f1d 100644
--- a/backend/src/app/http/errors.clj
+++ b/backend/src/app/http/errors.clj
@@ -17,6 +17,7 @@
[app.http.session :as-alias session]
[app.util.inet :as inet]
[clojure.spec.alpha :as s]
+ [cuerdas.core :as str]
[yetti.request :as yreq]
[yetti.response :as yres]))
@@ -228,6 +229,25 @@
"25P03" "The transaction was idle too long and was cancelled"
"A database error occurred"))
+(defn- transient-sql-state?
+ "True for SQLSTATE codes of failures that pass on their own: lost or
+ refused connections, lack of resources, a server shutting down, and
+ serialization failures or deadlocks of concurrent transactions."
+ [state]
+ (and (string? state)
+ (or (str/starts-with? state "08")
+ (str/starts-with? state "53")
+ (contains? #{"57P01" "57P02" "57P03" "40001" "40P01"} state))))
+
+(defn- unavailable
+ "Response for a failure that passes on its own: the request can be sent
+ again."
+ [code hint]
+ {::yres/status 503
+ ::yres/body {:type :server-error
+ :code code
+ :hint hint}})
+
(defmethod handle-exception org.postgresql.util.PSQLException
[error request parent-cause]
(let [state (.getSQLState ^java.sql.SQLException error)
@@ -236,6 +256,9 @@
(l/error :hint "postgresql error"
:cause cause)
(cond
+ (transient-sql-state? state)
+ (unavailable :database-unavailable "The database is not available right now")
+
(= state "57014")
{::yres/status 504
::yres/body {:type :server-error
@@ -276,13 +299,37 @@
(assoc :type :server-error)
(update :code #(or % :unhandled)))}))))
+(defmethod handle-exception java.sql.SQLTransientException
+ [cause request _]
+ (binding [l/*context* (request->context request)]
+ (l/wrn :hint "transient database error" :cause cause)
+ (unavailable :database-unavailable "The database is not available right now")))
+
+(defn- transient-io-exception?
+ "True for I/O failures that pass on their own: a lost, refused or timed
+ out connection, or a host name that did not resolve. A parse error or
+ data that cannot be read fails again on every attempt."
+ [cause]
+ (or (instance? java.net.SocketException cause)
+ (instance? java.io.InterruptedIOException cause)
+ (instance? java.net.UnknownHostException cause)
+ (instance? java.net.http.HttpTimeoutException cause)))
+
(defmethod handle-exception java.io.IOException
[cause request _]
(binding [l/*context* (request->context request)]
(l/wrn :hint "io exception" :cause cause)
- {::yres/status 500
- ::yres/body {:type :server-error
- :code :io-exception}}))
+ (if (transient-io-exception? cause)
+ (unavailable :io-exception "An input/output operation failed")
+ {::yres/status 500
+ ::yres/body {:type :server-error
+ :code :io-exception}})))
+
+(defmethod handle-exception InterruptedException
+ [cause request _]
+ (binding [l/*context* (request->context request)]
+ (l/wrn :hint "interrupted request" :cause cause)
+ (unavailable :interrupted "The request was interrupted")))
(defmethod handle-exception java.util.concurrent.CompletionException
[cause request _]
diff --git a/backend/src/app/loggers/audit.clj b/backend/src/app/loggers/audit.clj
index 430d369343..0d9a0b560f 100644
--- a/backend/src/app/loggers/audit.clj
+++ b/backend/src/app/loggers/audit.clj
@@ -48,6 +48,46 @@
"incomplete-user-info"
"unexpected-error"})
+(def ^:private subscription-creation-events
+ #{"create-subscription" "create-trial-subscription"})
+
+(def ^:private subscription-creation-telemetry-props
+ #{:type
+ :deployment
+ :quantity
+ :subscription-mode})
+
+(def ^:private subscription-update-telemetry-props
+ #{:type
+ :deployment
+ :previous-status
+ :status
+ :previous-cancel-at-period-end
+ :cancel-at-period-end
+ :previous-cancel-at
+ :cancel-at
+ :changed-fields})
+
+(def ^:private subscription-summary-telemetry-props
+ #{:type
+ :deployment
+ :instance-id
+ :snapshot-date
+ :trialing-count
+ :active-count
+ :active-cancel-scheduled-count
+ :past-due-count
+ :canceled-count
+ :unpaid-count
+ :incomplete-count
+ :incomplete-expired-count
+ :paused-count
+ :other-count
+ :total-count
+ :sync-succeeded
+ :sync-failed
+ :snapshot-complete})
+
(def ^:private safe-backend-context-keys
#{:version
:initiator
@@ -348,6 +388,24 @@
(defn filter-telemetry-props
[{:keys [source name props type] :as params}]
(cond
+ (and (= type "action")
+ (contains? subscription-creation-events name)
+ (or (= source "backend")
+ (= source "frontend")))
+ (let [props' (into {} xf:filter-telemetry-props props)
+ props' (merge props' (select-keys props subscription-creation-telemetry-props))]
+ (assoc params :props props'))
+
+ (and (= source "backend")
+ (= type "action")
+ (= name "update-subscription"))
+ (assoc params :props (select-keys props subscription-update-telemetry-props))
+
+ (and (= source "backend")
+ (= type "action")
+ (= name "subscription-summary"))
+ (assoc params :props (select-keys props subscription-summary-telemetry-props))
+
(and (= source "backend")
(= name "organization-sso-auth-failed"))
(let [props' (into {} xf:filter-telemetry-props props)
@@ -365,6 +423,8 @@
props' (-> props'
(assoc :lang (:lang props))
(assoc :auth-backend (:auth-backend props))
+ (assoc :source (:source props))
+ (assoc :activation (:activation props))
(assoc :email-domain (email/get-domain (:email props)))
(d/without-nils))]
(assoc params :props props'))
diff --git a/backend/src/app/loggers/audit/consumer_task.clj b/backend/src/app/loggers/audit/consumer_task.clj
index 3180f936f0..9d1146bf22 100644
--- a/backend/src/app/loggers/audit/consumer_task.clj
+++ b/backend/src/app/loggers/audit/consumer_task.clj
@@ -231,6 +231,7 @@
"delete-file"
"delete-font"
"delete-organization"
+ "delete-organization-attribute"
"delete-organization-member"
"delete-project"
"delete-team"
@@ -255,6 +256,7 @@
"success-activate-organization-sso"
"success-apply-organization-sso-changes"
"unassign-organization-attribute"
+ "update-organization-attribute"
"update-organization-invitation"
"update-organization-permissions"
"update-team-invitation"
diff --git a/backend/src/app/main.clj b/backend/src/app/main.clj
index 9267c889f4..71ddafd9bf 100644
--- a/backend/src/app/main.clj
+++ b/backend/src/app/main.clj
@@ -656,24 +656,25 @@
::setup/shared-keys (ig/ref ::setup/shared-keys)}
::jobs/defs
- {:sendmail (ig/ref ::email/job-def)
- :delete-object (ig/ref :app.tasks.delete-object/job-def)
- :demo-purge (ig/ref :app.tasks.demo-purge/job-def)
- :run-webhook (ig/ref ::webhooks/run-webhook-job-def)
- :process-webhook-event (ig/ref ::webhooks/process-webhook-event-job-def)
- :file-gc (ig/ref :app.tasks.file-gc/job-def)
- :offload-file-data (ig/ref :app.tasks.offload-file-data/job-def)
- :objects-gc (ig/ref :app.tasks.objects-gc/job-def)
- :export-binfile (ig/ref :app.tasks.export-binfile/job-def)
- :import-binfile (ig/ref :app.tasks.import-binfile/job-def)
- :storage-gc-deleted (ig/ref ::sto.gc-deleted/job-def)
- :storage-gc-touched (ig/ref ::sto.gc-touched/job-def)
- :storage-pending-gc (ig/ref ::sto.pending-gc/job-def)
- :jobs-gc (ig/ref :app.jobs.gc/job-def)
- :telemetry (ig/ref :app.tasks.telemetry/job-def)
- :session-gc (ig/ref ::session/job-def)
- :file-gc-scheduler (ig/ref :app.tasks.file-gc-scheduler/job-def)
- :audit-log-consumer-nexus (ig/ref :app.loggers.audit.consumer-task/nexus-job-def)
+ {:sendmail (ig/ref ::email/job-def)
+ :send-templated-mail (ig/ref ::email/templated-job-def)
+ :delete-object (ig/ref :app.tasks.delete-object/job-def)
+ :demo-purge (ig/ref :app.tasks.demo-purge/job-def)
+ :run-webhook (ig/ref ::webhooks/run-webhook-job-def)
+ :process-webhook-event (ig/ref ::webhooks/process-webhook-event-job-def)
+ :file-gc (ig/ref :app.tasks.file-gc/job-def)
+ :offload-file-data (ig/ref :app.tasks.offload-file-data/job-def)
+ :objects-gc (ig/ref :app.tasks.objects-gc/job-def)
+ :export-binfile (ig/ref :app.tasks.export-binfile/job-def)
+ :import-binfile (ig/ref :app.tasks.import-binfile/job-def)
+ :storage-gc-deleted (ig/ref ::sto.gc-deleted/job-def)
+ :storage-gc-touched (ig/ref ::sto.gc-touched/job-def)
+ :storage-pending-gc (ig/ref ::sto.pending-gc/job-def)
+ :jobs-gc (ig/ref :app.jobs.gc/job-def)
+ :telemetry (ig/ref :app.tasks.telemetry/job-def)
+ :session-gc (ig/ref ::session/job-def)
+ :file-gc-scheduler (ig/ref :app.tasks.file-gc-scheduler/job-def)
+ :audit-log-consumer-nexus (ig/ref :app.loggers.audit.consumer-task/nexus-job-def)
:audit-log-consumer-admin-console (ig/ref :app.loggers.audit.consumer-task/admin-console-job-def)}
::jobs/request-pool
@@ -684,6 +685,10 @@
{::email/sendmail (ig/ref ::email/sendmail)
::mtx/metrics (ig/ref ::mtx/metrics)}
+ :app.email/templated-job-def
+ {::email/sendmail (ig/ref ::email/sendmail)
+ ::mtx/metrics (ig/ref ::mtx/metrics)}
+
:app.tasks.delete-object/job-def
{::db/pool (ig/ref ::db/pool)
::sto/storage (ig/ref ::sto/storage)
diff --git a/backend/src/app/media.clj b/backend/src/app/media.clj
index c00ac00b24..82dcff8f1d 100644
--- a/backend/src/app/media.clj
+++ b/backend/src/app/media.clj
@@ -19,6 +19,7 @@
(:require
[app.common.data :as d]
[app.common.exceptions :as ex]
+ [app.common.media :as cm]
[app.config :as cf]
[app.db :as-alias db]
[app.http.client :as http]
@@ -58,9 +59,22 @@
:code :unknown-size
:hint "seems like the url points to resource with unknown size"))
- (-> {:size size :mtype mtype}
- (validation/validate-media-type!)
- (validation/validate-media-size!))))]
+ ;; Fast fail on the declared header type and size; the
+ ;; downloaded bytes are strictly verified after the write
+ ;; (there is no file on disk yet to measure or sniff).
+ (when-not (contains? cm/image-types mtype)
+ (ex/raise :type :validation
+ :code :media-type-not-allowed
+ :hint "seems like you are uploading an invalid media object"))
+
+ (when (> size (cf/get :media-max-file-size))
+ (ex/raise :type :restriction
+ :code :media-max-file-size-reached
+ :hint (str/ffmt "the uploaded file size % is greater than the maximum %"
+ size
+ (cf/get :media-max-file-size))))
+
+ {:size size :mtype mtype}))]
(let [{:keys [body] :as response}
(try
@@ -102,7 +116,11 @@
:hint "unexpected state: unable to write to file"))
;; Sanitize: strip trailing data after image EOF markers
- (let [new-size (sanitize/truncate-after-eof path mtype)]
+ (let [new-size (sanitize/truncate-after-eof path mtype)
+ upload {:path path :mtype mtype :size new-size}]
+ ;; Strict: the downloaded bytes must be what the remote
+ ;; header claimed, same rule as direct uploads.
+ (validation/check-media-type upload)
{:path path
:mtype mtype
:size new-size})))
diff --git a/backend/src/app/media/svg.clj b/backend/src/app/media/svg.clj
index 2ef7112815..6d38011b4d 100644
--- a/backend/src/app/media/svg.clj
+++ b/backend/src/app/media/svg.clj
@@ -12,8 +12,10 @@
[app.common.data.macros :as dm]
[app.common.exceptions :as ex]
[app.common.logging :as l]
+ [app.storage.tmp :as tmp]
[clojure.xml :as xml]
- [cuerdas.core :as str])
+ [cuerdas.core :as str]
+ [datoteka.fs :as fs])
(:import
clojure.lang.XMLHandler
java.io.InputStream
@@ -46,15 +48,85 @@
(xml/parse istream secure-parser-factory))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; SVG SERIALIZATION
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(def ^:private xml-declaration
+ "Declaration written at the top of every sanitized document."
+ "")
+
+(defn- escape-text
+ "Escape the characters that are special inside a XML text node."
+ [s]
+ (-> s
+ (str/replace "&" "&")
+ (str/replace "<" "<")
+ (str/replace ">" ">")))
+
+(defn- escape-attr
+ "Escape the characters that are special inside a XML attribute value.
+ The value is written between double quotes, so the quote itself is
+ escaped too.
+
+ Tabs and line breaks become spaces: that is what the XML parser does
+ with them on the next read, and it keeps the output stable."
+ [s]
+ (-> (str s)
+ (str/replace #"[\t\r\n]" " ")
+ (str/replace "&" "&")
+ (str/replace "<" "<")
+ (str/replace ">" ">")
+ (str/replace "\"" """)
+ (str/replace "'" "'")))
+
+(defn- emit-element
+ "Serialize a parsed element, escaping every text and attribute value.
+
+ The tag and attribute names come from the parser, so they are valid
+ XML names; only their values can carry markup.
+
+ The attributes are sorted by name: the parser hands them over in the
+ reverse order of the document, so writing them as they come would
+ make the output change on every sanitization."
+ [{:keys [tag attrs content]}]
+ (let [attrs-str (apply str
+ (for [[k v] (sort-by (comp name key) attrs)]
+ (str " " (name k) "=\"" (escape-attr (str v)) "\"")))
+ content-str (apply str
+ (for [child content]
+ (if (map? child)
+ (emit-element child)
+ (escape-text child))))]
+ (if (seq content)
+ (str "<" (name tag) attrs-str ">" content-str "" (name tag) ">")
+ (str "<" (name tag) attrs-str "/>"))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SVG SANITIZATION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(def ^:private dangerous-attrs-pattern #"(?i)^on\w+$")
(def ^:private javascript-href-pattern #"(?i)^javascript:")
+(def ^:private url-ignored-chars
+ "Characters that the URL parser discards before it interprets the
+ scheme of an URL."
+ #"[\u0000-\u0020\u007f]")
+
+(defn- javascript-url?
+ "True when the value is a javascript: URL.
+
+ The comparison drops the characters the URL parser drops (tab, CR, LF
+ and spaces), so a scheme split with one of them (`java script:`)
+ cannot slip through."
+ [v]
+ (let [v (str/replace (str v) url-ignored-chars "")]
+ (boolean (re-find javascript-href-pattern (str/trim v)))))
+
(def ^:private dangerous-tags
#{"script" "foreignObject" "set"
- "animate" "animateTransform" "animateColor" "animateMotion"})
+ "animate" "animateTransform" "animateColor" "animateMotion"
+ "iframe" "meta" "embed" "link" "base"})
(defn- local-name
"Return the local name of a parsed tag or attribute keyword.
@@ -70,24 +142,82 @@
(last (str/split n ":"))
n)))
+(def ^:private svg-namespace "http://www.w3.org/2000/svg")
+
+(defn- namespace-bindings
+ "Return the namespace bindings in scope for an element: `::default`
+ plus the keyword prefixes declared in `attrs`, merged over the
+ inherited ones. The default binding is stored under a namespaced
+ keyword because a prefix cannot contain `/`, so no prefixed binding
+ can produce the same key.
+
+ The XML parser does not process namespaces, so the declarations are
+ plain attributes (`:xmlns`, `:xmlns:svg`) and the prefix is part of
+ the tag name (`:svg:svg`)."
+ [attrs inherited]
+ (let [own (reduce-kv (fn [acc k v]
+ (let [n (name k)]
+ (cond
+ (= n "xmlns") (assoc acc ::default v)
+ (str/starts-with? n "xmlns:") (assoc acc (keyword (subs n 6)) v)
+ :else acc)))
+ {}
+ attrs)]
+ (merge inherited own)))
+
+(defn- element-namespace
+ "Return the namespace URI of `tag` under `bindings`: the default
+ namespace when the tag has no prefix, the prefixed binding otherwise.
+
+ The prefix is part of the tag name (`:svg:svg`), so the binding key
+ is the prefix."
+ [tag bindings]
+ (let [n (name tag)
+ idx (str/last-index-of n ":")]
+ (if (nil? idx)
+ (::default bindings)
+ (get bindings (keyword (subs n 0 idx))))))
+
+(defn- svg-root?
+ "True when the element is an `svg` element in the SVG namespace.
+
+ The namespace is resolved with the same model as the recursion
+ (`namespace-bindings` + `element-namespace`), so the check does not
+ introduce a second rule."
+ [{:keys [tag attrs]}]
+ (let [bindings (namespace-bindings attrs {})]
+ (and (= "svg" (local-name tag))
+ (= svg-namespace (element-namespace tag bindings)))))
+
(defn- sanitize-svg-element
- "Recursively sanitize an SVG element by removing dangerous tags and attributes."
- [{:keys [tag attrs content] :as element}]
- (when (and (map? element) tag)
- (when-not (contains? dangerous-tags (local-name tag))
- (let [clean-attrs (->> attrs
- (remove (fn [[k v]]
- (or (re-matches dangerous-attrs-pattern (local-name k))
- (and (= "href" (local-name k))
- (string? v)
- (re-find javascript-href-pattern (str/trim v))))))
- (into {}))
+ "Recursively sanitize an SVG element by removing dangerous tags and
+ attributes.
+
+ The namespace bindings are tracked through the recursion: an element
+ that is not in the SVG namespace is dropped with its whole subtree,
+ because the filter only knows about SVG elements and a child that
+ rebinds the namespace to XHTML can carry live HTML."
+ [element bindings]
+ (let [{:keys [tag attrs content]} element
+ bindings (namespace-bindings attrs bindings)]
+ (when (and (map? element) tag
+ (not (contains? dangerous-tags (local-name tag)))
+ (= svg-namespace (element-namespace tag bindings)))
+ (let [clean-attrs (->> attrs
+ (remove (fn [[k v]]
+ (let [n (name k)]
+ (or (and (not (str/starts-with? n "xmlns"))
+ (re-matches dangerous-attrs-pattern (local-name k)))
+ (and (= "href" (local-name k))
+ (string? v)
+ (javascript-url? v))))))
+ (into {}))
clean-content (when content
(->> content
(filter #(or (string? %) (map? %)))
(map (fn [child]
(if (map? child)
- (sanitize-svg-element child)
+ (sanitize-svg-element child bindings)
child)))
(filter some?)
vec))]
@@ -97,22 +227,65 @@
(defn sanitize-svg
"Sanitize SVG content by removing dangerous elements and attributes.
Removes "
result (svg/sanitize-svg svg)]
- (t/is (not (clojure.string/includes? result ""
result (svg/sanitize-svg svg)]
- (t/is (not (clojure.string/includes? result "foreignObject")))
- (t/is (not (clojure.string/includes? result ""
result (svg/sanitize-svg svg)]
- (t/is (not (clojure.string/includes? result "]]> ")
+
+(def ^:private evil-javascript-svg
+ "An SVG with a javascript: URL obfuscated with a tab inside the scheme."
+ "x ")
+
+(def ^:private xhtml-document
+ "A document that is not an SVG at all, with HTML only elements."
+ "
+#### Upgrade to 2.19
+
+The Admin Console is now enabled by default, so the `enable-admin-console` flag is no longer needed and can be removed from `PENPOT_FLAGS`.
+
+The `penpot-admin-console` service and the `PENPOT_ADMIN_CONSOLE_URI` variable are part of the standard setup and are included in the official `docker-compose.yaml`. If you [upgraded to 2.18](#upgrade-to-2.18) following the guide, there is nothing else to do.
+
+If you don't want to run the Admin Console, you can disable it. Penpot keeps working as usual.
+
+1. Add `disable-admin-console` to `PENPOT_FLAGS`.
+2. Remove the `penpot-admin-console` service from your `docker-compose.yaml`, and from the `depends_on` list of `penpot-frontend`.
+3. Leave the `PENPOT_ADMIN_CONSOLE_URI` variable empty.
+
#### Upgrade to 2.18
This version deploys a new service, **`penpot-admin-console`**, in the official `docker-compose.yaml`
@@ -132,10 +144,9 @@ example. If you maintain your own compose file, you need to replicate the follow
**NOTE:** Enabling the Admin Console is not required in this version, but it will be in a future release.
We recommend setting it up now to avoid a more complex upgrade later.
-This step (the `enable-admin-console` flag) only applies to this version 2.18. In a future release, the
-Admin Console will be enabled by default and this flag will be removed. If you're upgrading directly to a
-version where the flag has already been removed, skip step 1 and go straight to steps 2–4, which remain
-required.
+This step (the `enable-admin-console` flag) only applies to this version 2.18. Since 2.19 the Admin
+Console is enabled by default: if you're upgrading directly to 2.19 or later, skip step 1 and go straight
+to steps 2–4, which remain required.
Wherever you set `PENPOT_FLAGS` (frontend and backend):
diff --git a/docs/technical-guide/integration.md b/docs/technical-guide/integration.md
index 2d8d1c5a0a..fbca5e780f 100644
--- a/docs/technical-guide/integration.md
+++ b/docs/technical-guide/integration.md
@@ -14,7 +14,7 @@ The system is relatively simple for now, but expect more functions in the future
## Webhooks
Outbound webhooks are event calls from Penpot to other applications, that
-notifiy some particular event has occured (e.g. a file has been created or
+notify some particular event has occurred (e.g. a file has been created or
updated, a comment has been added, etc.).
#### Webhooks managament
@@ -67,13 +67,13 @@ Personal access tokens function like an alternative to our login/password authen
Important: Treat your access tokens like passwords as they provide access to our account.
### Manage access tokens
-In Penpot, access tokens are configured at user account level. To manage your access tokens, go to Your account > Access tokens.
+In Penpot, access tokens are configured at user account level. To manage your access tokens, go to Your account > Integrations. You'll find them in the Personal access tokens section.

### Generate access tokens
-1. Press the "Generate new token" button.
+1. Press the "Create new access token" button.

@@ -83,7 +83,7 @@ In Penpot, access tokens are configured at user account level. To manage your ac

-4. Once you're happy with the name and the expiration date, press "Create token". At this step you will be able to copy the token to your clipboard.
+4. Once you're happy with the name and the expiration date, press "Create access token". At this step you will be able to copy the token to your clipboard. Keep it somewhere safe: once you close the dialog you will not be able to see it again.

diff --git a/docs/user-guide/account-teams/your-account.njk b/docs/user-guide/account-teams/your-account.njk
index 3267ac5886..f738f82361 100644
--- a/docs/user-guide/account-teams/your-account.njk
+++ b/docs/user-guide/account-teams/your-account.njk
@@ -30,6 +30,19 @@ desc: Learn how to import and export files in Penpot, the free, open-source desi
After several failed login attempts in a short time, your account can be locked for some minutes. Penpot shows how long to wait. Resetting your password unlocks it.
On self-hosted installations, the administrator sets these limits. See Session expiration and Account lockout in the Technical Guide.
+If you lose access to your account
+ #
+
+If you can no longer sign in to your Penpot cloud account, for example because your Google account was suspended or you lost access to your email, write to support@penpot.app . Once we confirm that the account is yours, we can give you access to its files from an account you can use.
+Include in your message:
+
+ The email of the account you can no longer access.
+ The email you can use now, if you already have another Penpot account.
+ Anything that helps us confirm the account is yours: names of projects, files or boards, file links, or screenshots of your designs.
+
+To avoid losing work, export your important files from time to time and keep the .penpot files somewhere safe.
+On self-hosted installations, contact the administrator of your instance.
+
Notifications
#
@@ -76,6 +89,6 @@ desc: Learn how to import and export files in Penpot, the free, open-source desi
Access tokens
#
-At the Asset tokens section you can manage your access tokens. Read more about access tokens here .
+At the Integrations section, under Personal access tokens , you can manage your access tokens. Read more about access tokens here .
diff --git a/docs/user-guide/design-systems/libraries.njk b/docs/user-guide/design-systems/libraries.njk
index d4b66e692e..d31debde9c 100644
--- a/docs/user-guide/design-systems/libraries.njk
+++ b/docs/user-guide/design-systems/libraries.njk
@@ -24,7 +24,7 @@ desc: Use Penpot's libraries for reusable design elements! Learn to create, mana
There are two ways to publish a library:
Using the file main menu.
- From the libraries panel, that you can launch by clicking on the "Libraries" button that is found at the assets tab.
+ From the libraries panel, that you can launch from the button at the top of the assets tab. It reads "Add library" when the file has no connected libraries and "Manage library" when it has.
diff --git a/docs/user-guide/designing/layers.njk b/docs/user-guide/designing/layers.njk
index 9aca80ced0..b90e158d4a 100644
--- a/docs/user-guide/designing/layers.njk
+++ b/docs/user-guide/designing/layers.njk
@@ -517,7 +517,7 @@ You can choose to edit individual nodes or create new ones. Press Esc
Opacity and blend
Set the overal opacity for layers and their blend mode.
-Blend allows you to control how a layer interacts with the layers beneath it, determining how pixels from the current layer are combined with pixels in the underlying layers. Use blend to achive various effects, such as shading, highlights, or creative visual styles.
+Blend allows you to control how a layer interacts with the layers beneath it, determining how pixels from the current layer are combined with pixels in the underlying layers. Use blend to achieve various effects, such as shading, highlights, or creative visual styles.
diff --git a/docs/user-guide/designing/workspace-basics.njk b/docs/user-guide/designing/workspace-basics.njk
index bcd23eb546..1f00bb725b 100644
--- a/docs/user-guide/designing/workspace-basics.njk
+++ b/docs/user-guide/designing/workspace-basics.njk
@@ -25,7 +25,7 @@ desc: Master Penpot's workspace basics! Learn interface navigation, zoom tools,
-There's a main menu at the workspace where you will find groups with all the actions that you can do at file level. File, View, Edit, Preferences and Help.
+There's a main menu at the workspace where you will find groups with all the actions that you can do at file level. File, Edit, View, Preferences, Plugins and Help & info. If the MCP server is enabled, you'll also find an MCP server entry.
diff --git a/docs/user-guide/first-steps/the-interface.njk b/docs/user-guide/first-steps/the-interface.njk
index c670c0f6c6..81e469c92f 100644
--- a/docs/user-guide/first-steps/the-interface.njk
+++ b/docs/user-guide/first-steps/the-interface.njk
@@ -131,8 +131,8 @@ desc: Discover Penpot's free user guide! Learn the interface, workspace basics,
Search: If you are looking for a specific file just type its title at the search box.
Projects: A project allows you to group design files. It works pretty much like a folder in a file system. You can create as many projects as you need. If you are going to work with more people in a project, you should create it inside a team.
Drafts: The drafts section is where you can find the design files that are not inside any project.
- Shared Libraries: In this section you will find all the design files that have been added as shared libraries. That way you will be able to better control the files that are sharing their assets.
- Custom fonts: If you have purchased or own personal fonts that are not included in the catalog provided by Penpot, you can upload them from your computer and use them across the files of a team.
+ Libraries: In this section you will find all the design files that have been added as shared libraries. That way you will be able to better control the files that are sharing their assets.
+ Fonts: If you have purchased or own personal fonts that are not included in the catalog provided by Penpot, you can upload them from your computer and use them across the files of a team.
Pinned projects: If you want to keep some projects handy (for instance because you’re currently working on them) you can pin them to make them quickly available at the sidebar.
User area: This must be you! Access your profile settings , Penpot tutorials, the Penpot Community and more. You can also find here a way to leave us feedback. We’d love to read your thoughts :).
Comments notifications: Here you will be able to see if you have unread comments inside the files of the team. There's also a button to mark all notifications as read.
diff --git a/exporter/package.json b/exporter/package.json
index d50b5b7a40..d5932a8aaf 100644
--- a/exporter/package.json
+++ b/exporter/package.json
@@ -4,7 +4,7 @@
"license": "MPL-2.0",
"author": "Kaleidos INC Sucursal en España SL",
"private": true,
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"repository": {
"type": "git",
"url": "https://github.com/penpot/penpot"
diff --git a/exporter/pnpm-lock.yaml b/exporter/pnpm-lock.yaml
index ad05f01e75..88059a630d 100644
--- a/exporter/pnpm-lock.yaml
+++ b/exporter/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/frontend/deps.edn b/frontend/deps.edn
index 7e19542857..ab7197c661 100644
--- a/frontend/deps.edn
+++ b/frontend/deps.edn
@@ -31,8 +31,8 @@
:git/url "https://github.com/funcool/rumext.git"}
penpot/tokenscript-interpreter
- {:git/tag "v0.1.0"
- :git/sha "224547d"
+ {:git/tag "v0.2.0"
+ :git/sha "20db9b1"
:git/url "https://github.com/penpot/tokenscript-interpreter.git"}
instaparse/instaparse {:mvn/version "1.5.0"}
diff --git a/frontend/package.json b/frontend/package.json
index 4a73f7a7ec..d5b917acd0 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -4,7 +4,7 @@
"license": "MPL-2.0",
"author": "Kaleidos INC Sucursal en España SL",
"private": true,
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"browserslist": [
"defaults"
],
diff --git a/frontend/packages/draft-js/package.json b/frontend/packages/draft-js/package.json
index 6531f4ca78..19fc00e59f 100644
--- a/frontend/packages/draft-js/package.json
+++ b/frontend/packages/draft-js/package.json
@@ -4,7 +4,7 @@
"description": "Penpot Draft-JS Wrapper",
"main": "index.js",
"type": "module",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"author": "Andrey Antukh",
"license": "MPL-2.0",
"dependencies": {
diff --git a/frontend/packages/mousetrap/package.json b/frontend/packages/mousetrap/package.json
index 3c22c33ff5..5b22f4faac 100644
--- a/frontend/packages/mousetrap/package.json
+++ b/frontend/packages/mousetrap/package.json
@@ -7,7 +7,7 @@
"scripts": {
"test": "node --test \"test/*.test.js\""
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"author": "Craig Campbell",
"license": "Apache-2.0 WITH LLVM-exception"
}
diff --git a/frontend/packages/ui/package.json b/frontend/packages/ui/package.json
index aea882f601..b65dfe3405 100644
--- a/frontend/packages/ui/package.json
+++ b/frontend/packages/ui/package.json
@@ -3,7 +3,7 @@
"version": "0.0.1",
"types": "./dist/index.d.ts",
"type": "module",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"exports": {
".": {
"import": "./dist/index.js"
diff --git a/frontend/playwright.config.js b/frontend/playwright.config.js
index 087e6ba56f..a7e5496a7a 100644
--- a/frontend/playwright.config.js
+++ b/frontend/playwright.config.js
@@ -11,6 +11,13 @@ const userAgent = platform === 'darwin' ?
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" :
undefined;
+// Default timeout of the retrying expects (toBeVisible and friends). CI
+// runners are slower and the first load of a page fetches its module, so
+// they get more time. A project that sets its own `expect` replaces the
+// top-level one instead of merging with it, so every such project has to
+// repeat this timeout or it falls back to Playwright's 5 seconds.
+const expectTimeout = process.env.CI ? 40000 : 5000;
+
/**
* @see https://playwright.dev/docs/test-configuration
*/
@@ -29,7 +36,7 @@ export default defineConfig({
timeout: 80000,
expect: {
- timeout: process.env.CI ? 40000 : 5000,
+ timeout: expectTimeout,
},
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
@@ -58,6 +65,7 @@ export default defineConfig({
},
snapshotPathTemplate: "{testDir}/{testFilePath}-snapshots/{arg}.png",
expect: {
+ timeout: expectTimeout,
toHaveScreenshot: {
maxDiffPixelRatio: 0.001,
},
@@ -70,6 +78,7 @@ export default defineConfig({
use: { ...devices["Desktop Chrome"], colorScheme: "dark" },
testDir: "./playwright/ui/visual-specs",
expect: {
+ timeout: expectTimeout,
toHaveScreenshot: { maxDiffPixelRatio: 0.005 },
},
},
diff --git a/frontend/playwright/data/dashboard/check-nitrate-sso-authorized.json b/frontend/playwright/data/dashboard/check-nitrate-sso-authorized.json
new file mode 100644
index 0000000000..0d710478b5
--- /dev/null
+++ b/frontend/playwright/data/dashboard/check-nitrate-sso-authorized.json
@@ -0,0 +1 @@
+{ "~:authorized": true }
diff --git a/frontend/playwright/data/dashboard/get-environment-data-empty.json b/frontend/playwright/data/dashboard/get-environment-data-empty.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/frontend/playwright/data/dashboard/get-environment-data-empty.json
@@ -0,0 +1 @@
+{}
diff --git a/frontend/playwright/data/dashboard/get-teams-organization.json b/frontend/playwright/data/dashboard/get-teams-organization.json
new file mode 100644
index 0000000000..4219dfa4d4
--- /dev/null
+++ b/frontend/playwright/data/dashboard/get-teams-organization.json
@@ -0,0 +1,78 @@
+[
+ {
+ "~:features": {
+ "~#set": [
+ "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
+ },
+ {
+ "~:features": {
+ "~#set": [
+ "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": "Second team",
+ "~:modified-at": "~m1701164272671",
+ "~:id": "~udd33ff88-f4e5-8033-8003-8096cc07bdf3",
+ "~:created-at": "~m1701164272671",
+ "~:is-default": false
+ },
+ {
+ "~:features": {
+ "~#set": [
+ "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": "Acme default",
+ "~:modified-at": "~m1713533116375",
+ "~:id": "~u11111111-1111-1111-1111-111111111111",
+ "~:created-at": "~m1713533116375",
+ "~:is-default": true,
+ "~:organization": {
+ "~:id": "~u22222222-2222-2222-2222-222222222222",
+ "~:name": "Acme",
+ "~:owner-id": "~u33333333-3333-3333-3333-333333333333",
+ "~:permissions": { "~:create-teams": "any" }
+ },
+ "~:organization-id": "~u22222222-2222-2222-2222-222222222222"
+ }
+]
diff --git a/frontend/playwright/ui/pages/BasePage.js b/frontend/playwright/ui/pages/BasePage.js
index 670e8a2766..f8f246058d 100644
--- a/frontend/playwright/ui/pages/BasePage.js
+++ b/frontend/playwright/ui/pages/BasePage.js
@@ -101,7 +101,11 @@ export class BasePage {
static async mockConfigFlags(page, flags, extras = {}) {
const url = "**/js/config.js*";
- const config = { penpotFlags: flags.join(" "), ...extras };
+ // The e2e suite mocks the backend and has no admin console behind it.
+ const config = {
+ penpotFlags: ["disable-admin-console", ...flags].join(" "),
+ ...extras,
+ };
const body = Object.entries(config)
.map(([key, value]) => `var ${key} = ${JSON.stringify(value)};`)
.join("\n");
diff --git a/frontend/playwright/ui/visual-specs/visual-dashboard.spec.js b/frontend/playwright/ui/visual-specs/visual-dashboard.spec.js
index 932ebb7061..94985dfeee 100644
--- a/frontend/playwright/ui/visual-specs/visual-dashboard.spec.js
+++ b/frontend/playwright/ui/visual-specs/visual-dashboard.spec.js
@@ -779,6 +779,62 @@ test.describe("Team pages controls", () => {
});
});
+test.describe("Dashboard headers", () => {
+ const shot = { maxDiffPixelRatio: 0, threshold: 0 };
+ const header = (page) => page.getByTestId("dashboard-header");
+
+ test("Page headers", async ({ page }) => {
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.setupDashboardFull();
+
+ await dashboardPage.goToDashboard();
+ await expect(header(page)).toHaveScreenshot(shot);
+ await dashboardPage.goToDrafts();
+ await expect(header(page)).toHaveScreenshot(shot);
+ await dashboardPage.goToLibraries();
+ await expect(header(page)).toHaveScreenshot(shot);
+ await dashboardPage.goToFonts();
+ await expect(header(page)).toHaveScreenshot(shot);
+ await dashboardPage.goToDeleted();
+ await expect(header(page)).toHaveScreenshot(shot);
+ await dashboardPage.goToSearch();
+ await expect(dashboardPage.mainHeading).toBeVisible();
+ await expect(header(page)).toHaveScreenshot(shot);
+ });
+
+ test("Team header menu", async ({ page }) => {
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.setupDashboardFull();
+ await dashboardPage.goToSecondTeamMembersSection();
+ await expect(dashboardPage.mainHeading).toHaveText("Members");
+
+ await page.mouse.move(10, 700);
+ await expect(header(page)).toHaveScreenshot(shot);
+ await header(page).getByText("Invitations").hover();
+ await expect(header(page)).toHaveScreenshot(shot);
+ });
+
+ test("Libraries page and search placeholder", async ({ page }) => {
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.setupDashboardFull();
+ await dashboardPage.goToLibraries();
+ await expect(page).toHaveScreenshot(shot);
+
+ await dashboardPage.goToSearch();
+ const placeholder = page.locator("[class*='grid-empty-placeholder']");
+ await expect(placeholder).toBeVisible();
+ await expect(placeholder).toHaveScreenshot(shot);
+ });
+
+ test("Account header", async ({ page }) => {
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.goToDashboard();
+ await dashboardPage.goToAccount();
+ await expect(page.getByTestId("account-title")).toBeVisible();
+ await expect(header(page)).toHaveScreenshot(shot);
+ });
+});
+
test.describe("Settings controls", () => {
const shot = { maxDiffPixelRatio: 0, threshold: 0 };
@@ -860,6 +916,9 @@ test.describe("Profile page controls", () => {
await page.getByText("Change email").hover();
await expect(container).toHaveScreenshot(shot);
+ await page.getByText("Want to remove your account?").hover();
+ await expect(container).toHaveScreenshot(shot);
+
// The "Update" overlay is a button: it shows on keyboard focus too.
await page.mouse.move(10, 700);
await page.getByRole("button", { name: "Update" }).focus();
@@ -894,6 +953,13 @@ test.describe("Templates section controls", () => {
await card.hover();
await expect(card).toHaveScreenshot(shot);
+ // Focused from the keyboard, a card looks like on hover.
+ await page.mouse.move(640, 100);
+ await page.keyboard.press("Shift");
+ await card.focus();
+ await expect(card).toHaveScreenshot(shot);
+ await card.blur();
+
const moveButtons = section.locator("[class*='move-button']");
await moveButtons.last().hover();
await expect(moveButtons.last()).toHaveScreenshot(shot);
@@ -947,3 +1013,93 @@ test.describe("Context notification", () => {
await expect(warning).toHaveScreenshot(shot);
});
});
+
+test.describe("Download report", () => {
+ test("Error page and feedback page links", async ({ page }) => {
+ const shot = { maxDiffPixelRatio: 0, threshold: 0 };
+ await DashboardPage.mockConfigFlags(page, [
+ "disable-onboarding",
+ "enable-user-feedback",
+ ]);
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.setupDashboardFull();
+ await page.route("**/api/main/methods/get-projects?*", (route) =>
+ route.fulfill({
+ status: 500,
+ contentType: "application/transit+json",
+ body: '["^ ","~:type","~:server-error","~:code","~:unexpected"]',
+ }),
+ );
+ await page.goto(
+ `/?screen=dashboard-recent&team-id=${DashboardPage.anyTeamId}`,
+ );
+
+ const errorLink = page.getByText("Download report.txt", { exact: true });
+ await expect(errorLink).toBeVisible();
+ await page.mouse.move(10, 10);
+ await expect(errorLink).toHaveScreenshot(shot);
+ await errorLink.hover();
+ await expect(errorLink).toHaveScreenshot(shot);
+
+ const errorDownload = page.waitForEvent("download");
+ await errorLink.focus();
+ await page.keyboard.press("Enter");
+ expect((await errorDownload).suggestedFilename()).toBe("report.txt");
+
+ await page.getByRole("button", { name: "Contact support" }).click();
+ const feedbackLink = page.getByText("Download report.txt", {
+ exact: true,
+ });
+ await expect(page.getByText("Send")).toBeVisible();
+ await page.mouse.move(10, 700);
+ await expect(feedbackLink).toHaveScreenshot(shot);
+ await feedbackLink.hover();
+ await expect(feedbackLink).toHaveScreenshot(shot);
+
+ const feedbackDownload = page.waitForEvent("download");
+ await feedbackLink.focus();
+ await page.keyboard.press("Enter");
+ expect((await feedbackDownload).suggestedFilename()).toBe("report.txt");
+ // The button is in the feedback form: Enter must not send it.
+ await expect(page.getByText("Send", { exact: true })).toBeVisible();
+ });
+});
+
+test.describe("Team settings organization", () => {
+ test("Shows the Add to an organization link", async ({ page }) => {
+ const shot = { maxDiffPixelRatio: 0, threshold: 0 };
+ // Organizations need the admin console flag, a team the user owns that
+ // is in no organization, and an organization the user belongs to.
+ await DashboardPage.mockConfigFlags(page, [
+ "disable-onboarding",
+ "enable-admin-console",
+ ]);
+ const dashboardPage = new DashboardPage(page);
+ await dashboardPage.setupDashboardFull();
+ await dashboardPage.mockRPC(
+ "get-teams",
+ "dashboard/get-teams-organization.json",
+ );
+ await dashboardPage.mockRPC(
+ /check-nitrate-sso/,
+ "dashboard/check-nitrate-sso-authorized.json",
+ );
+ await dashboardPage.mockRPC(
+ /get-environment-data/,
+ "dashboard/get-environment-data-empty.json",
+ );
+ await dashboardPage.mockRPC(
+ "get-team-stats?team-id=*",
+ "dashboard/get-team-stats.json",
+ );
+ await dashboardPage.goToSecondTeamSettingsSection();
+
+ const add = page.getByText("Add to an organization", { exact: true });
+ await expect(add).toBeVisible();
+ await page.mouse.move(10, 700);
+ await expect(add).toHaveScreenshot(shot);
+
+ await add.hover();
+ await expect(add).toHaveScreenshot(shot);
+ });
+});
diff --git a/frontend/playwright/ui/visual-specs/visual-login.spec.js b/frontend/playwright/ui/visual-specs/visual-login.spec.js
index 6b53a2d5d9..7c9650d656 100644
--- a/frontend/playwright/ui/visual-specs/visual-login.spec.js
+++ b/frontend/playwright/ui/visual-specs/visual-login.spec.js
@@ -37,3 +37,74 @@ test.describe("Login form", () => {
await expect(login.page).toHaveScreenshot();
});
});
+
+test.describe("Login dialog section links", () => {
+ const shot = { maxDiffPixelRatio: 0, threshold: 0 };
+
+ // The links switch the dialog section: the tests use the keyboard to
+ // check they work as buttons.
+ test("Login and register modal", async ({ page }) => {
+ // The viewer and the MCP authorize page share this modal; the MCP page
+ // opens it on a 401, with no file to load.
+ await LoginPage.mockConfigFlags(page, ["enable-registration"]);
+ await page.route("**/api/mcp/oauth/request?*", (route) =>
+ route.fulfill({
+ status: 401,
+ contentType: "application/json",
+ body: "{}",
+ }),
+ );
+ await page.goto("/?screen=mcp-authorize&request=test");
+
+ const modal = page.getByRole("dialog");
+ const forgot = modal.getByText("Forgot password?", { exact: true });
+ await expect(forgot).toBeVisible();
+ await page.mouse.move(10, 10);
+ await expect(forgot).toHaveScreenshot(shot);
+ await forgot.hover();
+ await expect(forgot).toHaveScreenshot(shot);
+
+ const create = modal.getByText("Create an account", { exact: true });
+ await create.hover();
+ await expect(create).toHaveScreenshot(shot);
+
+ await create.focus();
+ await page.keyboard.press("Enter");
+ const loginHere = modal.getByText("Login here.", { exact: true });
+ await expect(loginHere).toBeVisible();
+ await page.mouse.move(10, 10);
+ await expect(loginHere).toHaveScreenshot(shot);
+ await loginHere.hover();
+ await expect(loginHere).toHaveScreenshot(shot);
+
+ await loginHere.focus();
+ await page.keyboard.press("Enter");
+ await page.mouse.move(10, 10);
+ await expect(modal).toHaveScreenshot(shot);
+ });
+
+ test("Not found page dialog", async ({ page }) => {
+ await LoginPage.mockConfigFlags(page, ["enable-registration"]);
+ // An invalid team id is a not found error; logged out users get the
+ // login dialog on top of it.
+ await page.goto("/?screen=dashboard-recent&team-id=not-a-uuid");
+
+ const create = page.getByText("Create an account", { exact: true });
+ await expect(create).toBeVisible();
+ await page.mouse.move(10, 10);
+ await expect(create).toHaveScreenshot(shot);
+ await create.hover();
+ await expect(create).toHaveScreenshot(shot);
+
+ await create.focus();
+ await page.keyboard.press("Enter");
+ const loginHere = page.getByText("Login here.", { exact: true });
+ await expect(loginHere).toBeVisible();
+ // The new section reuses the focused button: blur it for the rest shot.
+ await loginHere.blur();
+ await page.mouse.move(10, 10);
+ await expect(loginHere).toHaveScreenshot(shot);
+ await loginHere.hover();
+ await expect(loginHere).toHaveScreenshot(shot);
+ });
+});
diff --git a/frontend/playwright/ui/visual-specs/workspace.spec.js b/frontend/playwright/ui/visual-specs/workspace.spec.js
index 5441abf974..bc3f1544ed 100644
--- a/frontend/playwright/ui/visual-specs/workspace.spec.js
+++ b/frontend/playwright/ui/visual-specs/workspace.spec.js
@@ -691,6 +691,67 @@ test.describe("Guides", () => {
});
});
+test.describe("Path actions", () => {
+ test("Shows the path editing bar and its menus", async ({ page }) => {
+ const workspace = new WorkspacePage(page);
+ await workspace.setupEmptyFile();
+ await workspace.goToWorkspace();
+
+ // A path with a curve node, so the handler menu shows.
+ await page.keyboard.press("p");
+ await workspace.clickAt(200, 200);
+ await workspace.clickAndMove(400, 200, 450, 300);
+ await workspace.clickAt(300, 400);
+ await page.keyboard.press("Enter");
+
+ const bar = page.locator("[class*='sub-actions']").first();
+ await expect(bar).toBeVisible();
+ await page.mouse.move(640, 600);
+ await expect(bar).toHaveScreenshot("path-actions-draw.png", {
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+
+ // Select every node so all the node actions show.
+ await bar.getByRole("button", { name: /Move nodes/ }).click();
+ await workspace.clickWithDragViewportAt(150, 150, 350, 300);
+ await page.mouse.move(640, 600);
+ await expect(bar).toHaveScreenshot("path-actions.png", {
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+
+ const box = await bar.boundingBox();
+ const clip = {
+ x: box.x - 40,
+ y: box.y,
+ width: box.width + 80,
+ height: box.height + 46,
+ };
+
+ await bar.getByRole("button", { name: /Merge nodes/ }).hover();
+ // Let the tooltip show.
+ await page.waitForTimeout(1000);
+ await expect(page).toHaveScreenshot("path-actions-hover.png", {
+ clip,
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+
+ await bar.getByRole("button", { name: /Handler/ }).click();
+ await expect(
+ bar.getByRole("button", { name: "Independent" }),
+ ).toBeVisible();
+ // Let the menu fade in.
+ await page.waitForTimeout(500);
+ await expect(page).toHaveScreenshot("path-actions-handlers.png", {
+ clip,
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+ });
+});
+
test.describe("Viewport top bar", () => {
test("Shows the view only bar of the inspect tab", async ({ page }) => {
const workspace = new WorkspacePage(page);
@@ -744,6 +805,26 @@ test.describe("Left header", () => {
threshold: 0,
});
});
+
+ test("Shows the Penpot logo link", async ({ page }) => {
+ const workspace = new WorkspacePage(page);
+ await workspace.setupEmptyFile();
+ await workspace.goToWorkspace();
+
+ const logo = page.locator("header a[class*='main-icon']");
+ await expect(logo).toBeVisible();
+ await page.mouse.move(640, 600);
+ await expect(logo).toHaveScreenshot("left-header-logo.png", {
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+
+ await logo.hover();
+ await expect(logo).toHaveScreenshot("left-header-logo-hover.png", {
+ maxDiffPixelRatio: 0,
+ threshold: 0,
+ });
+ });
});
test.describe("Right header", () => {
@@ -1328,3 +1409,25 @@ test.describe("Gradient type select", () => {
await expect(panel).toHaveScreenshot(shot);
});
});
+
+test.describe("Shortcuts panel", () => {
+ const shot = { maxDiffPixelRatio: 0, threshold: 0 };
+
+ test("Wraps long key lists between combinations", async ({ page }) => {
+ const workspace = new WorkspacePage(page);
+ await workspace.setupEmptyFile();
+ await workspace.goToWorkspace();
+
+ await page.keyboard.press("Shift+?");
+ const list = page.locator("[class*='shortcuts-list']");
+ await expect(list).toBeVisible();
+ await page.getByRole("textbox").first().fill("board");
+
+ const next = page.getByRole("listitem", { name: "Next board" });
+ const prev = page.getByRole("listitem", { name: "Previous board" });
+ await prev.scrollIntoViewIfNeeded();
+ await page.mouse.move(640, 300);
+ await expect(next).toHaveScreenshot(shot);
+ await expect(prev).toHaveScreenshot(shot);
+ });
+});
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
index 3efa68def5..9f290ceb3f 100644
--- a/frontend/pnpm-lock.yaml
+++ b/frontend/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/frontend/resources/styles/common/refactor/common-dashboard.scss b/frontend/resources/styles/common/refactor/common-dashboard.scss
deleted file mode 100644
index ba38cd0b78..0000000000
--- a/frontend/resources/styles/common/refactor/common-dashboard.scss
+++ /dev/null
@@ -1,159 +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 SUBSIDIARY SL
-
-@use "refactor/common-refactor" as *;
-
-.dashboard-header {
- align-items: center;
- display: flex;
- height: $s-64;
- max-height: $s-64;
- justify-content: space-between;
- padding: $s-4 $s-16 $s-4 $s-8;
- position: relative;
- user-select: none;
-
- &.team {
- display: grid;
- grid-template-columns: 20% 1fr 20%;
- max-height: $s-64;
- }
-
- .element-name {
- margin-right: $s-8;
- }
-
- .btn-secondary {
- flex-shrink: 0;
- height: $s-32;
-
- svg {
- height: $s-16;
- width: $s-16;
- }
- }
-
- nav {
- display: flex;
- align-items: flex-end;
- justify-content: center;
-
- ul {
- display: flex;
- font-size: $fs-14;
- justify-content: center;
- margin: 0;
- }
-
- li {
- a {
- display: flex;
- align-items: center;
- flex-basis: $s-140;
- border-bottom: $s-3 solid transparent;
- color: var(--color-foreground-secondary);
- height: $s-40;
- padding: $s-4 $s-24;
- font-weight: $fw400;
-
- &:hover {
- color: var(--color-background-secondary);
- text-decoration: none;
- }
- }
- }
- }
-
- .dashboard-title {
- display: flex;
- align-items: center;
- margin-left: $s-12;
-
- h1 {
- color: var(--color-foreground-primary);
- display: block;
- flex-shrink: 0;
- font-size: $fs-24;
- font-weight: $fw400;
- max-width: $s-712;
- overflow: hidden;
- text-overflow: ellipsis;
- user-select: all;
- white-space: nowrap;
- width: 100%;
- }
-
- .context-menu.is-open {
- margin-top: $s-8;
- }
- }
-
- .icon {
- display: flex;
- align-items: center;
- cursor: pointer;
-
- svg {
- stroke: var(--color-foreground-secondary);
- fill: none;
- width: $s-16;
- height: $s-16;
-
- &:hover {
- stroke: var(--color-accent-tertiary);
- fill: none;
- }
- }
- }
-
- .dashboard-buttons {
- display: flex;
- justify-content: flex-end;
- align-items: center;
- }
-
- .dashboard-header-actions {
- display: flex;
- column-gap: $s-16;
- }
-
- .dashboard-header-options {
- li {
- a {
- font-size: $s-16;
- color: var(--color-foreground-secondary);
- border-color: transparent;
-
- &:hover {
- color: var(--color-foreground-primary);
- }
- }
-
- &.active {
- a {
- color: var(--color-foreground-primary);
- }
- }
- }
- }
-}
-
-.btn-primary {
- @extend %button-primary;
-
- text-transform: uppercase;
- font-size: $fs-14;
- font-weight: $fw400;
-}
-
-.btn-secondary {
- @extend %button-secondary;
-
- color: var(--color-foreground-primary);
- font-size: $fs-12;
- text-transform: uppercase;
- padding: 0 $s-16;
-}
diff --git a/frontend/scripts/_helpers.js b/frontend/scripts/_helpers.js
index 9a6bf14ec8..2b59eb9038 100644
--- a/frontend/scripts/_helpers.js
+++ b/frontend/scripts/_helpers.js
@@ -328,7 +328,7 @@ export async function compileTranslations() {
"nl",
// this happens when file does not matches correct
// iso code for the language.
- ["ja_jp", "jpn_JP"],
+ ["ja", "jpn_JP"],
["uk", "ukr_UA"],
"ha",
];
diff --git a/frontend/scripts/check-translations/words.es.txt b/frontend/scripts/check-translations/words.es.txt
index 89cfcb7dc0..5111ebe320 100644
--- a/frontend/scripts/check-translations/words.es.txt
+++ b/frontend/scripts/check-translations/words.es.txt
@@ -263,6 +263,7 @@ eliminarlo
eliminarlos
ella
ellos
+ese
eso
esos
este
@@ -271,6 +272,7 @@ estándar
expirada
funcionalidades
granulares
+guardarlos
hay
hubo
importada
@@ -296,6 +298,7 @@ puesto
regenerada
restaurarlo
restaurarlos
+sal
seleccionada
selector
servidores
diff --git a/frontend/shadow-cljs.edn b/frontend/shadow-cljs.edn
index 9956823eeb..ef226a62b0 100644
--- a/frontend/shadow-cljs.edn
+++ b/frontend/shadow-cljs.edn
@@ -2,7 +2,7 @@
:http {:port #shadow/env ["HTTP_PORT" :as :int :default 3448]}
:nrepl {:port #shadow/env ["NREPL_PORT" :as :int :default 3447] :host "0.0.0.0"}
:dev-http {#shadow/env ["DEV_PORT" :as :int :default 8888] "classpath:public"}
- :cache-dir #shadow/env ["CACHE" :default ".shadow-cljs"]
+ :cache-root #shadow/env ["CACHE" :default ".shadow-cljs"]
:builds
{:main
diff --git a/frontend/src/app/main.cljs b/frontend/src/app/main.cljs
index 635572996f..047807464c 100644
--- a/frontend/src/app/main.cljs
+++ b/frontend/src/app/main.cljs
@@ -67,9 +67,10 @@
[]
(ptk/reify ::initialize-rasterizer
ptk/EffectEvent
- (effect [_ _ _]
- ;; The rasterizer is used for the dashboard thumbnails
- (thr/init!))))
+ (effect [_ state _]
+ ;; Only the SVG renderer uses the rasterizer
+ (when-not (feat/active-feature? state "render-wasm/v1")
+ (thr/init!)))))
(defn initialize
[]
@@ -107,9 +108,8 @@
(rx/map #(ws/initialize)))
(->> stream
- (rx/filter (ptk/type? ::feat/initialize))
- (rx/take 1)
- (rx/map #(initialize-rasterizer)))))))
+ (rx/filter (comp #{::feat/initialize ::feat/recompute-features} ptk/type))
+ (rx/map initialize-rasterizer))))))
(defn ^:export init
[options]
diff --git a/frontend/src/app/main/data/auth.cljs b/frontend/src/app/main/data/auth.cljs
index 57c49eff03..003d9014db 100644
--- a/frontend/src/app/main/data/auth.cljs
+++ b/frontend/src/app/main/data/auth.cljs
@@ -31,16 +31,70 @@
[{:keys [id]}]
(and (uuid? id) (not= id uuid/zero)))
+;; --- AUTH ORIGIN
+
+(def schema:auth-origin
+ [:map
+ [:source [:enum "login" "register"]]
+ [:auth-backend [:enum "penpot" "ldap" "google" "github" "gitlab" "oidc"]]
+ [:activation {:optional true} [:enum "immediate" "email-verification"]]
+ [:from-invitation {:optional true} :boolean]])
+
+(defn auth-origin
+ "Canonical description of how an auth flow happened. The fields that
+ do not apply are omitted: a login carries no `:activation`."
+ [{:keys [source auth-backend activation from-invitation]}]
+ (let [origin (d/without-nils
+ {:source source
+ :auth-backend auth-backend
+ :activation activation
+ :from-invitation from-invitation})]
+ (assert (sm/check schema:auth-origin origin) "invalid auth-origin")
+ origin))
+
+(defn- profile-origin
+ [profile]
+ (let [m (meta profile)]
+ (auth-origin
+ {:source (::ev/source m)
+ :activation (::ev/activation m)
+ :auth-backend (:auth-backend profile)
+ :from-invitation (some? (:invitation-token profile))})))
+
+(def ^:private iss->origin
+ {:auth {:source "login"}
+ :verify-email {:source "register" :activation "email-verification"}})
+
+(defn- origin-meta
+ [{:keys [source activation]}]
+ (d/without-nils {::ev/source source
+ ::ev/activation activation}))
+
;; --- EVENT: login
+(defn- get-invitation-nav
+ "Observable that emits the navigation to the token verification screen
+ when the profile carries an invitation token, and nothing otherwise.
+
+ It does not depend on the teams: `fetch-teams` has no error handling,
+ so waiting for it would leave the invitation unaccepted when that call
+ fails."
+ [profile]
+ (->> (rx/of (:invitation-token profile))
+ (rx/filter some?)
+ (rx/map #(rt/nav :auth-verify-token {:token %}))))
+
(defn- logged-in
"This is the main event that is executed once we have logged in
profile. The profile can proceed from standard login or from
accepting invitation, or third party auth signup or singin."
[profile]
(letfn [(get-redirect-events [teams]
- (if-let [token (:invitation-token profile)]
- (rx/of (rt/nav :auth-verify-token {:token token}))
+ (if (some? (:invitation-token profile))
+ ;; The invitation navigates on its own, without waiting for
+ ;; the teams; this branch must not move the user away from
+ ;; the token verification screen.
+ (rx/empty)
(if-let [redirect-href (:login-redirect storage/session)]
(binding [storage/*sync* true]
(swap! storage/session dissoc :login-redirect)
@@ -69,17 +123,22 @@
(ws/initialize)
(dtm/fetch-teams))
+ ;; The invitation resolves on its own, without waiting for the
+ ;; teams.
+ (->> (get-invitation-nav profile)
+ (rx/observe-on :async))
+
;; We schedule this event to be executed a bit later,
;; when the profile is already set
- (->> (rx/of (ev/event {::ev/name "signin"
- ::ev/type "identify"
- :id (:id profile)
- :email (:email profile)
- :auth-backend (:auth-backend profile)
- :fullname (:fullname profile)
- :is-muted (:is-muted profile)
- :default-team-id (:default-team-id profile)
- :default-project-id (:default-project-id profile)}))
+ (->> (rx/of (ev/event (merge {::ev/name "signin"
+ ::ev/type "identify"
+ :id (:id profile)
+ :email (:email profile)
+ :fullname (:fullname profile)
+ :is-muted (:is-muted profile)
+ :default-team-id (:default-team-id profile)
+ :default-project-id (:default-project-id profile)}
+ (profile-origin profile))))
(rx/observe-on :async))
@@ -135,7 +194,7 @@
(rx/filter is-authenticated?)
(rx/map (fn [profile]
(with-meta (merge data profile)
- {::ev/source "login"})))
+ (origin-meta {:source "login"}))))
(rx/tap on-success)
(rx/map logged-in)
(rx/observe-on :async)))))
@@ -161,7 +220,7 @@
(rx/tap on-success)
(rx/map (fn [profile]
(-> profile
- (with-meta {::ev/source "login-with-ldap"})
+ (with-meta (origin-meta {:source "login"}))
(logged-in))))
(rx/catch on-error))))))
@@ -193,7 +252,7 @@
(defn login-from-token
"Used mainly as flow continuation after token validation."
- [{:keys [profile invitation-token] :as tdata}]
+ [{:keys [profile invitation-token iss] :as tdata}]
(ptk/reify ::login-from-token
ptk/WatchEvent
(watch [_ _ _]
@@ -204,29 +263,35 @@
(assoc :invitation-token invitation-token)
:always
- (with-meta {::ev/source "login-with-token"}))]
+ (with-meta (origin-meta (iss->origin iss))))]
(logged-in profile))))))))
+(defn- with-register-origin
+ [profile invitation-token]
+ (-> profile
+ (cond-> (some? invitation-token)
+ (assoc :invitation-token invitation-token))
+ (with-meta (origin-meta {:source "register" :activation "immediate"}))))
+
(defn login-from-register
"Event used mainly for mark current session as logged-in in after the
user successfully registered using third party auth provider (in this
case we dont need to verify the email)."
- []
- (ptk/reify ::login-from-register
- ptk/WatchEvent
- (watch [_ _ stream]
- (rx/merge
- (rx/of (dp/fetch-profile))
- (->> stream
- (rx/filter dp/profile-fetched?)
- (rx/take 1)
- (rx/map deref)
- (rx/filter is-authenticated?)
- (rx/map (fn [profile]
- (with-meta profile
- {::ev/source "register"})))
- (rx/map logged-in)
- (rx/observe-on :async))))))
+ ([] (login-from-register nil))
+ ([{:keys [invitation-token]}]
+ (ptk/reify ::login-from-register
+ ptk/WatchEvent
+ (watch [_ _ stream]
+ (rx/merge
+ (rx/of (dp/fetch-profile))
+ (->> stream
+ (rx/filter dp/profile-fetched?)
+ (rx/take 1)
+ (rx/map deref)
+ (rx/filter is-authenticated?)
+ (rx/map #(with-register-origin % invitation-token))
+ (rx/map logged-in)
+ (rx/observe-on :async)))))))
;; --- EVENT: logout
diff --git a/frontend/src/app/main/data/changes.cljs b/frontend/src/app/main/data/changes.cljs
index ee8eaa33f3..e114ed26b7 100644
--- a/frontend/src/app/main/data/changes.cljs
+++ b/frontend/src/app/main/data/changes.cljs
@@ -16,6 +16,9 @@
[app.common.uuid :as uuid]
[app.main.data.event :as ev]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.commits :as pcm]
+ [app.main.data.persistence.lock :as plk]
+ [app.main.data.workspace :as-alias dw]
[app.main.features :as features]
[app.main.worker :as mw]
[app.render-wasm.api :as wasm.api]
@@ -68,12 +71,6 @@
(rx/empty)))
(rx/ignore))))))
-(defn- get-pending-commits
- [{:keys [persistence]}]
- (->> (:queue persistence)
- (map (d/getf (:index persistence)))
- (not-empty)))
-
(def ^:private xf:map-page-id
;; Component-only changes have no :page-id; keep drops those nils so
;; update-object-indices does not create a nil key in :pages-index.
@@ -162,7 +159,7 @@
"Create a commit event instance"
[{:keys [commit-id redo-changes undo-changes origin save-undo? features
file-id file-revn file-vern undo-group tags stack-undo? source ignore-wasm?
- selected-before translation? skip-component-sync?]}]
+ selected-before translation? skip-component-sync? undo-index]}]
(assert (cpc/check-changes redo-changes)
"expect valid vector of changes for redo-changes")
@@ -191,7 +188,9 @@
:ignore-wasm? ignore-wasm?
:selected-before selected-before
:translation? translation?
- :skip-component-sync? skip-component-sync?}]
+ :skip-component-sync? skip-component-sync?
+ ;; Undo history index an undo or redo commit moved away from
+ :undo-index undo-index}]
(ptk/reify ::commit
cljs.core/IDeref
@@ -200,7 +199,7 @@
ptk/WatchEvent
(watch [_ state _]
(let [pending (when-not local?
- (get-pending-commits state))]
+ (not-empty (pcm/pending-commits (:persistence state) file-id)))]
(rx/concat
(rx/of (apply-changes-localy commit pending))
(if pending
@@ -212,6 +211,54 @@
(rx/map (fn [commit] (update-indexes commit :redo-changes)))))
(rx/of (update-indexes commit :redo-changes)))))))))
+(defn rebase-commits
+ "Undoes `undo`, applies `remote` and redoes `redo` on the local data of
+ `file-id`, commits oldest first. Nothing is saved or added to the undo
+ history; if the changes fail to apply, the file is reloaded.
+
+ Not a commit, so commit watchers miss it: once it has run, its deref
+ gives `{:file-id :changes :failed}` (`:failed` true when the file
+ reloads instead)."
+ [file-id {:keys [undo remote redo]}]
+ (let [commit {:file-id file-id
+ :redo-changes (-> []
+ (into (mapcat :undo-changes) (reverse undo))
+ (into remote)
+ (into (mapcat :redo-changes) redo))}
+ event (apply-changes-localy commit nil)
+ failed? (volatile! false)]
+ (ptk/reify ::rebase-commits
+ IDeref
+ (-deref [_]
+ {:file-id file-id
+ :changes (:redo-changes commit)
+ :failed @failed?})
+
+ ptk/UpdateEvent
+ (update [_ state]
+ (if (dsh/lookup-file-data state file-id)
+ (try
+ (ptk/update event state)
+ (catch :default cause
+ (log/error :hint "unable to rebase commits" :file-id (str file-id) :cause cause)
+ (vreset! failed? true)
+ state))
+ state))
+
+ ptk/WatchEvent
+ (watch [_ state stream]
+ (cond
+ @failed?
+ (rx/of (ptk/event ::dw/reload-current-file))
+
+ (dsh/lookup-file-data state file-id)
+ (rx/merge
+ (or (ptk/watch event state stream) (rx/empty))
+ (rx/of (update-indexes commit :redo-changes)))
+
+ :else
+ (rx/empty))))))
+
(defn- resolve-file-revn
[state file-id]
(:revn (dsh/lookup-file state file-id)))
@@ -227,13 +274,17 @@
Options:
- save-undo?: if set to false, do not add undo changes.
- undo-group: if some consecutive changes (or even transactions) share the same
- undo-group, they will be undone or redone in a single step
+ undo-group, they will be undone or redone in a single step. Without
+ it, a commit made while an undo transaction is open joins the
+ transaction's group, and any other gets a new one.
+ - ignore-save-lock: commit even while the save-failure lock holds. Only for
+ commits that are not user edits: the undo of rolled-back
+ commits and data derived from commits already made.
"
[{:keys [redo-changes undo-changes save-undo? undo-group tags stack-undo? file-id
- translation? skip-component-sync?]
+ translation? skip-component-sync? ignore-save-lock]
:or {save-undo? true
stack-undo? false
- undo-group (uuid/next)
tags #{}}
:as params}]
(ptk/reify ::commit-changes
@@ -249,13 +300,19 @@
;; Historical previews must not create edits to the live file. Check
;; this when creating commits so previously queued edits can still save.
+ ;; While saves fail, a user edit would queue behind the failed save.
;; Refusals answer with an empty stream (never nil) so callers can
;; uniformly subscribe and observe termination.
(if (and (:can-edit permissions)
- (not (dm/get-in state [:workspace-global :preview-id])))
+ (not (dm/get-in state [:workspace-global :preview-id]))
+ (or ignore-save-lock (not (plk/locked? state))))
(do
(log/trace :hint "commit-changes" :redo-changes redo-changes)
- (let [selected (dm/get-in state [:workspace-local :selected])]
+ (let [selected (dm/get-in state [:workspace-local :selected])
+ tx (dm/get-in state [:workspace-undo :transaction])
+ ;; Inside an undo transaction, the group of its history entry
+ ;; (taken from its first commit), or the one it was opened with
+ undo-group (or undo-group (:undo-group tx) (:commit-group tx) (uuid/next))]
(rx/of (-> params
(assoc :undo-group undo-group)
(assoc :features features)
diff --git a/frontend/src/app/main/data/comments.cljs b/frontend/src/app/main/data/comments.cljs
index 3371dcd592..ff993be7d9 100644
--- a/frontend/src/app/main/data/comments.cljs
+++ b/frontend/src/app/main/data/comments.cljs
@@ -462,6 +462,18 @@
(rx/map #(partial fetched-comments %))
(rx/catch #(rx/throw {:type :comment-error})))))))
+;; Has to fit in the limit of the backend rpc
+;; (backend/src/app/rpc/commands/comments.clj).
+(def ^:private mark-all-threads-batch-size 500)
+
+(defn mark-all-threads-batches
+ "Splits the thread ids into the batches that the backend accepts on a
+ single call."
+ [thread-ids]
+ (->> thread-ids
+ (partition-all mark-all-threads-batch-size)
+ (mapv vec)))
+
(defn mark-all-threads-as-read
"Mark all threads as read"
[team-id]
@@ -470,11 +482,23 @@
(-data [_] {})
ptk/WatchEvent
(watch [_ state _]
- (let [threads (-> state :comment-threads vals)]
+ (let [threads (-> state :comment-threads vals)
+ batches (mark-all-threads-batches (mapv :id threads))
+ refresh-event (retrieve-unread-comment-threads team-id)]
(rx/concat
- (->> (rp/cmd! :mark-all-threads-as-read {:threads (mapv :id threads)})
- (rx/map #(retrieve-unread-comment-threads team-id))
- (rx/catch #(rx/throw {:type :comment-error})))
+ (->> (rx/from batches)
+ (rx/mapcat (fn [batch]
+ (rp/cmd! :mark-all-threads-as-read {:threads batch})))
+ (rx/reduce (fn [_ _] nil) nil)
+ (rx/map (fn [_] refresh-event))
+ ;; Each batch commits on the server on its own, so a failure in
+ ;; a later batch leaves the previous ones already marked as
+ ;; read. The unread list is re-read anyway and the error is
+ ;; propagated afterwards, so the success toast below stays
+ ;; limited to a full success.
+ (rx/catch (fn [_]
+ (rx/concat (rx/of refresh-event)
+ (rx/throw {:type :comment-error})))))
(rx/of (ntf/show {:level :info
:type :toast
:content (tr "dashboard.mark-all-as-read.success")
diff --git a/frontend/src/app/main/data/common.cljs b/frontend/src/app/main/data/common.cljs
index b04228694c..c2a7de99af 100644
--- a/frontend/src/app/main/data/common.cljs
+++ b/frontend/src/app/main/data/common.cljs
@@ -18,6 +18,7 @@
[app.main.data.modal :as modal]
[app.main.data.notifications :as ntf]
[app.main.data.persistence :as-alias dps]
+ [app.main.data.team :as dtm]
[app.main.repo :as rp]
[app.main.router :as rt]
[app.main.store :as st]
@@ -250,7 +251,11 @@
Updates local team organization data and redirects to SSO when required.
`team` and `notification` come from the server-published message (see backend
app.rpc.notifications/notify-team-change); `notification` is a translation
- key resolved here, dynamic by design."
+ key resolved here, dynamic by design.
+
+ The message is broadcast to every connected user, so it cannot carry the
+ per-profile `:restrictions-met`: the last known value is kept and the teams
+ are fetched again to get the current profile's one."
[{:keys [team notification]}]
(ptk/reify ::handle-change-team-organization
ptk/WatchEvent
@@ -259,11 +264,14 @@
organization (:organization team)
team-name (or (:name team)
(dm/get-in state [:teams (:id team) :name]))
- current-team? (= (:id team) current-team-id)]
+ current-team? (= (:id team) current-team-id)
+ known-team? (contains? (:teams state) (:id team))]
(when (and (contains? cf/flags :admin-console)
- current-team?)
+ (or current-team? known-team?))
(rx/concat
- (when notification
+ (when known-team?
+ (rx/of (dtm/fetch-teams)))
+ (when (and current-team? notification)
;; Execution time translation strings (keys sent by the backend):
;; (tr "dashboard.team-belong-organization")
;; (tr "dashboard.team-no-longer-belong-organization")
@@ -274,8 +282,9 @@
:type :toast
:level :info
:timeout nil})))
- (when (:id organization)
- (check-team-sso current-team-id)))))) ptk/UpdateEvent
+ (when (and current-team? (:id organization))
+ (check-team-sso current-team-id))))))
+ ptk/UpdateEvent
(update [_ state]
(if (contains? cf/flags :admin-console)
(let [team-id (:id team)
@@ -283,8 +292,14 @@
organization (:organization team)]
(d/update-in-when state [:teams team-id]
(fn [team]
- (cond-> (cto/apply-organization team organization)
- team-name (assoc :name team-name)))))
+ (let [same-organization? (= (:id organization)
+ (dm/get-in team [:organization :id]))
+ organization (cond-> organization
+ same-organization?
+ (assoc :restrictions-met
+ (dm/get-in team [:organization :restrictions-met])))]
+ (cond-> (cto/apply-organization team organization)
+ team-name (assoc :name team-name))))))
state))))
(defn handle-organization-change-sso
diff --git a/frontend/src/app/main/data/dashboard.cljs b/frontend/src/app/main/data/dashboard.cljs
index a6c3a3db77..939ef5ec48 100644
--- a/frontend/src/app/main/data/dashboard.cljs
+++ b/frontend/src/app/main/data/dashboard.cljs
@@ -23,6 +23,7 @@
[app.main.data.helpers :as dsh]
[app.main.data.modal :as modal]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as dps]
[app.main.data.project :as dpj]
[app.main.data.team :as dtm]
[app.main.data.websocket :as dws]
@@ -578,29 +579,60 @@
(rx/map #(with-meta (file-created %) (meta it)))
(rx/catch on-error))))))
-;; --- EVENT: duplicate-file
+;; --- EVENT: duplicate-files
-(defn duplicate-file
- [{:keys [id name] :as params}]
- (dm/assert! (uuid? id))
- (dm/assert! (string? name))
- (ptk/reify ::duplicate-file
+;; Longest wait for the pending changes of a file to be saved before copying it.
+(def ^:private save-wait-timeout-ms 10000)
+
+(defn- notify-duplicated
+ "Tells the user the `n` copies exist. With `unsaved`, warns instead that
+ they miss the changes not saved yet."
+ [n unsaved]
+ (if unsaved
+ (ntf/show {:content (tr "dashboard.duplicate-unsaved-changes" (i18n/c n))
+ :type :toast
+ :level :warning
+ :timeout 8000})
+ (ntf/success (tr "dashboard.success-duplicate-file" (i18n/c n)))))
+
+(defn- copy-files
+ "Copies `files` on the server, then tells the user. A copy that fails
+ ends the stream with its error, so nothing is told."
+ [files]
+ (ptk/reify ::copy-files
ptk/WatchEvent
(watch [_ state _]
- (let [{:keys [on-success on-error]
- :or {on-success identity
- on-error rx/throw}} (meta params)
- unames (cfh/get-used-names (get state :files))
+ (let [file-ids (into #{} (map :id) files)
+ ;; The copies hold the server's data, so what is unsaved now is missing
+ unsaved (dps/unsaved-changes? state file-ids)
+ unames (cfh/get-used-names (get state :files))
suffix-fn (fn [copy-count]
(str/concat " "
(tr "dashboard.copy-suffix")
(when (> copy-count 1)
- (str " " copy-count))))
- new-name (cfh/generate-unique-name name unames :suffix-fn suffix-fn)]
- (->> (rp/cmd! :duplicate-file {:file-id id :name new-name})
- (rx/tap on-success)
- (rx/map file-created)
- (rx/catch on-error))))))
+ (str " " copy-count))))]
+ (rx/concat
+ (->> (rx/from files)
+ (rx/merge-map
+ (fn [{:keys [id name]}]
+ (let [new-name (cfh/generate-unique-name name unames :suffix-fn suffix-fn)]
+ (->> (rp/cmd! :duplicate-file {:file-id id :name new-name})
+ (rx/map file-created))))))
+ (rx/of (notify-duplicated (count files) unsaved)))))))
+
+(defn duplicate-files
+ "Sends the pending changes of `files`, copies them and tells the user
+ once every copy exists."
+ [files]
+ (dm/assert! (every? (comp uuid? :id) files))
+ (dm/assert! (every? (comp string? :name) files))
+ (ptk/reify ::duplicate-files
+ ptk/WatchEvent
+ (watch [_ _ _]
+ ;; The copy is made from the server's data: send the pending changes first.
+ (rx/concat
+ (dps/force-persist-files-and-wait (into #{} (map :id) files) save-wait-timeout-ms)
+ (rx/of (copy-files files))))))
;; --- EVENT: move-files
diff --git a/frontend/src/app/main/data/event.cljs b/frontend/src/app/main/data/event.cljs
index c381583e12..64070e1e85 100644
--- a/frontend/src/app/main/data/event.cljs
+++ b/frontend/src/app/main/data/event.cljs
@@ -8,7 +8,6 @@
(:require
["@penpot/ua-parser" :as ua]
[app.common.data :as d]
- [app.common.data.macros :as dm]
[app.common.json :as json]
[app.common.logging :as l]
[app.common.math :as math]
@@ -316,14 +315,14 @@
0)))
(add-libraries-counters [state files]
- (reduce (fn [state library-id]
- (let [data (dm/get-in files [library-id :data])]
- (-> state
- (update :total-components + (count (:components data)))
- (update :total-colors + (count (:colors data)))
- (update :total-typographies + (count (:typographies data))))))
- state
- (refs/select-libraries files file-id)))]
+ (reduce-kv (fn [state _ library]
+ (let [data (:data library)]
+ (-> state
+ (update :total-components + (count (:components data)))
+ (update :total-colors + (count (:colors data)))
+ (update :total-typographies + (count (:typographies data))))))
+ state
+ (refs/select-libraries files file-id)))]
(ptk/reify ::snapshot-performance-info
ptk/UpdateEvent
diff --git a/frontend/src/app/main/data/exports/assets.cljs b/frontend/src/app/main/data/exports/assets.cljs
index e85c1c3cd3..f041557921 100644
--- a/frontend/src/app/main/data/exports/assets.cljs
+++ b/frontend/src/app/main/data/exports/assets.cljs
@@ -38,13 +38,13 @@
(into #{} (keep :file-id) exports))
(defn- warn-unsaved-changes
- "Warns that the export may miss the changes of `file-ids` not saved yet."
- [file-ids]
+ "Shows `message` when some changes of `file-ids` are not saved yet."
+ [file-ids message]
(ptk/reify ::warn-unsaved-changes
ptk/WatchEvent
(watch [_ state _]
(when (dwp/unsaved-changes? state file-ids)
- (rx/of (ntf/show {:content (tr "workspace.export.unsaved-changes")
+ (rx/of (ntf/show {:content message
:type :toast
:level :warning
:timeout 8000}))))))
@@ -362,11 +362,16 @@
ptk/WatchEvent
(watch [_ state _]
(case @target
+ ;; Drawn from the local data, which a rejected save may still change
:client
- (rx/of (request-local-export-wasm {:exports [export]
- :cmd :export-shapes
- :name (:name export)
- :kind :single}))
+ (rx/concat
+ (dwp/force-persist-files-and-wait (export-file-ids [export]) save-wait-timeout-ms)
+ (rx/of (warn-unsaved-changes (export-file-ids [export])
+ (tr "workspace.export.unsaved-changes-included"))
+ (request-local-export-wasm {:exports [export]
+ :cmd :export-shapes
+ :name (:name export)
+ :kind :single})))
:too-large
(rx/of (ntf/error (tr "errors.export-too-large")))
@@ -379,7 +384,8 @@
:is-wasm (wasm-export-enabled? state)})]
(rx/concat
(dwp/force-persist-files-and-wait (export-file-ids [export]) save-wait-timeout-ms)
- (rx/of (warn-unsaved-changes (export-file-ids [export])))
+ (rx/of (warn-unsaved-changes (export-file-ids [export])
+ (tr "workspace.export.unsaved-changes")))
(->> (rp/cmd! :export params)
(rx/map (fn [{:keys [filename mtype uri]}]
@@ -555,7 +561,7 @@
(rx/concat
(dwp/force-persist-files-and-wait file-ids save-wait-timeout-ms)
- (rx/of (warn-unsaved-changes file-ids))
+ (rx/of (warn-unsaved-changes file-ids (tr "workspace.export.unsaved-changes")))
(rx/merge
;; Updates the export state with each progress message, until
;; shortly after the export ends or fails.
@@ -599,7 +605,12 @@
ptk/WatchEvent
(watch [_ state _]
(if (wasm-export-enabled? state)
- (rx/of (request-local-export-wasm params))
+ ;; Drawn from the local data, which a rejected save may still change
+ (let [file-ids (export-file-ids exports)]
+ (rx/concat
+ (dwp/force-persist-files-and-wait file-ids save-wait-timeout-ms)
+ (rx/of (warn-unsaved-changes file-ids (tr "workspace.export.unsaved-changes-included"))
+ (request-local-export-wasm params))))
(rx/of (request-multiple-export-server params)))))))
(defn request-export
diff --git a/frontend/src/app/main/data/nitrate.cljs b/frontend/src/app/main/data/nitrate.cljs
index 7c3efefb40..1fbbce503c 100644
--- a/frontend/src/app/main/data/nitrate.cljs
+++ b/frontend/src/app/main/data/nitrate.cljs
@@ -362,8 +362,7 @@
(let [source-organization (:organization team)
can-move? (cto/allowed?
:move-team
- {:organization-perms {:owner-id (:owner-id source-organization)
- :permissions (:permissions source-organization)}
+ {:organization-perms source-organization
:profile-id profile-id
:team-perms (:permissions team)
:target-organization-same-owner? false})]
@@ -503,10 +502,9 @@
(fn [teams]
(let [all-organizations (map dt/team->organization
(filter #(and (:is-default %) (:organization %)) teams))
- organizations (filter (fn [organization]
- (let [perm (dm/get-in organization [:permissions :create-teams])
- is-own? (= profile-id (:owner-id organization))]
- (or (= perm "any") is-own?))) all-organizations)
+ organizations (filter #(cto/allowed? :create-team
+ {:organization-perms %
+ :profile-id profile-id}) all-organizations)
team (first (filter #(= (:id %) team-id) teams))
current-organization (:organization team)
on-confirm (fn [organization-id]
@@ -563,22 +561,17 @@
team (first (filter #(= (:id %) team-id) teams))
source-organization (:organization team)
current-organization-id (:id source-organization)
- move-perm (dm/get-in source-organization [:permissions :move-teams])
source-owner-id (:owner-id source-organization)
+ can-move? (fn [organization]
+ (cto/allowed? :move-team
+ {:organization-perms source-organization
+ :profile-id profile-id
+ :target-organization-same-owner? (= source-owner-id (:owner-id organization))}))
can-create? (fn [organization]
- (let [perm (dm/get-in organization [:permissions :create-teams])
- is-own? (= profile-id (:owner-id organization))]
- (or (= perm "any") is-own?)))
- organizations-by-move (case move-perm
- "never"
- []
-
- "myOrganizations"
- (filter #(= source-owner-id (:owner-id %)) all-organizations)
-
- ;; Default to always-allowed behavior.
- all-organizations)
- organizations (filter can-create? organizations-by-move)
+ (cto/allowed? :create-team
+ {:organization-perms organization
+ :profile-id profile-id}))
+ organizations (filter #(and (can-move? %) (can-create? %)) all-organizations)
selectable-organizations (remove #(= current-organization-id (:id %)) organizations)
on-confirm (fn [organization-id]
(st/emit! (add-team-to-organization {:team-id team-id
diff --git a/frontend/src/app/main/data/persistence.cljs b/frontend/src/app/main/data/persistence.cljs
index 7f08500144..245afddf88 100644
--- a/frontend/src/app/main/data/persistence.cljs
+++ b/frontend/src/app/main/data/persistence.cljs
@@ -16,8 +16,14 @@
[app.main.data.common :as-alias dc]
[app.main.data.event :as ev]
[app.main.data.helpers :as dsh]
+ [app.main.data.modal :as-alias modal]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence.commits :as pcm]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace :as-alias dw]
+ [app.main.data.workspace.edition :as dwe]
+ [app.main.data.workspace.path.state :as path.state]
+ [app.main.data.workspace.undo :as dwu]
[app.main.errors :as errors]
[app.main.refs :as refs]
[app.main.repo :as rp]
@@ -30,6 +36,8 @@
(declare ^:private persist-commit)
(declare ^:private resume-persistence)
(declare ^:private slow-retry-cycle)
+(declare ^:private flush-buffer)
+(declare ^:private commit-persisted)
(log/set-level! :warn)
@@ -58,6 +66,9 @@
sending it. Fast failures, such as being offline, never count."
3)
+;; Wait for the changes stored before a saved commit, then reload the file.
+(def ^:private unseen-changes-timeout-ms 10000)
+
(def ^:private saving-stall-timeout-ms (* 5 60 1000))
(def ^:private saving-check-interval-ms 30000)
(def ^:private save-wait-timeout-ms (* 2 60 1000))
@@ -66,12 +77,15 @@
(defn terminal-status?
"True when a persistence snapshot releases waiters: a failed save, or
- a settled (`nil` / `:saved`) empty queue. Anything else — `:pending`,
- `:saving` and the `:retrying` episode — keeps waiting."
- [{:keys [status queue]}]
+ a settled (`nil` / `:saved`) empty queue and buffer. Anything else —
+ `:pending`, `:saving`, the `:retrying` episode, or commits still in the
+ buffer (the status turns `:saved` as soon as the queue empties) — keeps
+ waiting."
+ [{:keys [status queue buffer]}]
(boolean
(or (= status :error)
(and (empty? queue)
+ (empty? buffer)
(or (nil? status) (= status :saved))))))
(defn wait-persisted-or-error
@@ -145,7 +159,20 @@
(and (= from :retrying) (#{:pending :saving} to)) from
:else to))
+(defn- count-unsaved-commits
+ "Local commits not saved yet, queued or buffered, of every file."
+ [state]
+ (let [{:keys [queue index buffer]} (:persistence state)]
+ (+ (count (mapcat #(get-in index [% :commits]) queue))
+ (count buffer))))
+
+(defn- nothing-to-save?
+ [{:keys [buffer queue]}]
+ (and (empty? buffer) (empty? queue)))
+
(defn- update-status
+ "Moves persistence to `status`. A delayed :pending notice is ignored
+ when nothing is left to save (e.g. a rollback already dropped the edit)."
[status]
(ptk/reify ::update-status
ptk/UpdateEvent
@@ -155,7 +182,9 @@
(log/trc :hint "update-status"
:from (:status pstate)
:to status)
- (let [status (next-status (:status pstate) status)]
+ (let [status (if (and (= :pending status) (nothing-to-save? pstate))
+ (:status pstate)
+ (next-status (:status pstate) status))]
(cond-> (assoc pstate :status status)
(#{:pending :saving} status)
(update :last-progress-at d/nilv (inst-ms (ct/now)))
@@ -219,6 +248,13 @@
(retry-window-open? pstate)
(< (or slow-failures 0) max-slow-failures)))
+(defn save-retrying?
+ "True while the slow cycle keeps resending a failed queue, including
+ while one of its attempts is in flight."
+ [pstate]
+ (or (true? (:recovering pstate))
+ (slow-retry-pending? pstate)))
+
(defn- report-stalled-persistence
[now]
(ptk/reify ::report-stalled-persistence
@@ -276,6 +312,98 @@
(effect [_ _ _]
(swap! revn-data update file-id (fnil max 0) revn))))
+(defn- record-remote-changes
+ "Numbers a remote commit, keeps the highest revision received per file
+ (`:remote-revn`) and, while `file-id` has pending commits, keeps its
+ changes for a rollback to apply again."
+ [file-id revn changes]
+ (ptk/reify ::record-remote-changes
+ IDeref
+ (-deref [_] {:file-id file-id :revn revn})
+
+ ptk/UpdateEvent
+ (update [_ state]
+ (update state :persistence
+ (fn [pstate]
+ (let [number (inc (:remote-seq pstate 0))]
+ (cond-> (-> pstate
+ (assoc :remote-seq number)
+ (update-in [:remote-revn file-id] (fnil max revn) revn))
+ (seq (pcm/pending-commits pstate file-id))
+ (update-in [:remote-changes file-id] (fnil conj [])
+ {:seq number :changes changes}))))))))
+
+(defn- stale-commit?
+ "True when `commit` was made on another version of its file than the
+ loaded one, which a peer's restore replaced: its changes are not in the
+ local data and the server refuses them. A file loaded with no version
+ known is never stale."
+ [state {:keys [file-id file-vern]}]
+ (let [vern (:vern (dsh/lookup-file state file-id))]
+ (and (some? vern)
+ (not= vern file-vern))))
+
+(defn- last-unseen-revn
+ "The highest revision above `seen` (the highest one received) of the rows
+ other sessions stored in `lagged`, the rows a save answer lists after
+ the revision it was sent with. Nil when there is none, or when the save
+ stored nothing (the last row is not this session's)."
+ [lagged session-id seen]
+ (let [own? #(= session-id (:session-id %))]
+ (when (own? (last lagged))
+ (transduce (comp (remove own?)
+ (map :revn)
+ (filter #(> % seen)))
+ (completing (fnil max 0))
+ nil
+ lagged))))
+
+(defn- settle-saved-commit
+ "Acknowledges the saved `commit` once this tab received every change the
+ server stored before it (from `lagged`, the save answer's rows), such as
+ the repair of a damaged file. Until then its commits stay pending, so a
+ late change is applied under them, in the server's order. A change that
+ does not arrive in time reloads the file."
+ [commit lagged]
+ (let [needed (volatile! nil)]
+ (ptk/reify ::settle-saved-commit
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [file-id (:file-id commit)
+ seen (dm/get-in state [:persistence :remote-revn file-id] -1)
+ revn (when (and (= file-id (:current-file-id state))
+ (not (stale-commit? state commit)))
+ (last-unseen-revn lagged (:session-id state) seen))]
+ (vreset! needed revn)
+ (cond-> state
+ (some? revn)
+ (d/update-in-when [:persistence :index (:id commit)] assoc ::awaiting revn))))
+
+ ptk/WatchEvent
+ (watch [_ _ stream]
+ (if-let [revn @needed]
+ (let [file-id (:file-id commit)
+ arrived-s (->> stream
+ (rx/filter (ptk/type? ::record-remote-changes))
+ (rx/map deref)
+ (rx/filter #(and (= file-id (:file-id %))
+ (>= (:revn %) revn)))
+ (rx/map (constantly ::arrived)))
+ left-s (->> stream
+ (rx/filter (ptk/type? ::dw/finalize-workspace))
+ (rx/map (constantly ::left)))
+ timeout-s (->> (rx/timer unseen-changes-timeout-ms)
+ (rx/map (constantly ::timeout)))]
+ (->> (rx/merge arrived-s left-s timeout-s)
+ (rx/take 1)
+ (rx/mapcat (fn [outcome]
+ (rx/concat
+ (rx/of (commit-persisted commit))
+ (if (= ::timeout outcome)
+ (rx/of (ptk/event ::dw/reload-current-file))
+ (rx/empty)))))))
+ (rx/of (commit-persisted commit)))))))
+
(defn- discard-commit
[commit-id]
(ptk/reify ::discard-commit
@@ -288,11 +416,28 @@
(pop queue)
(throw (ex-info "invalid state" {})))))
(update :index dissoc commit-id)
+ (pcm/keep-saved-commits (get-in pstate [:index commit-id]))
+ (pcm/prune-remote-changes (get-in pstate [:index commit-id :file-id]))
(assoc :last-progress-at (inst-ms (ct/now)))
(dissoc :stall-reported :failing-since :recovering
:slow-failures :attempts :retry-token
:retry-for)))))))
+(defn- without-commits
+ "`buffer` without `commits`."
+ [buffer commits]
+ (let [ids (into #{} (map :id) commits)]
+ (into [] (remove #(contains? ids (:id %))) buffer)))
+
+(defn- buffer-commit
+ "Keeps a local commit in the buffer until the next flush."
+ [commit]
+ (ptk/reify ::buffer-commit
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [number (get-in state [:persistence :remote-seq] 0)]
+ (update-in state [:persistence :buffer] (fnil conj []) (assoc commit :remote-seq number))))))
+
(defn- append-commit
"Event used internally to append the current change to the
persistence queue."
@@ -307,6 +452,7 @@
(-> pstate
(cond-> (not= :error (:status pstate))
(update :run-id d/nilv run-id))
+ (update :buffer without-commits (:commits commit))
(update :queue queue-conj id)
(update :index assoc id commit)))))
@@ -355,6 +501,14 @@
:retrying (slow-retry-pending? pstate)
:queued-commits (count queue)}))
+(defn- end-stopped-slow-cycle
+ "Clears `:recovering` when the slow cycle no longer resends the failure:
+ the limit of slow failures is reached or the retry window closed."
+ [pstate]
+ (cond-> pstate
+ (not (slow-retry-pending? pstate))
+ (dissoc :recovering)))
+
(defn- persistence-failed
[commit-id cause]
(ptk/reify ::persistence-failed
@@ -374,7 +528,8 @@
::errors/handled? true))
(update :failing-since d/nilv (inst-ms (ct/now)))
(dissoc :run-id :last-progress-at :stall-reported
- :attempts :retry-token :retry-for))))))
+ :attempts :retry-token :retry-for)
+ (end-stopped-slow-cycle))))))
ptk/WatchEvent
(watch [_ state stream]
@@ -399,14 +554,17 @@
;; navigate away and lose the retained changes.
(let [pstate (:persistence state)]
(when (notify-failure? pstate)
- (errors/flash-persistence cause :retrying (slow-retry-pending? pstate)))))))
+ (errors/flash-persistence cause
+ :retrying (slow-retry-pending? pstate)
+ :busy (busy-server-error? (ex-data cause))))))))
(defn- persistence-transient-failure
"Transient save failure: the head commit stays queued and a retry is
scheduled with backoff instead of parking the save in `:error`. Once the
- budget (`retry-delays-ms`) is exhausted, or when the failed attempt was
- one of the slow cycle, the failure falls through to the `persistence-failed`
- path, which schedules the next slow attempt. While retries are suspended
+ budget (`retry-delays-ms`) is exhausted, the commit has `max-slow-failures`
+ slow failures, or the failed attempt was one of the slow cycle, the
+ failure falls through to the `persistence-failed` path, which schedules
+ the next slow attempt while `slow-retry-pending?`. While retries are suspended
nothing is scheduled: the episode waits for a file to be opened again.
`elapsed-ms` is how long the failed attempt took."
[commit-id cause elapsed-ms]
@@ -431,9 +589,11 @@
ptk/WatchEvent
(watch [_ state _]
- (let [{:keys [attempts recovering suspended]} (:persistence state)]
+ (let [{:keys [attempts recovering suspended slow-failures]} (:persistence state)]
(cond
- (or recovering (> attempts (count retry-delays-ms)))
+ (or recovering
+ (> attempts (count retry-delays-ms))
+ (>= (or slow-failures 0) max-slow-failures))
(rx/of (persistence-failed commit-id cause))
suspended
@@ -444,7 +604,9 @@
;; One notice per episode: shown on the first attempt,
;; re-showing would only replace the identical toast.
(when (= 1 attempts)
- (rx/of (ntf/show {:content (tr "errors.save-retrying")
+ (rx/of (ntf/show {:content (if (busy-server-error? (ex-data cause))
+ (tr "errors.save-retrying-busy")
+ (tr "errors.save-retrying"))
:type :toast
:level :warning
:tag reconnecting-tag})))
@@ -465,6 +627,245 @@
(d/update-in-when state [:persistence :index (:id commit)]
assoc ::acknowledged true))))
+(def rejected-tag
+ "Tag of the notice that changes to the open file were rejected."
+ :persistence-rejected)
+
+(def ^:private other-file-rejected-tag
+ "Tag of the notice that changes to a file not open were rejected."
+ :persistence-rejected-other-file)
+
+(def file-repaired-tag
+ "Tag of the notice that the backend repaired the open file."
+ :file-repaired)
+
+(def repaired-rejected-tag
+ "Tag of the notice that tells both of a repair and of rejected changes."
+ :file-repaired-rejected)
+
+(def ^:private rejected-timeout-ms
+ "How long the rejected changes notice stays; the report is sent anyway."
+ 10000)
+
+(defn notify-repaired
+ "Tells the user the backend repaired the open file. The store holds one
+ toast, so a notice of rejected changes to that file still on screen is
+ folded into it, keeping its report link."
+ []
+ (ptk/reify ::notify-repaired
+ ptk/WatchEvent
+ (watch [_ state _]
+ (let [{:keys [tag links]} (:notification state)]
+ (rx/of
+ (ntf/show
+ (if (contains? #{rejected-tag repaired-rejected-tag} tag)
+ (cond-> {:content (tr "workspace.notifications.file-repaired-changes-undone")
+ :type :toast
+ :level :warning
+ :timeout nil
+ :tag repaired-rejected-tag}
+ (seq links)
+ (assoc :links links))
+ {:content (tr "workspace.notifications.file-repaired")
+ :type :toast
+ :level :info
+ :timeout nil
+ :tag file-repaired-tag})))))))
+
+(defn- rejection-notice
+ "Text, tag and timeout of the notice that the changes `rejected` in a
+ save of `file-id` were undone. A file other than the open one is named;
+ a repair notice of the open file still on screen is folded into it."
+ [state file-id {:keys [preexisting-damage]}]
+ (let [file-name (dm/get-in state [:files file-id :name])
+ current? (= file-id (:current-file-id state))
+ repaired? (contains? #{file-repaired-tag repaired-rejected-tag}
+ (dm/get-in state [:notification :tag]))]
+ (cond
+ (and (not current?) (some? file-name))
+ {:hint (tr "errors.save-rejected-changes-undone-in-file" file-name)
+ :tag other-file-rejected-tag
+ :timeout rejected-timeout-ms}
+
+ (and current? repaired?)
+ {:hint (tr "workspace.notifications.file-repaired-changes-undone")
+ :tag repaired-rejected-tag
+ :timeout nil}
+
+ (and current? preexisting-damage)
+ {:hint (tr "errors.save-rejected-damaged-data")
+ :tag rejected-tag
+ :timeout rejected-timeout-ms}
+
+ :else
+ {:hint (tr "errors.save-rejected-changes-undone")
+ :tag (if current? rejected-tag other-file-rejected-tag)
+ :timeout rejected-timeout-ms})))
+
+(defn- discard-path-edit
+ "Forgets the path editor's state for `id`, so leaving the edition saves
+ nothing from it."
+ [id]
+ (ptk/reify ::discard-path-edit
+ ptk/UpdateEvent
+ (update [_ state]
+ (update-in state [:workspace-local :edit-path] dissoc id))))
+
+(defn- prune-removed-shapes
+ "Deselects the shapes missing from the current page, closing the color
+ picker that edits them, and leaves edition mode if the edited one is
+ missing. A path the rollback changed (`edited` is the edited shape before
+ it) leaves edition too: the editor works on its own copy of the shape,
+ which still holds the reverted content. Text editors stay open and show
+ the reverted text."
+ [edited]
+ (ptk/reify ::prune-removed-shapes
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [objects (dsh/lookup-page-objects state)
+ selected (dm/get-in state [:workspace-local :selected])
+ kept (some->> selected (into (empty selected) (filter #(contains? objects %))))]
+ (cond-> state
+ (some? selected)
+ (assoc-in [:workspace-local :selected] kept)
+
+ (and (not= (count selected) (count kept))
+ (= :colorpicker (dm/get-in state [::modal/modal :type])))
+ (dissoc ::modal/modal))))
+
+ ptk/WatchEvent
+ (watch [_ state _]
+ (let [edition (dm/get-in state [:workspace-local :edition])
+ shape (get (dsh/lookup-page-objects state) edition)]
+ (cond
+ (nil? edition)
+ (rx/empty)
+
+ (nil? shape)
+ (rx/of (dwe/clear-edition-mode))
+
+ (and (path.state/editing? state)
+ (not= edited shape))
+ (rx/of (discard-path-edit edition)
+ (dwe/clear-edition-mode))
+
+ :else
+ (rx/empty))))))
+
+(defn- compensate-commits
+ "Undoes the saved `commits` of `file-id`, newest first. A loaded file gets
+ a commit, applied locally; the undo of a file that is not loaded goes to
+ the queue as is."
+ [origin state file-id commits]
+ (let [changes (pcm/compensation-changes commits)]
+ (if (dsh/lookup-file-data state file-id)
+ (dch/commit-changes (assoc changes
+ :origin origin
+ :file-id file-id
+ :save-undo? false
+ ;; Its own group, never that of an open undo transaction
+ :undo-group (uuid/next)
+ ;; Rollbacks also run while saves fail
+ :ignore-save-lock true))
+ (let [{:keys [file-revn file-vern features]} (peek commits)]
+ (append-commit
+ (pcm/queue-entry
+ [(assoc changes
+ :id (uuid/next)
+ :created-at (ct/now)
+ :origin (ptk/type origin)
+ :file-id file-id
+ :file-revn file-revn
+ :file-vern file-vern
+ :features features
+ :remote-seq (dm/get-in state [:persistence :remote-seq] 0))]))))))
+
+(defn- reloaded-s
+ "Ends once the reload that follows a failed rebase of `file-ids` has put
+ the server data of those files in the state."
+ [stream current-file-id file-ids]
+ (let [loaded? (if (every? #(= current-file-id %) file-ids)
+ (ptk/type? ::dw/bundle-fetched)
+ (ptk/type? ::dw/all-libraries-resolved))]
+ (->> stream
+ (rx/filter loaded?)
+ (rx/take 1)
+ (rx/ignore)
+ (rx/take-until (rx/filter (ptk/type? ::dw/finalize-workspace) stream)))))
+
+(defn- notify-rolled-back
+ "Emits `::rolled-back` with `targets` once the reverted data is in the
+ state: at once, or after the reload when a rebase of `rebases` failed.
+ The reload replaces the whole file data, so other shapes may change too."
+ [stream state rebases targets]
+ (rx/defer
+ (fn []
+ (let [failed (into #{} (comp (map deref) (filter :failed) (map :file-id)) rebases)
+ event (ptk/data-event ::rolled-back targets)]
+ (if (empty? failed)
+ (rx/of event)
+ (rx/concat (reloaded-s stream (:current-file-id state) failed)
+ (rx/of event)))))))
+
+(defn- apply-rollback-plan
+ "Events that revert the local data as `plan` says: pending commits are
+ undone, saved ones undone by a new commit, and their groups leave the
+ undo history."
+ [origin state stream {:keys [files compensate groups undo-index]}]
+ (let [rebases (mapv (fn [[fid plan]] (dch/rebase-commits fid plan)) files)]
+ (rx/concat
+ (rx/from rebases)
+ (rx/from (map (fn [[fid commits]] (compensate-commits origin state fid commits))
+ (group-by :file-id compensate)))
+ (rx/of (dwu/forget-undo-groups groups undo-index)
+ (prune-removed-shapes (get (dsh/lookup-page-objects state)
+ (dm/get-in state [:workspace-local :edition]))))
+ ;; Tells listeners (a library sync, plugins) which files, pages and
+ ;; shapes lost commits
+ (notify-rolled-back stream state rebases
+ (pcm/rollback-targets {:files files :compensate compensate})))))
+
+(defn- rollback-rejected
+ "Reverts the commits `rejected` in the save of `entry`, the later commits
+ of its file and the rest of their undo groups. Pending commits are undone
+ and dropped, saved ones undone by a new commit; the groups leave the undo
+ history and the user gets a warning."
+ [{:keys [file-id] :as entry} rejected]
+ (let [plan (volatile! nil)]
+ (ptk/reify ::rollback-rejected
+ ptk/UpdateEvent
+ (update [_ state]
+ ;; A save made on a version a restore replaced: the reloaded data
+ ;; holds none of it, so there is nothing to revert
+ (if (stale-commit? state entry)
+ state
+ (let [plan' (pcm/rollback-plan (:persistence state) entry rejected)]
+ (vreset! plan plan')
+ (update state :persistence pcm/without-rolled-back entry plan'))))
+
+ ptk/WatchEvent
+ (watch [it state stream]
+ (if-let [plan @plan]
+ (apply-rollback-plan it state stream plan)
+ (rx/empty)))
+
+ ptk/EffectEvent
+ (effect [_ state _]
+ (when-let [plan @plan]
+ (let [{:keys [error commit-ids]} rejected
+ {:keys [hint tag timeout]} (rejection-notice state file-id rejected)]
+ (errors/flash :cause (ex-info "The server rejected some changes"
+ (merge error
+ {:file-id file-id
+ :commit-ids commit-ids}
+ (pcm/rollback-summary plan)))
+ :type :unhandled
+ :level :warning
+ :timeout timeout
+ :tag tag
+ :report-link? true
+ :hint hint)))))))
+
(defn- update-file-request
"Issues the `update-file` request, tracked as active for its lifetime."
[request-id params]
@@ -491,22 +892,55 @@
(nil? commit) :missing-commit
(::acknowledged commit) :acknowledged
(contains? @active-requests (::request-id commit)) :in-flight
+ ;; Saved, waiting for the changes stored before it
+ (::awaiting commit) :in-flight
+ (stale-commit? state commit) :stale
(not (dm/get-in state [:permissions :can-edit])) :permission-denied
:else :ready)))
+(defn- with-changes
+ "Adds the changes of a queue entry to the save params, one group per
+ commit so the backend can reject them one by one."
+ [params {:keys [commits]}]
+ (assoc params :changes-with-metadata
+ (mapv (fn [{:keys [id origin redo-changes]}]
+ (cond-> {:commit-id id :changes (vec redo-changes)}
+ (keyword? origin)
+ (assoc :hint-origin origin)))
+ commits)))
+
+(defn- save-attempt-failed
+ "Routes a failed attempt to send `commit-id`, which took `elapsed-ms`. A
+ commit made on a version a restore replaced is dropped instead: the
+ reloaded file does not hold it and no resend can save it."
+ [commit-id cause elapsed-ms]
+ (ptk/reify ::save-attempt-failed
+ ptk/WatchEvent
+ (watch [_ state _]
+ (let [commit (dm/get-in state [:persistence :index commit-id])]
+ (rx/of (cond
+ (and (some? commit) (stale-commit? state commit))
+ (commit-persisted commit)
+
+ (transient-error? (ex-data cause))
+ (persistence-transient-failure commit-id cause elapsed-ms)
+
+ :else
+ (persistence-failed commit-id cause)))))))
+
(defn- send-queued-commit
"Sends one queued commit and maps its outcome to persistence events."
- [request-id session-id {:keys [id file-id file-revn file-vern changes features] :as commit}]
+ [request-id session-id {:keys [id file-id file-revn file-vern features] :as commit}]
(let [sent-at (inst-ms (ct/now))
- params {:id file-id
- :revn (max file-revn (get @revn-data file-id 0))
- :vern file-vern
- :session-id session-id
- :origin (:origin commit)
- :created-at (:created-at commit)
- :commit-id id
- :changes (vec changes)
- :features features}]
+ params (-> {:id file-id
+ :revn (max file-revn (get @revn-data file-id 0))
+ :vern file-vern
+ :session-id session-id
+ :origin (:origin commit)
+ :created-at (:created-at commit)
+ :commit-id id
+ :features features}
+ (with-changes commit))]
;; UI read-only mode does not invalidate already queued edits.
(->> (update-file-request request-id params)
;; Fails an unanswered request as a transient network error, so the
@@ -520,19 +954,21 @@
;; A response that carries no revision, including one that never
;; arrived, is treated as a failed save rather than a saved file.
(rx/if-empty nil)
- (rx/mapcat (fn [{:keys [revn]}]
+ (rx/mapcat (fn [{:keys [revn rejected lagged]}]
(if (and (int? revn) (<= 0 revn))
- (rx/of (update-file-revn file-id revn)
- (commit-persisted commit))
+ (rx/concat
+ (rx/of (update-file-revn file-id revn))
+ ;; Reverts the rejected commits before the queue moves on
+ (if (some? rejected)
+ (rx/of (rollback-rejected commit rejected))
+ (rx/empty))
+ (rx/of (settle-saved-commit commit lagged)))
(rx/throw (ex-info "The save response has no valid revision"
{:type :persistence
:code :invalid-save-response
:file-id file-id})))))
(rx/catch (fn [cause]
- (rx/of (if (transient-error? (ex-data cause))
- (persistence-transient-failure
- id cause (- (inst-ms (ct/now)) sent-at))
- (persistence-failed id cause))))))))
+ (rx/of (save-attempt-failed id cause (- (inst-ms (ct/now)) sent-at))))))))
(defn- persist-commit
"Sends the queued commit, stamping the attempt first. A commit whose
@@ -563,7 +999,8 @@
(ex-info hint {:type :persistence
:code code
:commit-id commit-id
- :file-id (:file-id commit)}))))]
+ :file-id (:file-id commit)
+ :unsaved-commits (count-unsaved-commits state)}))))]
(if (and (some? token)
(not= token (dm/get-in state [:persistence :retry-token])))
;; Stale retry timer: its episode was superseded. Stay silent.
@@ -574,6 +1011,8 @@
:acknowledged (rx/of (commit-persisted commit))
;; The replacement runner listens for the original request's result.
:in-flight (rx/empty)
+ ;; Made on a version a restore replaced: never sent
+ :stale (rx/of (commit-persisted commit))
:permission-denied (fail :save-permission-denied "Edit permission was lost before changes could be saved")
:ready (send-queued-commit request-id (:session-id state) commit))))))))
@@ -675,17 +1114,35 @@
rejecting: callers use it to avoid snapshotting a file whose edits were
never saved. What must not survive is the halt. Left in place, the failed
commits sit at the head of the queue forever and, because the queue is
- shared, they also block the pending edits of every other file."
- []
- (ptk/reify ::release-failed-file
- ptk/UpdateEvent
- (update [_ state]
- (let [commit-id (get-in state [:persistence :error :commit-id])
- file-id (get-in state [:persistence :index commit-id :file-id])]
- (update state :persistence
- #(-> %
+ shared, they also block the pending edits of every other file.
+
+ With `revert?` the file is still open with the released edits applied,
+ so they are rolled back as a rejection would be: undone on screen and
+ cut from the undo history."
+ [revert?]
+ (let [plan (volatile! nil)]
+ (ptk/reify ::release-failed-file
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [pstate (:persistence state)
+ commit-id (get-in pstate [:error :commit-id])
+ file-id (get-in pstate [:index commit-id :file-id])
+ plan' (when (and revert? file-id)
+ (pcm/release-plan pstate file-id))]
+ (vreset! plan plan')
+ (assoc state :persistence
+ (-> (if plan'
+ (pcm/without-rolled-back pstate {:file-id file-id} plan')
+ pstate)
(drop-file-commits file-id)
- (dissoc :failing-since :slow-failures)))))))
+ (pcm/prune-remote-changes file-id)
+ (dissoc :failing-since :slow-failures)))))
+
+ ptk/WatchEvent
+ (watch [it state stream]
+ (if-let [plan @plan]
+ (apply-rollback-plan it state stream plan)
+ (rx/empty))))))
(defn- queue-needs-a-runner?
"True when the queue still holds commits that nobody is sending.
@@ -700,23 +1157,41 @@
(not= :error status)
(not= :retrying status)))
+(defn forget-other-versions
+ "Forgets the commits of the freshly loaded `file` made on another version
+ (`pcm/without-other-versions`), so no rollback or rebase replays them on
+ the loaded data. A pending status with nothing left to save turns saved."
+ [state {:keys [id vern]}]
+ (update state :persistence
+ (fn [pstate]
+ (let [pstate (pcm/without-other-versions pstate id vern)]
+ (cond-> pstate
+ (and (= :pending (:status pstate))
+ (nothing-to-save? pstate))
+ (assoc :status :saved))))))
+
(defn pending-file-changes
- "Queued edits to restore into a freshly loaded file, in queue order.
- Only edits of the loaded version belong in its data. A permanently
- failed file is excluded because recovery releases its edits."
+ "Queued and buffered edits to restore into a freshly loaded file, oldest
+ first. Only edits of the loaded version belong in its data. A
+ permanently failed file is excluded because recovery releases its edits."
[{:keys [persistence]} {:keys [id vern]}]
- (let [{:keys [queue index status error]} persistence
- failed-file-id (get-in index [(:commit-id error) :file-id])]
+ (let [{:keys [queue index buffer status error]} persistence
+ failed-file-id (get-in index [(:commit-id error) :file-id])
+ of-file? #(and (= id (:file-id %))
+ (= vern (:file-vern %)))]
(if (and (= :error status)
(= id failed-file-id)
(not (slow-retry-pending? persistence)))
[]
- (into []
- (comp (map #(get index %))
- (filter #(and (= id (:file-id %))
- (= vern (:file-vern %))))
- (mapcat :redo-changes))
- queue))))
+ (-> []
+ (into (comp (map #(get index %))
+ (filter of-file?)
+ (mapcat :commits)
+ (mapcat :redo-changes))
+ queue)
+ (into (comp (filter of-file?)
+ (mapcat :redo-changes))
+ buffer)))))
(defn- initialize-persistence-state
"Brings persistence to a coherent starting shape when the workspace
@@ -730,20 +1205,36 @@
(ptk/reify ::initialize-persistence-state
ptk/WatchEvent
(watch [_ state _]
- (let [{:keys [queue status run-id]} (:persistence state)]
- (cond
- ;; A commit left queued by a previous session, with no runner.
- (queue-needs-a-runner? (:persistence state))
- (rx/of (resume-persistence))
+ (let [{:keys [queue status run-id buffer]} (:persistence state)]
+ (rx/concat
+ (cond
+ ;; A commit left queued by a previous session, with no runner.
+ (queue-needs-a-runner? (:persistence state))
+ (rx/of (resume-persistence))
- ;; Nothing queued and nothing in flight: there is nothing to save.
- (and (empty? queue)
- (not= status :error)
- (or run-id (#{:pending :saving} status)))
- (rx/of (update-status :saved))
+ ;; Nothing queued and nothing in flight: there is nothing to save.
+ (and (empty? queue)
+ (empty? buffer)
+ (not= status :error)
+ (or run-id (#{:pending :saving} status)))
+ (rx/of (update-status :saved))
- :else
- (rx/empty))))))
+ :else
+ (rx/empty))
+ ;; Queues the commits a previous session left buffered
+ (if (seq buffer)
+ (rx/of (flush-buffer))
+ (rx/empty)))))))
+
+(defn- notify-kept-failure
+ "Shows the save failure the queue keeps again, so the count of unsaved
+ changes replaces the notice the role change shows."
+ []
+ (ptk/reify ::notify-kept-failure
+ ptk/EffectEvent
+ (effect [_ state _]
+ (let [error (dm/get-in state [:persistence :error])]
+ (errors/flash-persistence (ex-info (:hint error) error))))))
(defn- recover-persistence
"Lifts a halted queue when a file is opened again or the role changes.
@@ -762,7 +1253,8 @@
A lost permission is not a temporary condition. The backend raises
`:not-found` for it, and replaying the save to find that out routes the
- user to the exception page."
+ user to the exception page. A role change that leaves the user a viewer
+ keeps those edits; the one that brings edit rights back releases them."
[opened-file?]
(ptk/reify ::recover-persistence
ptk/WatchEvent
@@ -784,8 +1276,17 @@
(slow-retry-pending? (:persistence state))
(rx/of (resume-persistence true))
+ ;; A viewer's edits wait for edit rights to come back, still
+ ;; queued and on screen.
+ (and (not opened-file?)
+ (= :save-permission-denied (dm/get-in state [:persistence :error :code]))
+ (not (dm/get-in state [:permissions :can-edit])))
+ (rx/of (notify-kept-failure))
+
+ ;; An opened file was loaded without the released edits; one
+ ;; still open shows them, so they are reverted.
(= :error status)
- (rx/of (release-failed-file) (resume-persistence))
+ (rx/of (release-failed-file (not opened-file?)) (resume-persistence))
(queue-needs-a-runner? (:persistence state))
(rx/of (resume-persistence))
@@ -796,22 +1297,22 @@
:else
(rx/empty)))))))
-(def ^:private xf-mapcat-undo
- (mapcat :undo-changes))
-
-(def ^:private xf-mapcat-redo
- (mapcat :redo-changes))
-
(defn- merge-commit
+ "One queue entry per file and version: a save carries one version."
[buffer]
- (->> (rx/from (group-by :file-id buffer))
- (rx/map (fn [[_ [item :as commits]]]
- (let [uchg (into [] xf-mapcat-undo commits)
- rchg (into [] xf-mapcat-redo commits)]
- (-> item
- (assoc :undo-changes uchg)
- (assoc :redo-changes rchg)
- (assoc :changes rchg)))))))
+ (->> (rx/from (group-by (juxt :file-id :file-vern) buffer))
+ (rx/map (comp pcm/queue-entry val))))
+
+(defn- flush-buffer
+ "Queues the buffered commits, merged into one queue entry per file."
+ []
+ (ptk/reify ::flush-buffer
+ ptk/WatchEvent
+ (watch [_ state _]
+ (if-let [buffer (seq (dm/get-in state [:persistence :buffer]))]
+ (->> (merge-commit buffer)
+ (rx/map append-commit))
+ (rx/empty)))))
(defn- resume-on-online
"Re-enters the runner for a retrying episode when the browser reports
@@ -830,14 +1331,25 @@
(defn- sync-unload-guard
"Turns the browser's leave-page warning on while edits are unsaved:
buffered, queued, or retained after a failed save."
- [buffered?]
+ []
(ptk/reify ::sync-unload-guard
ptk/EffectEvent
(effect [_ state _]
- (if (or buffered? (seq (dm/get-in state [:persistence :queue])))
+ (if (or (seq (dm/get-in state [:persistence :buffer]))
+ (seq (dm/get-in state [:persistence :queue])))
(swap! st/ongoing-tasks conj :persistence)
(swap! st/ongoing-tasks disj :persistence)))))
+(defn- persist-buffered
+ "Forces a save when local commits wait in the buffer."
+ []
+ (ptk/reify ::persist-buffered
+ ptk/WatchEvent
+ (watch [_ state _]
+ (if (seq (dm/get-in state [:persistence :buffer]))
+ (rx/of ::force-persist)
+ (rx/empty)))))
+
(defn leave-signals
"Emits when the tab is hidden or the window loses focus: another tab or
app, a plugin iframe, a closed laptop. Empty outside the browser."
@@ -857,9 +1369,6 @@
(log/debug :hint "initialize persistence")
(let [stoper-s (rx/filter (ptk/type? ::initialize-persistence) stream)
- ;; True while local commits wait in the buffer for the next flush.
- buffered? (volatile! false)
-
local-commits-s
(->> stream
(rx/filter dch/commit?)
@@ -909,23 +1418,30 @@
;; Sends the buffered edits when the user leaves the tab or window.
(->> (leave-signals)
- (rx/filter (fn [_] @buffered?))
- (rx/map (fn [_] ::force-persist))
+ (rx/map (fn [_] (persist-buffered)))
(rx/take-until stoper-s))
- ;; Syncs the leave-page warning on every local commit and on every
- ;; queue change (append after a flush, discard after a save,
- ;; release of a failed file).
+ ;; Syncs the leave-page warning on every buffer and queue change
(->> (rx/merge
- (rx/of false)
- (->> local-commits-s
- (rx/map (fn [_] (vreset! buffered? true))))
+ (rx/of nil)
(->> stream
- (rx/filter #(or (ptk/type? ::append-commit %)
+ (rx/filter #(or (ptk/type? ::buffer-commit %)
+ (ptk/type? ::append-commit %)
(ptk/type? ::discard-commit %)
- (ptk/type? ::release-failed-file %)))
- (rx/map (fn [_] @buffered?))))
- (rx/map sync-unload-guard)
+ (ptk/type? ::rollback-rejected %)
+ (ptk/type? ::release-failed-file %)
+ (ptk/type? ::dw/bundle-fetched %)))))
+ (rx/map (fn [_] (sync-unload-guard)))
+ (rx/take-until stoper-s))
+
+ ;; Locks the workspace while saves fail and the user can edit
+ (->> stream
+ (rx/filter #(or (ptk/type? ::update-status %)
+ (ptk/type? ::persistence-failed %)
+ (ptk/type? ::resume-persistence %)
+ (ptk/type? ::discard-commit %)
+ (ptk/type? ::dc/change-team-role %)))
+ (rx/map (fn [_] (plk/sync-failure-lock)))
(rx/take-until stoper-s))
(->> local-commits-s
@@ -934,15 +1450,14 @@
(update-status :pending)))
(rx/take-until stoper-s))
- ;; Here we watch for local commits, buffer them in a small
- ;; chunks (very near in time commits) and append them to the
- ;; persistence queue
+ ;; Buffers local commits; each notification queues the buffer
(->> local-commits-s
+ (rx/map buffer-commit)
+ (rx/take-until stoper-s))
+
+ (->> notifier-s
+ (rx/map (fn [_] (flush-buffer)))
(rx/take-until stoper-s)
- (rx/buffer-until notifier-s)
- (rx/tap (fn [_] (vreset! buffered? false)))
- (rx/mapcat merge-commit)
- (rx/map append-commit)
(rx/finalize (fn []
(log/debug :hint "finalize persistence: changes watcher"))))
@@ -952,6 +1467,7 @@
(rx/filter dch/commit?)
(rx/map deref)
(rx/filter #(= :remote (:source %)))
- (rx/mapcat (fn [{:keys [file-id file-revn] :as commit}]
- (rx/of (update-file-revn file-id file-revn))))
+ (rx/mapcat (fn [{:keys [file-id file-revn redo-changes]}]
+ (rx/of (record-remote-changes file-id file-revn redo-changes)
+ (update-file-revn file-id file-revn))))
(rx/take-until stoper-s)))))))
diff --git a/frontend/src/app/main/data/persistence/commits.cljs b/frontend/src/app/main/data/persistence/commits.cljs
new file mode 100644
index 0000000000..a1f5e3d253
--- /dev/null
+++ b/frontend/src/app/main/data/persistence/commits.cljs
@@ -0,0 +1,255 @@
+;; 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 SUBSIDIARY SL
+
+(ns app.main.data.persistence.commits
+ "Pure functions over the commits of the persistence state: buffered,
+ queued and saved ones, and the plan to roll some of them back."
+ (:require
+ [app.common.data :as d]))
+
+(def ^:private entry-keys
+ "Keys a queue entry keeps of the first commit merged into it."
+ [:id :created-at :origin :features :file-id :file-revn :file-vern])
+
+(def ^:private commit-keys
+ "Keys a queue entry keeps of each of its commits."
+ [:id :origin :undo-group :redo-changes :undo-changes :remote-seq :undo-index])
+
+(def ^:private saved-keys
+ "Keys a saved commit takes from its queue entry."
+ [:file-id :file-revn :file-vern :features])
+
+(defn queue-entry
+ "Merges `commits` of one file, oldest first, into a queue entry."
+ [[commit :as commits]]
+ (-> (select-keys commit entry-keys)
+ (assoc :commits (mapv #(select-keys % commit-keys) commits))))
+
+(defn pending-commits
+ "Unsaved commits of `file-id`, oldest first: queued, then buffered."
+ [pstate file-id]
+ (let [file? #(= file-id (:file-id %))
+ xf:queued (comp (map #(get-in pstate [:index %]))
+ (filter file?)
+ (mapcat :commits))]
+ (-> []
+ (into xf:queued (:queue pstate))
+ (into (filter file?) (:buffer pstate)))))
+
+(defn- pending-files
+ "Files with unsaved commits."
+ [pstate]
+ (-> #{}
+ (into (map #(get-in pstate [:index % :file-id])) (:queue pstate))
+ (into (map :file-id) (:buffer pstate))))
+
+(defn prune-remote-changes
+ "Forgets the remote changes of `file-id` older than its oldest pending
+ commit, which a rollback never applies again."
+ [pstate file-id]
+ (if-let [since (some-> (first (pending-commits pstate file-id)) :remote-seq)]
+ (d/update-in-when pstate [:remote-changes file-id]
+ (fn [entries] (into [] (filter #(> (:seq %) since)) entries)))
+ (update pstate :remote-changes dissoc file-id)))
+
+(defn without-other-versions
+ "`pstate` without the commits of `file-id` made on a version other than
+ `vern`, the one just loaded: a restore replaced it, so they are not in
+ the data and the server refuses them. Their queue entries stay, emptied,
+ for the runner to settle the one in flight and skip the rest."
+ [pstate file-id vern]
+ (let [other? #(and (= file-id (:file-id %))
+ (not= vern (:file-vern %)))
+ emptied (into {}
+ (keep (fn [id]
+ (let [entry (get-in pstate [:index id])]
+ (when (and (other? entry) (seq (:commits entry)))
+ [id (assoc entry :commits [])]))))
+ (:queue pstate))]
+ (if (or (seq emptied)
+ (some other? (:buffer pstate))
+ (some other? (:saved pstate)))
+ (-> pstate
+ (update :index merge emptied)
+ (update :buffer #(into [] (remove other?) %))
+ (update :saved #(into [] (remove other?) %))
+ (prune-remote-changes file-id))
+ pstate)))
+
+(defn- saved-commits
+ "The `commits` of `entry` as saved commits, which carry their file."
+ [entry commits]
+ (let [file (select-keys entry saved-keys)]
+ (map #(merge % file) commits)))
+
+(defn keep-saved-commits
+ "Keeps the saved commits, `entry`'s included, whose undo group a pending
+ commit shares: if that commit is rejected they are undone too."
+ [pstate {:keys [commits] :as entry}]
+ (let [groups (into #{}
+ (keep :undo-group)
+ (mapcat #(pending-commits pstate %) (pending-files pstate)))]
+ (assoc pstate :saved
+ (into []
+ (filter #(contains? groups (:undo-group %)))
+ (concat (:saved pstate) (saved-commits entry commits))))))
+
+(defn- reverted-commits
+ "Pending commits to revert per file: from the first one that is rejected
+ in `file-id`, or in an undo group of `groups`, to the last."
+ [pending file-id rejected kept groups]
+ (let [reverted?
+ (fn [fid {:keys [id undo-group]}]
+ (and (not (contains? kept id))
+ (or (and (= fid file-id) (contains? rejected id))
+ (contains? groups undo-group))))
+
+ from-first-reverted
+ (fn [[fid commits]]
+ (when-let [i (d/index-of-pred commits (partial reverted? fid))]
+ [fid (subvec commits i)]))]
+ (into {} (keep from-first-reverted) pending)))
+
+(defn rollback-plan
+ "How to roll back the save of `entry` that came back `rejected`. Whole
+ undo groups are reverted, across files and saves.
+
+ Each file in `:files` undoes all its pending commits, applies again the
+ remote changes that came after them and redoes the commits that stay, so
+ a peer's later value for an attribute survives. Saved commits of a
+ reverted group go to `:compensate`, to be undone by a new commit.
+ `:undo-index` is the undo history index before the oldest undo or redo
+ commit it reverts, if any."
+ [pstate {:keys [file-id commits] :as entry} {:keys [commit-ids]}]
+ (let [rejected (set commit-ids)
+ accepted (into [] (remove #(contains? rejected (:id %))) commits)
+ kept (into #{} (map :id) accepted)
+ pending (into {} (map (juxt identity #(pending-commits pstate %))) (pending-files pstate))
+
+ [reverted groups]
+ (loop [groups #{}]
+ (let [reverted (reverted-commits pending file-id rejected kept groups)
+ groups' (into groups (comp (mapcat val) (keep :undo-group)) reverted)]
+ (if (= groups groups')
+ [reverted groups]
+ (recur groups'))))
+
+ saved (into (vec (:saved pstate)) (saved-commits entry accepted))
+
+ compensate
+ (into [] (filter #(contains? groups (:undo-group %))) saved)
+
+ file-plan
+ (fn [[fid commits]]
+ (let [all (get pending fid)
+ since (:remote-seq (first all) 0)
+ xf:remote (comp (filter #(> (:seq %) since))
+ (mapcat :changes))]
+ [fid {:undo all
+ :remote (into [] xf:remote (get-in pstate [:remote-changes fid]))
+ :redo (subvec all 0 (- (count all) (count commits)))
+ :reverted commits}]))]
+
+ {:files (into {} (map file-plan) reverted)
+ :compensate compensate
+ :groups groups
+ ;; Saved commits are older than pending ones
+ :undo-index (some :undo-index (concat compensate (mapcat val reverted)))}))
+
+(defn release-plan
+ "How to roll back every pending commit of `file-id`, as if the server had
+ rejected them all, together with the rest of their undo groups."
+ [pstate file-id]
+ (rollback-plan pstate
+ {:file-id file-id :commits []}
+ {:commit-ids (map :id (pending-commits pstate file-id))}))
+
+(defn rollback-summary
+ "Counts the commits `plan` reverts and the files they belong to."
+ [{:keys [files compensate]}]
+ {:reverted (+ (transduce (map (comp count :reverted val)) + files)
+ (count compensate))
+ :files (count (into (set (keys files)) (map :file-id) compensate))})
+
+(def ^:private page-change-types
+ "Changes whose `:id` is a page id."
+ #{:add-page :mod-page :del-page :mov-page})
+
+(def ^:private shape-change-types
+ "Changes whose `:id` is a shape id."
+ #{:add-obj :mod-obj :del-obj :fix-obj})
+
+(defn- change-page-id
+ [{:keys [type] :as change}]
+ (if (contains? page-change-types type)
+ (:id change)
+ (:page-id change)))
+
+(defn- change-shape-ids
+ "Ids of the page shapes `change` touches; none for component shapes."
+ [{:keys [type page-id] :as change}]
+ (when (some? page-id)
+ (cond
+ (contains? shape-change-types type)
+ [(:id change)]
+
+ (contains? #{:mov-objects :reorder-children} type)
+ (:shapes change))))
+
+(defn rollback-targets
+ "The files of the commits `plan` reverts, and the pages, page shapes and
+ comment thread positions their changes touch."
+ [{:keys [files compensate]}]
+ (let [commits (into (vec compensate) (mapcat (comp :reverted val)) files)
+ changes (into [] (mapcat :redo-changes) commits)]
+ {:file-ids (into (set (keys files)) (map :file-id) compensate)
+ :page-ids (into #{} (keep change-page-id) changes)
+ :shape-ids (into #{} (mapcat change-shape-ids) changes)
+ :comment-thread-ids (into #{}
+ (comp (filter #(= :set-comment-thread-position (:type %)))
+ (map :comment-thread-id))
+ changes)}))
+
+(defn- drop-commits
+ "Removes the commits in `ids` from the queue and the buffer; an entry left
+ empty leaves the queue."
+ [pstate ids]
+ (let [dropped? (comp ids :id)
+ trim (fn [id]
+ [id (update (get-in pstate [:index id]) :commits
+ #(into [] (remove dropped?) %))])
+ trimmed (into {}
+ (comp (filter #(some dropped? (get-in pstate [:index % :commits])))
+ (map trim))
+ (:queue pstate))
+ emptied (into #{} (comp (filter (comp empty? :commits val)) (map key)) trimmed)]
+ (-> pstate
+ (update :queue #(into (empty %) (remove emptied) %))
+ (update :index #(apply dissoc (merge % trimmed) emptied))
+ (update :buffer #(into [] (remove dropped?) %)))))
+
+(defn without-rolled-back
+ "Removes from `pstate` the commits `plan` reverts or compensates. The
+ in-flight `entry` keeps only the commits that stay saved."
+ [pstate {:keys [id file-id commits]} {:keys [files compensate]}]
+ (let [head (into #{} (map :id) commits)
+ reverted (into #{} (comp (mapcat (comp :reverted val)) (map :id)) files)
+ compensated (into #{} (map :id) compensate)
+ unsaved (into reverted compensated)]
+ (as-> pstate $
+ (drop-commits $ (into #{} (remove head) reverted))
+ (d/update-in-when $ [:index id :commits]
+ (fn [commits]
+ (into [] (remove (comp unsaved :id)) commits)))
+ (update $ :saved (fn [saved] (into [] (remove (comp compensated :id)) saved)))
+ (update $ :remote-changes dissoc file-id)
+ (reduce prune-remote-changes $ (disj (set (keys files)) file-id)))))
+
+(defn compensation-changes
+ "Changes that undo the saved `commits` of one file, newest first."
+ [commits]
+ {:redo-changes (into [] (mapcat :undo-changes) (reverse commits))
+ :undo-changes (into [] (mapcat :redo-changes) commits)})
diff --git a/frontend/src/app/main/data/persistence/lock.cljs b/frontend/src/app/main/data/persistence/lock.cljs
new file mode 100644
index 0000000000..95e7ddba92
--- /dev/null
+++ b/frontend/src/app/main/data/persistence/lock.cljs
@@ -0,0 +1,105 @@
+;; 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 SUBSIDIARY SL
+
+(ns app.main.data.persistence.lock
+ "Read-only lock of the workspace while saves fail."
+ (:require
+ [app.common.data.macros :as dm]
+ [app.main.data.workspace.edition :as dwe]
+ [app.util.mouse :as mse]
+ [beicon.v2.core :as rx]
+ [potok.v2.core :as ptk]))
+
+(defn failing?
+ "True while saves fail: the queue is halted, or an attempt of the slow
+ cycle is in flight (status :saving until it lands or fails again)."
+ [pstate]
+ (or (= :error (:status pstate))
+ (true? (:recovering pstate))))
+
+(defn locked?
+ "True while the workspace is read-only because saves fail."
+ [state]
+ (some? (dm/get-in state [:workspace-global :persistence-lock])))
+
+(defn cancel-gestures?
+ "True for the event that cancels the gestures in progress when saves
+ start failing; it comes before the `:interrupt` that stops them, so a
+ drag puts its shapes back instead of committing its partial move."
+ [event]
+ (ptk/type? ::cancel-gestures event))
+
+(defn gesture-stopper
+ "Stops a drag as `mse/drag-stopper` does, and also when the gestures in
+ progress are cancelled because saves fail; `cancelled?` turns true
+ before that stop reaches the drag. A drag that sees it ends without
+ committing anything."
+ ([stream cancelled?]
+ (gesture-stopper stream cancelled? nil))
+ ([stream cancelled? opts]
+ (rx/merge (mse/drag-stopper stream opts)
+ (->> stream
+ (rx/filter cancel-gestures?)
+ (rx/tap (fn [_] (vreset! cancelled? true)))))))
+
+(defn- lock-on-failure
+ "Puts the workspace in read-only mode and keeps the read-only value it
+ had, which `unlock-after-failure` brings back. Gestures in progress are
+ cancelled, so they commit nothing."
+ []
+ (ptk/reify ::lock-on-failure
+ ptk/UpdateEvent
+ (update [_ state]
+ (if (dm/get-in state [:workspace-global :persistence-lock])
+ state
+ (update state :workspace-global
+ (fn [wglobal]
+ (assoc wglobal
+ :persistence-lock {:read-only? (true? (:read-only? wglobal))}
+ :read-only? true)))))
+
+ ptk/WatchEvent
+ (watch [_ _ _]
+ (rx/of (ptk/data-event ::cancel-gestures)
+ :interrupt
+ (dwe/clear-edition-mode)))))
+
+(defn- unlock-after-failure
+ "Brings back the read-only value the workspace had before saves failed.
+ While the render context is lost the workspace stays read-only and the
+ value goes to the one `context-restored` brings back."
+ []
+ (ptk/reify ::unlock-after-failure
+ ptk/UpdateEvent
+ (update [_ state]
+ (if-let [lock (dm/get-in state [:workspace-global :persistence-lock])]
+ (let [read-only? (:read-only? lock)]
+ (if (dm/get-in state [:render-state :lost])
+ (-> state
+ (update :workspace-global dissoc :persistence-lock)
+ (assoc-in [:render-state :pre-context-lost-read-only?] read-only?))
+ (update state :workspace-global
+ (fn [wglobal]
+ (-> wglobal
+ (dissoc :persistence-lock)
+ (assoc :read-only? read-only?))))))
+ state))))
+
+(defn sync-failure-lock
+ "Locks the workspace when saves start failing and unlocks it when they
+ recover. A user who cannot edit is never locked: the workspace is
+ already read-only for them, and the failure toast says why."
+ []
+ (ptk/reify ::sync-failure-lock
+ ptk/WatchEvent
+ (watch [_ state _]
+ (let [lock? (and (failing? (:persistence state))
+ (true? (dm/get-in state [:permissions :can-edit])))
+ locked? (some? (dm/get-in state [:workspace-global :persistence-lock]))]
+ (cond
+ (and lock? (not locked?)) (rx/of (lock-on-failure))
+ (and locked? (not lock?)) (rx/of (unlock-after-failure))
+ :else (rx/empty))))))
diff --git a/frontend/src/app/main/data/team.cljs b/frontend/src/app/main/data/team.cljs
index 081f41102d..fe2b796ec8 100644
--- a/frontend/src/app/main/data/team.cljs
+++ b/frontend/src/app/main/data/team.cljs
@@ -124,8 +124,7 @@
in-organization? (and (contains? cf/flags :admin-console) organization)
can-create? (if in-organization?
(cto/allowed? :create-team
- {:organization-perms {:owner-id (:owner-id organization)
- :permissions (:permissions organization)}
+ {:organization-perms organization
:profile-id profile-id
:team-perms (:permissions team)})
true)]
@@ -150,8 +149,7 @@
in-organization? (and (contains? cf/flags :admin-console) organization)
can-delete? (if in-organization?
(cto/allowed? :delete-team
- {:organization-perms {:owner-id (:owner-id organization)
- :permissions (:permissions organization)}
+ {:organization-perms organization
:profile-id profile-id
:team-perms (:permissions team)})
(boolean (dm/get-in team [:permissions :is-owner])))
@@ -261,7 +259,20 @@
(watch [_ state _]
(let [team-id (:current-team-id state)]
(->> (rp/cmd! :get-team-invitations {:team-id team-id})
- (rx/map (partial invitations-fetched team-id)))))))
+ (rx/map (partial invitations-fetched team-id))
+ (rx/catch (fn [cause]
+ (let [{:keys [type code]} (ex-data cause)]
+ (if (and (= :validation type)
+ (= :insufficient-permissions code))
+ ;; The pending invitations are an admin only
+ ;; list, so a denied refetch means the cached
+ ;; copy is no longer valid: drop it instead of
+ ;; leaving stale emails around.
+ (do
+ (log/warn :hint "fetch-invitations: no permission, clearing"
+ :team-id (str team-id))
+ (rx/of (invitations-fetched team-id [])))
+ (rx/throw cause))))))))))
(defn- team-initialized
[team-id]
diff --git a/frontend/src/app/main/data/tokenscript.cljs b/frontend/src/app/main/data/tokenscript.cljs
index f002d49bed..9a5a3a6b74 100644
--- a/frontend/src/app/main/data/tokenscript.cljs
+++ b/frontend/src/app/main/data/tokenscript.cljs
@@ -212,6 +212,9 @@
:interpreter/unknown-function
(wte/error-with-value :error.token/unknown-function (:function-name data))
+ :processor/token-name-collision
+ (wte/error-with-value :error.token/name-collision (:token-name data))
+
(:functions/argument-out-of-range :functions/invalid-base)
(wte/error-with-value :error.token/function-argument-out-of-range (:function-name data))
diff --git a/frontend/src/app/main/data/viewer.cljs b/frontend/src/app/main/data/viewer.cljs
index 8d98586709..6109148eb8 100644
--- a/frontend/src/app/main/data/viewer.cljs
+++ b/frontend/src/app/main/data/viewer.cljs
@@ -59,7 +59,7 @@
[:file-id ::sm/uuid]
[:share-id {:optional true} [:maybe ::sm/uuid]]
[:pr-id {:optional true} [:maybe ::sm/uuid]]
- [:page-id {:optional true} ::sm/uuid]])
+ [:page-id {:optional true} [:maybe ::sm/uuid]]])
(defn initialize
[{:keys [file-id share-id] :as params}]
@@ -118,7 +118,7 @@
(def ^:private
schema:fetch-bundle
[:map {:title "fetch-bundle"}
- [:page-id ::sm/uuid]
+ [:page-id {:optional true} ::sm/uuid]
[:file-id ::sm/uuid]
[:share-id {:optional true} ::sm/uuid]
[:pr-id {:optional true} ::sm/uuid]])
@@ -314,19 +314,27 @@
index (some-> (rt/get-query-param qparams :index) parse-long)
frame-id (some-> (:frame-id qparams) uuid/parse)
page-id (some-> (rt/get-query-param qparams :page-id) uuid/parse)
- file-id (some-> (rt/get-query-param qparams :file-id) uuid/parse)]
+ file-id (some-> (rt/get-query-param qparams :file-id) uuid/parse)
+ first-page-id (-> file :data :pages first)]
- (rx/merge
- (rx/of (case (:zoom qparams)
- "fit" zoom-to-fit
- "fill" zoom-to-fill
- nil))
- (rx/of
- (update-page-position-data file-id page-id)
- (cond
- (some? frame-id) (go-to-frame frame-id)
- (some? index) (go-to-frame-by-index index)
- :else (go-to-frame-auto)))))))))
+ (if (and (nil? page-id) (some? first-page-id))
+ ;; Every viewer event reads the page from the route, so a URL
+ ;; without page-id names the first page; the viewer then
+ ;; initializes again on the completed route.
+ (rx/of (rt/nav :viewer
+ (assoc (rt/get-params state) :page-id first-page-id)
+ {::rt/replace true}))
+ (rx/merge
+ (rx/of (case (:zoom qparams)
+ "fit" zoom-to-fit
+ "fill" zoom-to-fill
+ nil))
+ (rx/of
+ (update-page-position-data file-id page-id)
+ (cond
+ (some? frame-id) (go-to-frame frame-id)
+ (some? index) (go-to-frame-by-index index)
+ :else (go-to-frame-auto))))))))))
(defn fetch-comment-threads
[{:keys [file-id page-id share-id] :as params}]
diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs
index 3e0c9108f7..6764e3e86e 100644
--- a/frontend/src/app/main/data/workspace.cljs
+++ b/frontend/src/app/main/data/workspace.cljs
@@ -21,6 +21,7 @@
[app.common.math :as mth]
[app.common.path-names :as cpn]
[app.common.render-wasm.wasm :as wasm-state]
+ [app.common.transit :as t]
[app.common.types.component :as ctc]
[app.common.types.components-list :as ctkl]
[app.common.types.shape :as cts]
@@ -243,7 +244,9 @@
:save-undo? false
:origin it
:tags #{:position-data}
- :skip-component-sync? true}))
+ :skip-component-sync? true
+ ;; Derived from the text, so it follows it while saves fail
+ :ignore-save-lock true}))
(rx/empty)))))))
(defn- workspace-initialized
@@ -341,7 +344,8 @@
(let [file (restore-pending-changes state file)]
(-> state
(assoc :thumbnails (d/update-vals thumbnails (fn [uri] {:uri uri :rendered-at nil})))
- (update :files assoc file-id file))))))
+ (update :files assoc file-id file)
+ (dps/forget-other-versions file))))))
(defn zoom-to-frame
[]
@@ -416,7 +420,10 @@
ptk/WatchEvent
(watch [_ state stream]
- (let [stoper-s (rx/filter (ptk/type? ::finalize-workspace) stream)
+ (let [;; A reload starts a new `initialize-workspace`, which replaces these streams
+ stoper-s (rx/filter #(or (ptk/type? ::finalize-workspace %)
+ (ptk/type? ::initialize-workspace %))
+ stream)
rparams (rt/get-params state)
features (features/get-enabled-features state team-id)
render-wasm-enabled? (features/active-feature? state "render-wasm/v1")
@@ -576,20 +583,23 @@
{:redo-changes changes :undo-changes []
:save-undo? false
:tags #{:position-data}
- :skip-component-sync? true})))))
+ :skip-component-sync? true
+ ;; Derived from commits already made, rollbacks included
+ :ignore-save-lock true})))))
(rx/take-until stoper-s)))
(->> stream
(rx/filter dch/commit?)
(rx/map deref)
(rx/mapcat
- (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before]}]
+ (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before translation?]}]
(if (and save-undo? (seq undo-changes))
(let [entry {:undo-changes undo-changes
:redo-changes redo-changes
:undo-group undo-group
:tags tags
- :selected-before selected-before}]
+ :selected-before selected-before
+ :translation (boolean translation?)}]
(rx/of (dwu/append-undo entry stack-undo?)))
(rx/empty))))))
@@ -617,12 +627,14 @@
:workspace-tokens
:workspace-undo
:workspace-versions)
- (update :workspace-global dissoc :read-only? :preview-id :default-font)
+ (update :workspace-global dissoc :read-only? :preview-id :default-font
+ :persistence-lock)
(assoc-in [:workspace-global :options-mode] :design)
(update :files d/update-vals #(dissoc % :data))))
ptk/WatchEvent
(watch [_ state _]
+ (t/clear-uuid-cache)
(let [project-id (:current-project-id state)]
(rx/of (dwn/finalize file-id)
(dpj/finalize-project project-id)
diff --git a/frontend/src/app/main/data/workspace/colors.cljs b/frontend/src/app/main/data/workspace/colors.cljs
index 9150e651a5..9594da29e8 100644
--- a/frontend/src/app/main/data/workspace/colors.cljs
+++ b/frontend/src/app/main/data/workspace/colors.cljs
@@ -683,18 +683,23 @@
(ptk/reify ::change-color-in-selected
ptk/WatchEvent
(watch [_ _ _]
- (let [undo-id (js/Symbol)]
+ (let [undo-id (js/Symbol)
+ {text-ops true style-ops false} (group-by #(= :content (:prop %)) operations)
+ style-groups (group-by (juxt :prop :index) style-ops)]
(rx/concat
(rx/of (dwu/start-undo-transaction undo-id))
- (->> (rx/from operations)
- (rx/map (fn [{:keys [shape-id index] :as operation}]
- (case (:prop operation)
- :fill (change-fill [shape-id] new-color index)
- :stroke (change-stroke-color [shape-id] new-color index)
- :shadow (change-shadow [shape-id] new-color index)
- :content (dwt/update-text-with-function
- shape-id
- (partial change-text-color old-color new-color index))))))
+ (->> (rx/from style-groups)
+ (rx/map (fn [[[prop index] operations]]
+ (let [ids (mapv :shape-id operations)]
+ (case prop
+ :fill (change-fill ids new-color index)
+ :stroke (change-stroke-color ids new-color index)
+ :shadow (change-shadow ids new-color index))))))
+ (->> (rx/from text-ops)
+ (rx/map (fn [{:keys [shape-id index]}]
+ (dwt/update-text-with-function
+ shape-id
+ (partial change-text-color old-color new-color index)))))
(rx/of (dwu/commit-undo-transaction undo-id)))))))
(defn apply-color-from-palette
diff --git a/frontend/src/app/main/data/workspace/comments.cljs b/frontend/src/app/main/data/workspace/comments.cljs
index 79d804c50b..656fdaa651 100644
--- a/frontend/src/app/main/data/workspace/comments.cljs
+++ b/frontend/src/app/main/data/workspace/comments.cljs
@@ -20,6 +20,7 @@
[app.main.data.event :as ev]
[app.main.data.helpers :as dsh]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as-alias dps]
[app.main.data.workspace.common :as dwco]
[app.main.data.workspace.drawing :as dwd]
[app.main.data.workspace.edition :as dwe]
@@ -219,21 +220,62 @@
(rx/ignore))
(rx/empty)))))
+(defn- restore-rolled-back-threads
+ "After a rollback, puts the threads in `comment-thread-ids` back where the
+ restored page data has them, in the rendered threads and the backend.
+ Threads left on a frame the rollback removed (in `shape-ids`) move to the
+ page root, as deleting the frame does."
+ [{:keys [comment-thread-ids shape-ids]}]
+ (ptk/reify ::restore-rolled-back-threads
+ ptk/WatchEvent
+ (watch [_ state _]
+ (let [threads (:comment-threads state)
+
+ restored
+ (into {}
+ (keep (fn [id]
+ (when-let [{:keys [page-id]} (get threads id)]
+ (when-let [{:keys [position frame-id]}
+ (-> (dsh/lookup-page state page-id)
+ (dm/get-in [:comment-thread-positions id]))]
+ [id {:comment-thread-id id
+ :position position
+ :frame-id frame-id}]))))
+ comment-thread-ids)
+
+ orphaned?
+ (fn [{:keys [id page-id] :as thread}]
+ (let [frame-id (or (dm/get-in restored [id :frame-id]) (:frame-id thread))]
+ (and (contains? shape-ids frame-id)
+ (nil? (get (dsh/lookup-page-objects state page-id) frame-id)))))]
+
+ (rx/concat
+ (rx/from (map sync-comment-thread-position (vals restored)))
+ (->> (vals threads)
+ (filter orphaned?)
+ (map dcmt/update-comment-thread-frame)
+ (rx/from)))))))
+
(defn watch-comment-thread-position-changes
- "Syncs rendered threads and the backend when an undo/redo changes a comment position."
+ "Syncs rendered threads and the backend when an undo/redo changes a comment
+ position, and when a rollback reverts a change of positions or frames."
[stopper]
(ptk/reify ::watch-comment-thread-position-changes
ptk/WatchEvent
(watch [_ _ stream]
- (->> stream
- (rx/filter dwc/commit?)
- (rx/map deref)
- (rx/filter #(contains? undo-origins (:origin %)))
- (rx/mapcat (fn [commit]
- (->> (:redo-changes commit)
- (filter #(= :set-comment-thread-position (:type %)))
- (rx/from))))
- (rx/map sync-comment-thread-position)
+ (->> (rx/merge
+ (->> stream
+ (rx/filter dwc/commit?)
+ (rx/map deref)
+ (rx/filter #(contains? undo-origins (:origin %)))
+ (rx/mapcat (fn [commit]
+ (->> (:redo-changes commit)
+ (filter #(= :set-comment-thread-position (:type %)))
+ (rx/from))))
+ (rx/map sync-comment-thread-position))
+ (->> stream
+ (rx/filter (ptk/type? ::dps/rolled-back))
+ (rx/map (comp restore-rolled-back-threads deref))))
(rx/take-until stopper)))))
(defn frame-pin-transform
diff --git a/frontend/src/app/main/data/workspace/common.cljs b/frontend/src/app/main/data/workspace/common.cljs
index d682bbfe0e..e9911688b2 100644
--- a/frontend/src/app/main/data/workspace/common.cljs
+++ b/frontend/src/app/main/data/workspace/common.cljs
@@ -6,6 +6,7 @@
(ns app.main.data.workspace.common
(:require
+ [app.common.data.macros :as dm]
[app.common.logging :as log]
[app.main.data.profile :as du]
[app.main.data.workspace.layout :as dwl]
@@ -70,11 +71,15 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn set-workspace-read-only
+ "Sets the read-only mode. While failing saves lock the workspace, the
+ value is kept for when the lock is lifted."
[read-only?]
(ptk/reify ::set-workspace-read-only
ptk/UpdateEvent
(update [_ state]
- (update state :workspace-global assoc :read-only? read-only?))
+ (if (dm/get-in state [:workspace-global :persistence-lock])
+ (assoc-in state [:workspace-global :persistence-lock :read-only?] read-only?)
+ (update state :workspace-global assoc :read-only? read-only?)))
ptk/WatchEvent
(watch [_ _ _]
diff --git a/frontend/src/app/main/data/workspace/drawing/box.cljs b/frontend/src/app/main/data/workspace/drawing/box.cljs
index 18f510f722..3699229bd7 100644
--- a/frontend/src/app/main/data/workspace/drawing/box.cljs
+++ b/frontend/src/app/main/data/workspace/drawing/box.cljs
@@ -21,11 +21,11 @@
[app.common.types.shape.layout :as ctl]
[app.common.uuid :as uuid]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace.drawing.common :as common]
[app.main.snap :as snap]
[app.main.streams :as ms]
[app.util.array :as array]
- [app.util.mouse :as mse]
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
@@ -93,7 +93,8 @@
(ptk/reify ::handle-drawing
ptk/WatchEvent
(watch [_ state stream]
- (let [stopper (mse/drag-stopper stream)
+ (let [cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
layout (get state :workspace-layout)
zoom (dm/get-in state [:workspace-local :zoom] 1)
@@ -149,5 +150,7 @@
(fn [[_ shift? mod? point]]
#(update-drawing % initial (cond-> point snap-pixel? (gpt/round-step 1)) shift? mod? snap-pixel?))))))
- (->> (rx/of (common/handle-finish-drawing))
+ (->> (rx/defer #(rx/of (if @cancelled?
+ (common/cancel-drawing)
+ (common/handle-finish-drawing))))
(rx/delay 100)))))))
diff --git a/frontend/src/app/main/data/workspace/drawing/common.cljs b/frontend/src/app/main/data/workspace/drawing/common.cljs
index 930d91a280..bb54665da3 100644
--- a/frontend/src/app/main/data/workspace/drawing/common.cljs
+++ b/frontend/src/app/main/data/workspace/drawing/common.cljs
@@ -132,3 +132,16 @@
;; Let the current mouse event finish before clearing drawing state.
(->> (rx/of (clear-drawing {:preserve-tool? (= tool :curve)}))
(rx/delay 0)))))))
+
+(defn cancel-drawing
+ "Ends the drawing in progress without adding its shape, as when saves
+ start failing mid-gesture."
+ []
+ (ptk/reify ::cancel-drawing
+ ptk/UpdateEvent
+ (update [_ state]
+ (update state :workspace-drawing dissoc :object))
+
+ ptk/WatchEvent
+ (watch [_ _ _]
+ (rx/of (handle-finish-drawing)))))
diff --git a/frontend/src/app/main/data/workspace/drawing/curve.cljs b/frontend/src/app/main/data/workspace/drawing/curve.cljs
index efc670b492..f15636a5f5 100644
--- a/frontend/src/app/main/data/workspace/drawing/curve.cljs
+++ b/frontend/src/app/main/data/workspace/drawing/curve.cljs
@@ -17,9 +17,9 @@
[app.common.types.shape.layout :as ctl]
[app.common.uuid :as uuid]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace.drawing.common :as common]
[app.main.streams :as ms]
- [app.util.mouse :as mse]
[app.util.path.simplify-curve :as ups]
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
@@ -104,19 +104,22 @@
(ptk/reify ::handle-drawing
ptk/WatchEvent
(watch [_ _ stream]
- (let [stopper (mse/drag-stopper stream)
- mouse (rx/sample 10 ms/mouse-position)
- shape (cts/setup-shape {:type :path
- :initialized? true
- :frame-id uuid/zero
- :parent-id uuid/zero
- ::points []})]
+ (let [cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
+ mouse (rx/sample 10 ms/mouse-position)
+ shape (cts/setup-shape {:type :path
+ :initialized? true
+ :frame-id uuid/zero
+ :parent-id uuid/zero
+ ::points []})]
(rx/concat
(rx/of #(update % :workspace-drawing assoc :object shape))
(->> mouse
(rx/map insert-point)
(rx/take-until stopper))
- (rx/of
- (setup-frame)
- (finish-drawing)
- (common/handle-finish-drawing)))))))
+ (rx/defer
+ #(if @cancelled?
+ (rx/of (common/cancel-drawing))
+ (rx/of (setup-frame)
+ (finish-drawing)
+ (common/handle-finish-drawing)))))))))
diff --git a/frontend/src/app/main/data/workspace/drawing/line.cljs b/frontend/src/app/main/data/workspace/drawing/line.cljs
index 10fc76f6b7..355862d3f3 100644
--- a/frontend/src/app/main/data/workspace/drawing/line.cljs
+++ b/frontend/src/app/main/data/workspace/drawing/line.cljs
@@ -27,9 +27,9 @@
[app.common.types.shape.layout :as ctl]
[app.common.uuid :as uuid]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace.drawing.common :as common]
[app.main.streams :as ms]
- [app.util.mouse :as mse]
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
@@ -128,17 +128,18 @@
(ptk/reify ::handle-drawing
ptk/WatchEvent
(watch [_ state stream]
- (let [stopper (mse/drag-stopper stream)
- zoom (dm/get-in state [:workspace-local :zoom] 1)
- start @ms/mouse-position
- shape (cts/setup-shape {:type :path
- :initialized? true
- :click-draw? true
- :frame-id uuid/zero
- :parent-id uuid/zero
- :strokes (arrow-strokes arrow?)
- :fills []
- :content (path/points->content [start start])})]
+ (let [cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
+ zoom (dm/get-in state [:workspace-local :zoom] 1)
+ start @ms/mouse-position
+ shape (cts/setup-shape {:type :path
+ :initialized? true
+ :click-draw? true
+ :frame-id uuid/zero
+ :parent-id uuid/zero
+ :strokes (arrow-strokes arrow?)
+ :fills []
+ :content (path/points->content [start start])})]
(rx/concat
(rx/of #(update % :workspace-drawing assoc :object shape))
@@ -152,7 +153,9 @@
(rx/map (partial update-endpoint start))
(rx/take-until stopper))
- (rx/of
- (setup-frame)
- (finalize)
- (common/handle-finish-drawing))))))))
+ (rx/defer
+ #(if @cancelled?
+ (rx/of (common/cancel-drawing))
+ (rx/of (setup-frame)
+ (finalize)
+ (common/handle-finish-drawing))))))))))
diff --git a/frontend/src/app/main/data/workspace/fix_deleted_fonts.cljs b/frontend/src/app/main/data/workspace/fix_deleted_fonts.cljs
index 7a69602045..5d2b3e4de0 100644
--- a/frontend/src/app/main/data/workspace/fix_deleted_fonts.cljs
+++ b/frontend/src/app/main/data/workspace/fix_deleted_fonts.cljs
@@ -21,78 +21,68 @@
;; - Moving files from one team to another in the same instance
;; - Custom fonts are explicitly deleted in the team area
-(defn- calculate-alternative-font-id
- [value]
- (let [fonts (deref fonts/fontsdb)]
- (reduce-kv (fn [_ _ font]
- (if (= (:family font) value)
- (reduced (:id font))
- nil))
- nil
- fonts)))
+(defn- index-fonts-by-family
+ [fonts]
+ (reduce-kv (fn [index id font]
+ (let [family (:family font)]
+ (if (contains? index family)
+ index
+ (assoc index family id))))
+ {}
+ fonts))
(defn- has-invalid-font-family?
- [node]
- (let [fonts (deref fonts/fontsdb)
- font-family (:font-family node)]
- (and (some? font-family)
- (nil? (get fonts (:font-id node))))))
+ [fonts node]
+ (and (some? (:font-family node))
+ (nil? (get fonts (:font-id node)))))
-(defn- shape-has-invalid-font-family??
- [shape]
- (and (cfh/text-shape? shape)
- (some has-invalid-font-family?
- (txt/node-seq txt/is-text-node? (:content shape)))))
+(defn- fixable-font?
+ [fonts families node]
+ (and (has-invalid-font-family? fonts node)
+ (contains? families (:font-family node))))
(defn- fix-deleted-font
- [node]
- (if-let [alternative-font-id (calculate-alternative-font-id (:font-family node))]
- (assoc node :font-id alternative-font-id)
- node))
-
-(defn- fix-shape-content
- [shape]
- (txt/transform-nodes has-invalid-font-family? fix-deleted-font
- (:content shape)))
-
-(defn- fix-typography
- [typography]
- (if-let [alternative-font-id (calculate-alternative-font-id (:font-family typography))]
- (assoc typography :font-id alternative-font-id)
- typography))
+ [families node]
+ (assoc node :font-id (get families (:font-family node))))
(defn- generate-page-changes
[{:keys [objects id]}]
- (reduce-kv (fn [changes shape-id shape]
- (if (shape-has-invalid-font-family?? shape)
- (let [fixed-content (fix-shape-content shape)]
- (if (not= fixed-content (:content shape))
+ (let [fonts (deref fonts/fontsdb)
+ families (index-fonts-by-family fonts)
+ fixable? (partial fixable-font? fonts families)]
+ (reduce-kv (fn [changes shape-id shape]
+ (let [content (:content shape)]
+ (if (and (cfh/text-shape? shape)
+ (some (partial has-invalid-font-family? fonts)
+ (txt/node-seq txt/is-text-node? content))
+ (some fixable? (txt/node-seq txt/is-node? content)))
(conj changes {:type :mod-obj
:id shape-id
:page-id id
:operations [{:type :set
:attr :content
- :val fixed-content}
+ :val (txt/transform-nodes
+ fixable?
+ (partial fix-deleted-font families)
+ content)}
{:type :set
:attr :position-data
:val nil}]})
- changes))
- changes))
- []
- objects))
+ changes)))
+ []
+ objects)))
(defn- generate-library-changes
[fdata]
- (reduce-kv (fn [changes _ typography]
- (if (has-invalid-font-family? typography)
- (let [fixed-typography (fix-typography typography)]
- (if (not= fixed-typography typography)
- (conj changes {:type :mod-typography
- :typography fixed-typography})
- changes))
- changes))
- []
- (:typographies fdata)))
+ (let [fonts (deref fonts/fontsdb)
+ families (index-fonts-by-family fonts)]
+ (reduce-kv (fn [changes _ typography]
+ (if (fixable-font? fonts families typography)
+ (conj changes {:type :mod-typography
+ :typography (fix-deleted-font families typography)})
+ changes))
+ []
+ (:typographies fdata))))
(defn fix-deleted-fonts-for-local-library
"Looks the file local library for deleted fonts and emit changes if
diff --git a/frontend/src/app/main/data/workspace/groups.cljs b/frontend/src/app/main/data/workspace/groups.cljs
index f60ae89ba8..53175a61f2 100644
--- a/frontend/src/app/main/data/workspace/groups.cljs
+++ b/frontend/src/app/main/data/workspace/groups.cljs
@@ -30,6 +30,14 @@
reverse
(map #(get objects %))))
+(defn- shapes-for-group-or-mask
+ "Shapes allowed for Group and Mask after the shared variant gates.
+
+ `ids-for-structure-op` drops mains before `clean-loops` so a selected
+ variant main does not swallow nested children."
+ [objects ids]
+ (shapes-for-grouping objects (ctn/ids-for-structure-op objects ids)))
+
(defn- get-empty-groups-after-group-creation
"An auxiliary function that finds and returns a set of ids that
corresponds to groups that should be deleted after a group creation.
@@ -188,18 +196,11 @@
(ptk/reify ::group-shapes
ptk/WatchEvent
(watch [it state _]
- (let [id (d/nilv id (uuid/next))
- page-id (:current-page-id state)
- objects (dsh/lookup-page-objects state page-id)
-
- shapes
- (->> ids
- (cfh/clean-loops objects)
- (remove #(ctn/has-any-copy-parent? objects (get objects %)))
- (shapes-for-grouping objects)
- (remove ctk/is-variant?))
-
- parents (into #{} (map :parent-id) shapes)]
+ (let [id (d/nilv id (uuid/next))
+ page-id (:current-page-id state)
+ objects (dsh/lookup-page-objects state page-id)
+ shapes (shapes-for-group-or-mask objects ids)
+ parents (into #{} (map :parent-id) shapes)]
(when-not (empty? shapes)
(let [[group changes]
(prepare-create-group (pcb/empty-changes it) id objects page-id shapes "Group" false)]
@@ -213,7 +214,9 @@
(ptk/reify ::group-selected
ptk/WatchEvent
(watch [_ state _]
- (let [selected (dsh/lookup-selected state)]
+ ;; Raw ids: lookup-selected already clean-loops, which would drop
+ ;; nested children of a selected variant main before we can.
+ (let [selected (dsh/get-selected-ids state)]
(rx/of (group-shapes nil selected :change-selection? true))))))
(defn ungroup-shapes
@@ -287,10 +290,9 @@
(watch [it state _]
(let [page-id (:current-page-id state)
objects (dsh/lookup-page-objects state page-id)
- selected (->> (or ids (dsh/lookup-selected state))
- (cfh/clean-loops objects)
- (remove #(ctn/has-any-copy-parent? objects (get objects %))))
- shapes (shapes-for-grouping objects selected)
+ shapes (shapes-for-group-or-mask
+ objects
+ (or ids (dsh/get-selected-ids state)))
first-shape (first shapes)]
(when-not (empty? shapes)
(let [;; If the selected shape is a group, we can use it. If not,
diff --git a/frontend/src/app/main/data/workspace/layout.cljs b/frontend/src/app/main/data/workspace/layout.cljs
index 6c8aed33cc..c0f1a125c2 100644
--- a/frontend/src/app/main/data/workspace/layout.cljs
+++ b/frontend/src/app/main/data/workspace/layout.cljs
@@ -146,7 +146,8 @@
:colorpalette :app.main.data.workspace/show-colorpalette?
:textpalette :app.main.data.workspace/show-textpalette?
:rulers :app.main.data.workspace/show-rulers?
- :display-comments :app.main.data.workspace/show-comments?})
+ :display-comments :app.main.data.workspace/show-comments?
+ :display-artboard-names :app.main.data.workspace/show-artboard-names?})
(defn load-layout-flags
"Given the current layout flags, and updates them with the data
diff --git a/frontend/src/app/main/data/workspace/libraries.cljs b/frontend/src/app/main/data/workspace/libraries.cljs
index bc52e63736..97ff3bd1a3 100644
--- a/frontend/src/app/main/data/workspace/libraries.cljs
+++ b/frontend/src/app/main/data/workspace/libraries.cljs
@@ -37,6 +37,7 @@
[app.main.data.helpers :as dsh]
[app.main.data.modal :as modal]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as dps]
[app.main.data.workspace :as-alias dw]
[app.main.data.workspace.groups :as dwg]
[app.main.data.workspace.notifications :as-alias dwn]
@@ -107,6 +108,7 @@
(map extract-change changes)))
(declare sync-file)
+(declare notify-sync-file)
(defn extract-path-if-missing
[item]
@@ -614,7 +616,7 @@
in the given file library. Then selects the newly created instance."
([file-id component-id position]
(instantiate-component file-id component-id position nil))
- ([file-id component-id position {:keys [start-move? initial-point id-ref origin]}]
+ ([file-id component-id position {:keys [start-move? initial-point id-ref origin frame-id]}]
(dm/assert! (uuid? file-id))
(dm/assert! (uuid? component-id))
(dm/assert! (gpt/point? position))
@@ -637,7 +639,11 @@
component-id
position
page
- libraries)
+ libraries
+ nil
+ frame-id
+ frame-id
+ {:force-frame? (some? frame-id)})
component (ctn/get-component-from-shape new-shape libraries)
undo-id (js/Symbol)]
@@ -904,7 +910,9 @@
ptk/WatchEvent
(watch [it state _]
(log/info :msg "UPDATE-COMPONENT of shape" :id (str id) :undo-group undo-group)
- (let [page-id (:current-page-id state)
+ (let [;; One undo group for the commits in both files
+ undo-group (or undo-group (uuid/next))
+ page-id (:current-page-id state)
libraries (dsh/lookup-libraries state)
file (dsh/lookup-file state)
@@ -961,11 +969,12 @@
component (ctkl/get-component data component-id)
page-id (:main-instance-page component)
root-id (:main-instance-id component)]
- (if (and (= tag "component")
- (features/active-feature? state "render-wasm/v1"))
+ (if (features/active-feature? state "render-wasm/v1")
;; WASM: render immediately, UI only — server persist happens
- ;; on the debounced path (update-component-thumbnail)
- (dwt.wasm/render-thumbnail file-id page-id root-id)
+ ;; on the debounced path (update-component-thumbnail). Frame
+ ;; thumbnails are only shown by the SVG viewport.
+ (when (= tag "component")
+ (dwt.wasm/render-thumbnail file-id page-id root-id))
(dwt/update-thumbnail file-id page-id root-id tag "update-component-thumbnail-sync"))))
(defn- render-component-thumbnail-event
@@ -986,7 +995,9 @@
page (dsh/lookup-page state)
shape (ctn/get-shape page shape-id)
component-id (:component-id shape)
- undo-id (js/Symbol)]
+ undo-id (js/Symbol)
+ ;; One undo group for the update and the syncs, in any file
+ undo-group (or undo-group (uuid/next))]
(rx/of
(dwu/start-undo-transaction undo-id)
(update-component shape-id undo-group)
@@ -1009,7 +1020,9 @@
ptk/WatchEvent
(watch [_ state _]
(let [current-file-id (:current-file-id state)
- undo-id (js/Symbol)]
+ undo-id (js/Symbol)
+ ;; One undo group for the syncs of both files
+ undo-group (or undo-group (uuid/next))]
(rx/of
(dwu/start-undo-transaction undo-id)
(sync-file current-file-id file-id :components component-id undo-group)
@@ -1057,67 +1070,123 @@
(cfh/get-children-with-self (:objects page) (:id root))
(cfh/get-parents-with-self objects (:parent-id shape))))))
+(def component-swap-layout-ids-type
+ "Companion DataEvent type emitted by `component-swap` when `:skip-layout?`
+ is set. Batch callers filter this exact keyword (libraries ns) — never a
+ bare `::component-swap-layout-ids` in another namespace."
+ ::component-swap-layout-ids)
+
+(def ^:private component-swap-batch-done-type
+ ::component-swap-batch-done)
+
+(defn coalesce-skipped-layout
+ "While `swap-source` runs, collect companion layout-id DataEvents from
+ `stream`, then emit one `:layout/update` with the union.
+
+ `swap-source` must emit WatchEvents already configured with
+ `:skip-layout? true`. Uses a done marker (not `(rx/take (count …))`) so
+ no-op swaps cannot hang the fold. Reads the buffer inside `rx/defer` so
+ the id set is not frozen empty when `watch` returns."
+ [stream swap-source]
+ (let [layout-acc (volatile! [])]
+ (rx/concat
+ (rx/merge
+ (->> stream
+ (rx/take-until (rx/filter (ptk/type? component-swap-batch-done-type) stream))
+ (rx/filter (ptk/type? component-swap-layout-ids-type))
+ (rx/tap (fn [ev]
+ (vswap! layout-acc into (:ids (deref ev)))))
+ (rx/ignore))
+ (rx/concat
+ swap-source
+ (rx/of (ptk/data-event component-swap-batch-done-type {}))))
+ (rx/defer
+ #(rx/of (ptk/data-event :layout/update {:ids @layout-acc}))))))
+
(defn component-swap
- "Swaps a component with another one"
- [shape file-id id-new-component keep-touched?]
- (dm/assert! (uuid? id-new-component))
- (dm/assert! (uuid? file-id))
- (ptk/reify ::component-swap
- ptk/WatchEvent
- (watch [it state _]
- ;; First delete shapes so we have space in the layout otherwise we can have problems
- ;; in the grid creating new rows/columns to make space
- (let [libraries (dsh/lookup-libraries state)
- page (dsh/lookup-page state)
- objects (:objects page)
- parent (get objects (:parent-id shape))
+ "Swaps a component with another one.
- ldata (dsh/lookup-file-data state file-id)
- orig-shapes (when keep-touched? (cfh/get-children-with-self objects (:id shape)))
+ Optional `opts`:
+ - `:skip-select?` — do not emit `select-shape` after the swap (batch callers
+ restore selection once).
+ - `:skip-layout?` — do not emit `:layout/update`; emit a companion
+ `component-swap-layout-ids-type` DataEvent instead so the batch can
+ coalesce one layout update."
+ ([shape file-id id-new-component keep-touched?]
+ (component-swap shape file-id id-new-component keep-touched? nil))
+ ([shape file-id id-new-component keep-touched?
+ {:keys [skip-select? skip-layout?] :or {skip-select? false skip-layout? false}}]
+ (dm/assert! (uuid? id-new-component))
+ (dm/assert! (uuid? file-id))
+ (ptk/reify ::component-swap
+ ptk/WatchEvent
+ (watch [it state _]
+ ;; First delete shapes so we have space in the layout otherwise we can have problems
+ ;; in the grid creating new rows/columns to make space
+ (let [libraries (dsh/lookup-libraries state)
+ page (dsh/lookup-page state)
+ objects (:objects page)]
+ ;; Re-read from live state: sibling swaps / layout can move this head.
+ ;; Gone from objects → no-op (do not swap a closed-over stale shape).
+ (if-let [shape (get objects (:id shape))]
+ (let [parent (get objects (:parent-id shape))
- ;; If the target parent is a grid layout we need to pass the target cell
- target-cell (when (ctsl/grid-layout? parent)
- (ctsl/get-cell-by-shape-id parent (:id shape)))
+ ldata (dsh/lookup-file-data state file-id)
+ orig-shapes (when keep-touched? (cfh/get-children-with-self objects (:id shape)))
- index (find-shape-index objects (:parent-id shape) (:id shape))
+ ;; If the target parent is a grid layout we need to pass the target cell
+ target-cell (when (ctsl/grid-layout? parent)
+ (ctsl/get-cell-by-shape-id parent (:id shape)))
- ;; Store the properties that need to be maintained when the component is swapped
- keep-props-values (select-keys shape ctk/swap-keep-attrs)
+ index (find-shape-index objects (:parent-id shape) (:id shape))
- undo-id (js/Symbol)
- undo-group (uuid/next)
+ ;; Store the properties that need to be maintained when the component is swapped
+ keep-props-values (select-keys shape ctk/swap-keep-attrs)
- [new-shape all-parents changes]
- (-> (pcb/empty-changes it (:id page))
- (pcb/set-undo-group undo-group)
- (cll/generate-component-swap objects shape ldata page libraries id-new-component
- index target-cell keep-props-values keep-touched?))
+ undo-id (js/Symbol)
+ undo-group (uuid/next)
- updated-objects (pcb/get-objects changes)
- new-children-ids (cfh/get-children-ids-with-self updated-objects (:id new-shape))
- new-text-ids (->> new-children-ids
- (keep (fn [id]
- (when-let [child (get updated-objects id)]
- (when (and (cfh/text-shape? child)
- (not= :fixed (:grow-type child)))
- id))))
- (vec))
+ [new-shape all-parents changes]
+ (-> (pcb/empty-changes it (:id page))
+ (pcb/set-undo-group undo-group)
+ (cll/generate-component-swap objects shape ldata page libraries id-new-component
+ index target-cell keep-props-values keep-touched?))
- [changes parents-of-swapped]
- (if keep-touched?
- (clv/generate-keep-touched changes new-shape shape orig-shapes page libraries ldata)
- [changes []])
- update-layout-ids (concat all-parents parents-of-swapped new-children-ids)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwtp/propagate-workspace-tokens) ;; Make the new instance get the token values from the current file, not from the component's library
- (when (and (features/active-feature? state "render-wasm/v1")
- (seq new-text-ids))
- (dwwt/resize-wasm-text-all new-text-ids {:skip-component-sync? true}))
- (ptk/data-event :layout/update {:ids update-layout-ids :undo-group undo-group})
- (dwu/commit-undo-transaction undo-id)
- (dws/select-shape (:id new-shape) false))))))
+ updated-objects (pcb/get-objects changes)
+ new-children-ids (cfh/get-children-ids-with-self updated-objects (:id new-shape))
+ new-text-ids (->> new-children-ids
+ (keep (fn [id]
+ (when-let [child (get updated-objects id)]
+ (when (and (cfh/text-shape? child)
+ (not= :fixed (:grow-type child)))
+ id))))
+ (vec))
+
+ [changes parents-of-swapped]
+ (if keep-touched?
+ (clv/generate-keep-touched changes new-shape shape orig-shapes page libraries ldata)
+ [changes []])
+ update-layout-ids (concat all-parents parents-of-swapped new-children-ids)]
+ (cond-> (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ ;; Make the new instance get the token values from the current file,
+ ;; not from the component's library
+ (dwtp/propagate-workspace-tokens)
+ (when (and (features/active-feature? state "render-wasm/v1")
+ (seq new-text-ids))
+ (dwwt/resize-wasm-text-all new-text-ids {:skip-component-sync? true})))
+ (not skip-layout?)
+ (rx/concat (rx/of (ptk/data-event :layout/update
+ {:ids update-layout-ids :undo-group undo-group})))
+ skip-layout?
+ (rx/concat (rx/of (ptk/data-event component-swap-layout-ids-type
+ {:ids update-layout-ids})))
+ true
+ (rx/concat (rx/of (dwu/commit-undo-transaction undo-id)))
+ (not skip-select?)
+ (rx/concat (rx/of (dws/select-shape (:id new-shape) false)))))
+ (rx/empty)))))))
(defn component-multi-swap
"Swaps several components with another one"
@@ -1131,17 +1200,21 @@
{::ev/name "component-swap"})
ptk/WatchEvent
- (watch [_ state _]
- (let [undo-id (js/Symbol)]
+ (watch [_ state stream]
+ (let [undo-id (js/Symbol)
+ swap-opts {:skip-select? true :skip-layout? true}]
(log/info :msg "COMPONENT-SWAP"
:file (debug-pretty-file file-id state)
:id-new-component id-new-component
:undo-id undo-id)
(rx/concat
(rx/of (dwu/start-undo-transaction undo-id))
- (rx/map #(component-swap % file-id id-new-component false) (rx/from shapes))
- (rx/of (dwu/commit-undo-transaction undo-id))
- (rx/of (dwsp/open-specialized-panel :component-swap)))))))
+ (coalesce-skipped-layout
+ stream
+ (->> (rx/from shapes)
+ (rx/map #(component-swap % file-id id-new-component false swap-opts))))
+ (rx/of (dwu/commit-undo-transaction undo-id)
+ (dwsp/open-specialized-panel :component-swap)))))))
(def valid-asset-types
#{:colors :components :typographies})
@@ -1191,6 +1264,30 @@
(when-not (= (:frame-id shape) uuid/zero)
(dwt/clear-thumbnail file-id (:page-id shape) (:frame-id shape) "frame")))))))))))
+(defn- mark-library-synced
+ "Tells the backend that `file-id` is synced with `library-id`. Only the
+ update notice depends on it, so a failure (e.g. edit rights lost
+ meanwhile) is logged and ignored."
+ [file-id library-id]
+ (->> (rp/cmd! :update-file-library-sync-status
+ {:file-id file-id
+ :library-id library-id})
+ (rx/catch (fn [cause]
+ (log/warn :hint "unable to mark the library as synced"
+ :file-id (str file-id)
+ :library-id (str library-id)
+ :cause cause)
+ (rx/empty)))))
+
+(defn- restore-library-synced-at
+ "Puts back the sync date of `library-id` a rejected sync moved forward,
+ so its update notice can show again."
+ [library-id synced-at]
+ (ptk/reify ::restore-library-synced-at
+ ptk/UpdateEvent
+ (update [_ state]
+ (d/update-in-when state [:files library-id] assoc :synced-at synced-at))))
+
(defn sync-file
"Synchronize the given file from the given library. Walk through all
shapes in all pages in the file that use some color, typography or
@@ -1211,70 +1308,101 @@
(contains? valid-asset-types asset-type)))
(dm/assert! (or (nil? asset-id)
(uuid? asset-id)))
- (ptk/reify ::sync-file
- ptk/UpdateEvent
- (update [_ state]
- (if (and (not= library-id (:current-file-id state))
- (nil? asset-id))
- (d/update-in-when state [:files library-id] assoc :synced-at (ct/now))
- state))
+ (let [;; The sync date this sync replaced, if it replaced one
+ synced-at (volatile! ::unchanged)]
+ (ptk/reify ::sync-file
+ ptk/UpdateEvent
+ (update [_ state]
+ (if (and (not= library-id (:current-file-id state))
+ (nil? asset-id))
+ (do (vreset! synced-at (dm/get-in state [:files library-id :synced-at]))
+ (d/update-in-when state [:files library-id] assoc :synced-at (ct/now)))
+ state))
- ptk/WatchEvent
- (watch [it state _]
- (when (and (some? file-id) (some? library-id)) ; Prevent race conditions while navigating out of the file
- (log/info :msg "SYNC-FILE"
- :file (debug-pretty-file file-id state)
- :library (debug-pretty-file library-id state)
- :asset-type asset-type
- :asset-id asset-id
- :undo-group undo-group)
- (let [ldata (dsh/lookup-file-data state file-id)
- libraries (dsh/lookup-libraries state)
- current-file-id (:current-file-id state)
+ ptk/WatchEvent
+ (watch [it state stream]
+ (when (and (some? file-id) (some? library-id)) ; Prevent race conditions while navigating out of the file
+ (log/info :msg "SYNC-FILE"
+ :file (debug-pretty-file file-id state)
+ :library (debug-pretty-file library-id state)
+ :asset-type asset-type
+ :asset-id asset-id
+ :undo-group undo-group)
+ (let [ldata (dsh/lookup-file-data state file-id)
+ libraries (dsh/lookup-libraries state)
+ current-file-id (:current-file-id state)
- changes (cll/generate-sync-file-changes
- (pcb/empty-changes it)
- undo-group
- asset-type
- file-id
- asset-id
- library-id
- libraries
- current-file-id)
+ changes (cll/generate-sync-file-changes
+ (pcb/empty-changes it)
+ undo-group
+ asset-type
+ file-id
+ asset-id
+ library-id
+ libraries
+ current-file-id)
- find-frames (fn [change]
- (->> (ch/frames-changed ldata change)
- (map #(assoc %1 :page-id (:page-id change)))))
+ find-frames (fn [change]
+ (->> (ch/frames-changed ldata change)
+ (map #(assoc %1 :page-id (:page-id change)))))
- updated-frames (->> changes
- :redo-changes
- (mapcat find-frames)
- distinct)
+ updated-frames (->> changes
+ :redo-changes
+ (mapcat find-frames)
+ distinct)
- pending-ids (sync-file-pending-ids file-id changes)
+ pending-ids (sync-file-pending-ids file-id changes)
- frontend-sync
- (sync-file-frontend-events
- file-id changes updated-frames undo-group)]
+ frontend-sync
+ (sync-file-frontend-events
+ file-id changes updated-frames undo-group)]
- (log/debug :msg "SYNC-FILE finished" :js/rchanges (log-changes
- (:redo-changes changes)
- ldata))
- (rx/concat
- ;; Keep the sync pending until its layout work starts.
- (wrf/with-pending :sync-file pending-ids frontend-sync)
+ (log/debug :msg "SYNC-FILE finished" :js/rchanges (log-changes
+ (:redo-changes changes)
+ ldata))
+ (rx/concat
+ ;; Keep the sync pending until its layout work starts.
+ (wrf/with-pending :sync-file pending-ids frontend-sync)
- (when (not= file-id library-id)
- ;; When we have just updated the library file, give some time for the
- ;; update to finish, before marking this file as synced.
- ;; TODO: look for a more precise way of syncing this.
- ;; Maybe by using the stream (second argument passed to watch)
- ;; to wait for the corresponding changes-committed and then proceed
- ;; with the :update-file-library-sync-status mutation.
- (rx/concat (rx/timer 3000)
- (rp/cmd! :update-file-library-sync-status
- {:file-id file-id
- :library-id library-id}))))))))))
+ (when (not= file-id library-id)
+ (let [stopper-s (rx/filter (ptk/type? ::dw/finalize-workspace) stream)
+ rolled-back-s (->> stream
+ (rx/filter (ptk/type? ::dps/rolled-back))
+ (rx/filter #(contains? (:file-ids (deref %)) file-id)))
+ restore (if (= ::unchanged @synced-at)
+ (rx/empty)
+ (rx/of (restore-library-synced-at library-id @synced-at)))
+ ;; Checked once the rollback has undone the sync locally
+ notify #(->> (dps/wait-persisted)
+ (rx/map (fn [_] (notify-sync-file))))]
+ (->> (rx/merge
+ ;; The server rejected the sync: its commits were undone
+ (rx/map (constantly ::rolled-back) rolled-back-s)
+ ;; The flush of the sync commits starts within 3 s; a save
+ ;; that fails for good ends the wait with no value
+ (->> (rx/timer 3000)
+ (rx/mapcat (fn [_] (dps/wait-persisted)))
+ (rx/map (constantly ::saved))
+ (rx/if-empty ::failed)))
+ (rx/take 1)
+ (rx/take-until stopper-s)
+ (rx/mapcat (fn [outcome]
+ (case outcome
+ ::saved
+ (mark-library-synced file-id library-id)
+
+ ;; Never saved: the update notice can show again
+ ;; once the release of the failed save undoes the sync
+ ::failed
+ (rx/concat
+ restore
+ (->> rolled-back-s
+ (rx/take 1)
+ (rx/take-until stopper-s)
+ (rx/mapcat (fn [_] (notify)))))
+
+ ::rolled-back
+ (rx/concat restore (notify))))))))))))))))
;; FIXME: the data should be set on the backend for clock consistency
@@ -1399,7 +1527,9 @@
(rx/of (dch/commit-changes {:origin it
:redo-changes (:redo-changes changes)
:undo-changes []
- :save-undo? false}))))))
+ :save-undo? false
+ ;; Follows a change already made, a rollback included
+ :ignore-save-lock true}))))))
(defn component-changed
"Notify that the component with the given id has changed, so it needs to be updated
@@ -1538,7 +1668,31 @@
notifier-s
(->> component-events-s
(rx/debounce 5000)
- (rx/tap #(log/trc :hint "buffer initialized")))]
+ (rx/tap #(log/trc :hint "buffer initialized")))
+
+ ;; A rollback is a rebase, not a commit: no component change
+ ;; is detected, so the thumbnails of the mains it reverted are
+ ;; rendered and uploaded here, each rebase checked against the
+ ;; file data right before it
+ rolled-back-thumbnails-s
+ (->> stream
+ (rx/filter (ptk/type? ::dch/rebase-commits))
+ (rx/map deref)
+ (rx/filter (complement :failed))
+ ;; Its own data pairing: `workspace-data-s` is shared and
+ ;; does not replay the current data to a late subscriber
+ (rx/with-latest-from
+ (->> (rx/from-atom refs/workspace-data {:emit-current-value? true})
+ (rx/concat (rx/of nil))
+ (rx/buffer 2 1)
+ (rx/map first)))
+ (rx/mapcat
+ (fn [[{:keys [file-id changes]} old-data]]
+ (if (= file-id (:id old-data))
+ (->> (into #{} (mapcat (partial ch/components-changed old-data)) changes)
+ (rx/from)
+ (rx/map #(update-component-thumbnail % file-id)))
+ (rx/empty)))))]
(when (or (contains? cf/flags :component-thumbnails)
(features/active-feature? state "render-wasm/v1"))
@@ -1570,7 +1724,9 @@
(->> component-events-s
(rx/filter (ptk/type? ::touch-component))
(rx/map deref)
- (rx/map render-component-thumbnail-event)))
+ (rx/map render-component-thumbnail-event))
+
+ rolled-back-thumbnails-s)
(rx/take-until stopper-s)))))))
diff --git a/frontend/src/app/main/data/workspace/media.cljs b/frontend/src/app/main/data/workspace/media.cljs
index f3a395a504..71ac10d86a 100644
--- a/frontend/src/app/main/data/workspace/media.cljs
+++ b/frontend/src/app/main/data/workspace/media.cljs
@@ -487,10 +487,14 @@
(watch [_ _ _]
(->> (svg->clj [name svg-string])
(rx/take 1)
- (rx/map #(svg/add-svg-shapes id % position {:ignore-selection? true
+ (rx/map #(svg/add-svg-shapes id % position {:frame-id uuid/zero
+ :ignore-selection? true
:change-selection? false}))))))
(defn create-svg-shape-with-images
- [file-id id name svg-string position on-success on-error]
+ "Uploads the images of `svg-string` and adds it as shape `id`.
+ `check-writable` runs once the images are uploaded, before the shape is
+ added; when it throws, no shape is added and `on-error` gets the error."
+ [file-id id name svg-string position {:keys [check-writable on-success on-error]}]
(ptk/reify ::create-svg-shape-with-images
ptk/WatchEvent
(watch [_ _ _]
@@ -500,13 +504,15 @@
(fn [svg-data]
(->> (svg/upload-images svg-data file-id)
(rx/map #(assoc svg-data :image-data %)))))
+ (rx/tap (fn [_] (check-writable)))
(rx/map
(fn [svg-data]
(svg/add-svg-shapes
id
svg-data
position
- {:ignore-selection? true
+ {:frame-id uuid/zero
+ :ignore-selection? true
:change-selection? false})))
(rx/tap on-success)
(rx/catch on-error)))))
diff --git a/frontend/src/app/main/data/workspace/modifiers.cljs b/frontend/src/app/main/data/workspace/modifiers.cljs
index 0e4bb0a5ce..82e3d9cc72 100644
--- a/frontend/src/app/main/data/workspace/modifiers.cljs
+++ b/frontend/src/app/main/data/workspace/modifiers.cljs
@@ -727,15 +727,16 @@
computed))))
(defn- without-inherited-transforms
- "Drops the entries that repeat their parent's transform. Only for WASM, which applies it to
- the subtree; the UI looks transforms up per shape. WASM does not expand into bool operands
- nor masks, so those are kept."
+ "Drops the pure-move entries that repeat their parent's transform. Only for WASM, which
+ applies a parent's move to the subtree; the UI looks transforms up per shape. WASM does not
+ expand into bool operands nor masks, so those are kept."
[objects modifiers]
(let [transforms (into {} modifiers)]
(into []
(remove (fn [[id transform]]
(let [parent (get objects (dm/get-in objects [id :parent-id]))]
(and (= transform (get transforms (:id parent)))
+ (gmt/move? transform)
(not (cfh/bool-shape? parent))
(not (and (cfh/mask-shape? parent)
(= id (first (:shapes parent)))))))))
@@ -971,34 +972,6 @@
(filter #(:rotation (get editable-attrs (:type %))))
(map :id)))
-;; Rotation use different algorithm to calculate children
-;; modifiers (and do not use child constraints).
-(defn set-wasm-rotation-modifiers
- ([angle shapes]
- (set-wasm-rotation-modifiers angle shapes (-> shapes gsh/shapes->rect grc/rect->center)))
-
- ([angle shapes center]
- (ptk/reify ::set-wasm-rotation-modifiers
- ptk/EffectEvent
- (effect [_ state _]
- (ensure-interactive-transform-start!)
- (let [objects (dsh/lookup-page-objects state)
- ids (sequence xf-rotation-shape shapes)
-
- get-modifier
- (fn [shape]
- (ctm/rotation-modifiers shape center angle))
-
- modif-tree
- (build-modif-tree ids objects get-modifier)
-
- modifiers
- (mapv (fn [[id {:keys [modifiers]}]]
- (d/vec2 id (ctm/modifiers->transform modifiers)))
- modif-tree)]
-
- (wasm.api/set-modifiers modifiers))))))
-
(defn set-rotation-modifiers
([angle shapes]
(set-rotation-modifiers angle shapes (-> shapes gsh/shapes->rect grc/rect->center)))
diff --git a/frontend/src/app/main/data/workspace/notifications.cljs b/frontend/src/app/main/data/workspace/notifications.cljs
index 8833022e94..2c07fb1962 100644
--- a/frontend/src/app/main/data/workspace/notifications.cljs
+++ b/frontend/src/app/main/data/workspace/notifications.cljs
@@ -16,7 +16,7 @@
[app.main.data.common :as dc]
[app.main.data.helpers :as dsh]
[app.main.data.modal :as modal]
- [app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as dps]
[app.main.data.plugins :as dpl]
[app.main.data.websocket :as dws]
[app.main.data.workspace :as-alias dw]
@@ -28,7 +28,6 @@
[app.main.data.workspace.texts :as dwt]
[app.main.router :as rt]
[app.util.globals :refer [global]]
- [app.util.i18n :refer [tr]]
[app.util.mouse :as mse]
[app.util.object :as obj]
[app.util.rxops :as rxs]
@@ -50,12 +49,29 @@
(declare handle-pointer-send)
(declare handle-export-update)
+(defn- resubscribed?
+ "True when `event` is a new subscription to `file-id`, which a reload of
+ the open file starts."
+ [file-id event]
+ (and (ptk/type? ::initialize event)
+ (= file-id (:file-id (deref event)))))
+
(defn initialize
+ "Subscribes to the notifications of `file-id` and its team until the file
+ is left or a new subscription starts. A new subscription to the same file
+ replaces this one, so a reload never doubles the handled messages."
[team-id file-id]
(ptk/reify ::initialize
+ IDeref
+ (-deref [_] {:file-id file-id})
+
ptk/WatchEvent
(watch [_ state stream]
- (let [stopper (rx/filter (ptk/type? ::finalize) stream)
+ (let [stopped-by (volatile! nil)
+ stopper (->> stream
+ (rx/filter #(or (ptk/type? ::finalize %)
+ (ptk/type? ::initialize %)))
+ (rx/tap #(vreset! stopped-by %)))
profile-id (:profile-id state)
organization-id (dm/get-in state [:teams team-id :organization :id])
@@ -109,7 +125,13 @@
(rx/take-until stopper))]
- (rx/concat stream (rx/of (dws/send endmsg)))))))
+ (rx/concat
+ stream
+ ;; The server keeps one file subscription per connection: an
+ ;; unsubscribe sent after the new subscribe would end it
+ (rx/defer #(if (resubscribed? file-id @stopped-by)
+ (rx/empty)
+ (rx/of (dws/send endmsg)))))))))
(defn- handle-change-team-role
[{:keys [role] :as msg}]
@@ -287,10 +309,7 @@
:redo-changes (vec changes)
:undo-changes []}))
(if (:repaired msg)
- (rx/of (ntf/show {:content (tr "workspace.notifications.file-repaired")
- :type :toast
- :level :info
- :timeout nil}))
+ (rx/of (dps/notify-repaired))
(rx/empty))))))
(defn handle-file-deleted
@@ -316,13 +335,27 @@
[:map {:title "handle-file-restored"}
[:type :keyword]
[:file-id ::sm/uuid]
- [:vern :int]])
+ [:vern :int]
+ [:profile-id {:optional true} ::sm/uuid]
+ [:label {:optional true} :string]
+ [:created-at {:optional true} ::ct/inst]])
(def ^:private check-file-restored-params
(sm/check-fn schema:handle-file-restored))
+(defn- restorer-fullname
+ "Name of the user who restored the file, when known: by `profile-id`, or
+ else by the presence of the session that restored it."
+ [state profile-id session-id]
+ (when-let [profile-id (or profile-id
+ (dm/get-in state [:workspace-presence session-id :profile-id]))]
+ (dm/get-in state [:profiles profile-id :fullname])))
+
(defn handle-file-restored
- [{:keys [file-id vern] :as msg}]
+ "Reloads the file a peer restored to an earlier version and tells the
+ user who restored which version, and whether their edits not saved yet
+ were dropped with the replaced version."
+ [{:keys [file-id vern session-id profile-id label created-at] :as msg}]
(assert (check-file-restored-params msg)
"expected valid parameters")
@@ -334,9 +367,16 @@
file (dsh/lookup-file state curr-file-id)
curr-vern (:vern file)]
- (when (and (= file-id curr-file-id)
- (not= vern curr-vern))
- (rx/of (ptk/event ::dw/reload-current-file)))))))
+ (if (and (= file-id curr-file-id)
+ (not= vern curr-vern))
+ (rx/of (ptk/event ::dw/reload-current-file)
+ (modal/show :file-restored
+ {:fullname (restorer-fullname state profile-id session-id)
+ :label label
+ :created-at created-at
+ ;; Made on the replaced version, so the reload drops them
+ :unsaved (boolean (seq (dps/pending-file-changes state file)))}))
+ (rx/empty))))))
(defn handle-file-merged
"Another session integrated changes into this file: a merge of a branch
diff --git a/frontend/src/app/main/data/workspace/path/shapes_to_path.cljs b/frontend/src/app/main/data/workspace/path/shapes_to_path.cljs
index 7ea9afe315..fb522f6839 100644
--- a/frontend/src/app/main/data/workspace/path/shapes_to_path.cljs
+++ b/frontend/src/app/main/data/workspace/path/shapes_to_path.cljs
@@ -132,7 +132,7 @@
:fills [(stroke->fill stroke)]
:strokes []}
(:even-odd? result)
- (assoc :svg-attrs {:fillRule "evenodd"})))))))
+ (assoc :svg-attrs {:fill-rule "evenodd"})))))))
(:strokes shape)))
(defn convert-selected-strokes-to-path
diff --git a/frontend/src/app/main/data/workspace/selection.cljs b/frontend/src/app/main/data/workspace/selection.cljs
index aaab6e6802..ae0831f5f6 100644
--- a/frontend/src/app/main/data/workspace/selection.cljs
+++ b/frontend/src/app/main/data/workspace/selection.cljs
@@ -580,21 +580,57 @@
(let [hover-value (if value #{id} #{})]
(assoc-in state [:workspace-local :hover] hover-value)))))
+(defn- leave-focus-mode
+ "Leaves focus mode, bringing back the viewport and the selection from
+ before it. Shapes removed since then are left out of the selection."
+ [state]
+ (let [objects (dsh/lookup-page-objects state)
+ local (:workspace-pre-focus state)
+ selected (:selected local)]
+ (-> state
+ (assoc :workspace-local
+ (cond-> local
+ (some? selected)
+ (assoc :selected (into (empty selected) (filter #(contains? objects %)) selected))))
+ (dissoc :workspace-focus-selected)
+ (dissoc :workspace-pre-focus))))
+
(defn update-focus-shapes
+ "Adds the `added` shapes to the focus set and takes the `removed` ones
+ out. Focus mode ends when no focused shape is left, so a later shape
+ never brings it back on its own."
[added removed]
- (ptk/reify ::update-focus-shapes
- ptk/UpdateEvent
- (update [_ state]
+ (let [left? (volatile! false)]
+ (ptk/reify ::update-focus-shapes
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [objects (dsh/lookup-page-objects state)
+ current (:workspace-focus-selected state)
+ focus (-> current
+ (set/union added)
+ (set/difference removed))
+ focus (cfh/clean-loops objects focus)]
+ (cond
+ (empty? current)
+ state
- (let [objects (dsh/lookup-page-objects state)
+ (empty? focus)
+ (do (vreset! left? true)
+ (leave-focus-mode state))
- focus (-> (:workspace-focus-selected state)
- (set/union added)
- (set/difference removed))
- focus (cfh/clean-loops objects focus)]
+ :else
+ (assoc state :workspace-focus-selected focus))))
- (-> state
- (assoc :workspace-focus-selected focus))))))
+ ptk/WatchEvent
+ (watch [_ _ _]
+ (if @left?
+ (rx/of (ptk/data-event ::focus-mode-left))
+ (rx/empty)))
+
+ ptk/EffectEvent
+ (effect [_ state _]
+ (when @left?
+ (dwvw/maybe-sync-workspace-local-viewport! state))))))
(defn toggle-focus-mode
"Zoom in on and center viewport on selection;
@@ -615,10 +651,7 @@
(if in-mode?
;; Exit focus, restoring previous viewport, selection, etc
- (-> state
- (assoc :workspace-local (:workspace-pre-focus state))
- (dissoc :workspace-focus-selected)
- (dissoc :workspace-pre-focus))
+ (leave-focus-mode state)
(if have-selection?
;; Enter focus and save viewport, selection, etc
(-> state
@@ -633,6 +666,7 @@
ptk/WatchEvent
(watch [_ state stream]
(let [stopper (rx/filter #(or (= ::toggle-focus-mode (ptk/type %))
+ (= ::focus-mode-left (ptk/type %))
(= ::dwpg/finalize-page (ptk/type %))) stream)]
(when (d/not-empty? (:workspace-focus-selected state))
(->> (rx/merge
diff --git a/frontend/src/app/main/data/workspace/shape_layout.cljs b/frontend/src/app/main/data/workspace/shape_layout.cljs
index df614dfe7a..68a34dad95 100644
--- a/frontend/src/app/main/data/workspace/shape_layout.cljs
+++ b/frontend/src/app/main/data/workspace/shape_layout.cljs
@@ -17,6 +17,7 @@
[app.common.logic.libraries :as cll]
[app.common.types.color :as clr]
[app.common.types.component :as ctc]
+ [app.common.types.container :as ctn]
[app.common.types.modifiers :as ctm]
[app.common.types.shape.layout :as ctl]
[app.common.uuid :as uuid]
@@ -150,7 +151,10 @@
(ptk/reify ::initialize-shape-layout
ptk/WatchEvent
(watch [_ _ stream]
- (let [stopper (rx/filter (ptk/type? ::finalize-shape-layout) stream)]
+ (let [;; A workspace reload starts a new one, which replaces this one
+ stopper (rx/filter #(or (ptk/type? ::finalize-shape-layout %)
+ (ptk/type? ::initialize-shape-layout %))
+ stream)]
(->> stream
(rx/filter (ptk/type? :layout/update))
;; Keeps each update's page and the shapes that can be laid out;
@@ -216,13 +220,15 @@
has-component? (some true? (map ctc/instance-root? selected-shapes))
is-component? (and single? has-component?)
has-variant? (some ctc/is-variant? selected-shapes)
+ has-container? (some ctc/is-variant-container? selected-shapes)
+ crosses-set? (ctn/crosses-variant-set-boundary? objects selected-shapes)
has-layout? (and single? (ctl/any-layout? (first selected-shapes)))
new-shape-id (uuid/next)
undo-id (js/Symbol)]
- (if has-variant?
+ (if (or has-variant? has-container? crosses-set?)
(rx/empty)
(rx/concat
(rx/of (dwu/start-undo-transaction undo-id))
@@ -294,12 +300,16 @@
undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (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))))))
+ ;; Refuse before undo: container or cross-boundary. Leave single
+ ;; mains on the from-id branch (selection refuses has-variant?).
+ (if (ctn/crosses-variant-set-boundary? objects selected-shapes)
+ (rx/empty)
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (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)))))))
(defn toggle-layout
[type]
diff --git a/frontend/src/app/main/data/workspace/shapes.cljs b/frontend/src/app/main/data/workspace/shapes.cljs
index 587956c084..82691dfad9 100644
--- a/frontend/src/app/main/data/workspace/shapes.cljs
+++ b/frontend/src/app/main/data/workspace/shapes.cljs
@@ -361,10 +361,11 @@
(remove #(dm/get-in objects [% :blocked]))
(cfh/order-by-indexed-shapes objects))
+ data (dsh/lookup-file-data state)
changes (-> (pcb/empty-changes it page-id)
- (pcb/with-objects objects))
-
- changes (cfsh/prepare-move-shapes-into-frame changes frame-id shapes objects true)]
+ (pcb/with-objects objects)
+ (pcb/with-library-data data)
+ (cls/generate-move-shapes-into-frame frame-id shapes objects true))]
(if (some? changes)
(rx/of (dch/commit-changes changes))
@@ -500,16 +501,14 @@
(ptk/reify ::create-artboard-from-selection
ptk/WatchEvent
(watch [_ state _]
- (let [page-id (:current-page-id state)
- objects (dsh/lookup-page-objects state page-id)
- selected (->> (dsh/lookup-selected state)
- (cfh/clean-loops objects)
- (remove #(ctn/has-any-copy-parent? objects (get objects %)))
- (remove #(->> %
- (get objects)
- (ctc/is-variant?))))]
+ (let [page-id (:current-page-id state)
+ objects (dsh/lookup-page-objects state page-id)
+ selected (vec (ctn/ids-for-structure-op
+ objects
+ (dsh/get-selected-ids state)))]
- (rx/of (create-artboard-from-shapes selected id parent-id index name delta)))))))
+ (when (seq selected)
+ (rx/of (create-artboard-from-shapes selected id parent-id index name delta))))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Shape Flags
diff --git a/frontend/src/app/main/data/workspace/svg_upload.cljs b/frontend/src/app/main/data/workspace/svg_upload.cljs
index a972edb3d9..48a84f0b30 100644
--- a/frontend/src/app/main/data/workspace/svg_upload.cljs
+++ b/frontend/src/app/main/data/workspace/svg_upload.cljs
@@ -70,7 +70,7 @@
([svg-data position]
(add-svg-shapes nil svg-data position nil))
- ([id svg-data position {:keys [change-selection? ignore-selection?]
+ ([id svg-data position {:keys [change-selection? ignore-selection? frame-id]
:or {ignore-selection? false change-selection? true}}]
(ptk/reify ::add-svg-shapes
ptk/WatchEvent
@@ -88,10 +88,11 @@
base-id (:parent-id base)
- frame-id (if (or selected-frame? (empty? selected)
- (not= :frame (dm/get-in objects [base-id :type])))
- (ctst/top-nested-frame objects position)
- base-id)
+ frame-id (or frame-id
+ (if (or selected-frame? (empty? selected)
+ (not= :frame (dm/get-in objects [base-id :type])))
+ (ctst/top-nested-frame objects position)
+ base-id))
parent-id (if (or selected-frame? (empty? selected) (nil? base))
frame-id
diff --git a/frontend/src/app/main/data/workspace/texts.cljs b/frontend/src/app/main/data/workspace/texts.cljs
index bc077f92c4..0464cee98b 100644
--- a/frontend/src/app/main/data/workspace/texts.cljs
+++ b/frontend/src/app/main/data/workspace/texts.cljs
@@ -96,7 +96,10 @@
(ptk/reify ::initialize-text-reflow
ptk/WatchEvent
(watch [_ _ stream]
- (let [stopper (rx/filter (ptk/type? ::finalize-text-reflow) stream)
+ (let [;; A workspace reload starts a new one, which replaces this one
+ stopper (rx/filter #(or (ptk/type? ::finalize-text-reflow %)
+ (ptk/type? ::initialize-text-reflow %))
+ stream)
page-stopper (rx/filter page-finalize? stream)]
(->> stream
(rx/filter (ptk/type? :text/reflow))
@@ -449,6 +452,30 @@
result (if (empty? result) txt/default-text-attrs result)]
result))
+(defn- v2-editor-live?
+ "False for a missing or disposed v2 editor. A component can still hold
+ the instance for one render after closing the editor disposed it, and
+ reading its style then throws."
+ [editor]
+ (and (some? editor)
+ (try
+ (.-currentStyle ^js editor)
+ true
+ (catch :default _ false))))
+
+(defn- styled-runs
+ "The text runs of `content` with their styles, without node ids or the
+ style keys set to nil."
+ [content]
+ (mapv (fn [[style text]] [(d/without-nils style) text])
+ (txt/content->text+styles content)))
+
+(defn same-styled-text?
+ "True when text contents `a` and `b` hold the same text with the same
+ styles."
+ [a b]
+ (= (styled-runs a) (styled-runs b)))
+
(defn v2-current-text-values
[{:keys [editor-instance attrs]}]
(let [result (-> (.-currentStyle editor-instance)
@@ -468,7 +495,7 @@
[{:keys [editor-styles editor-state editor-instance attrs shape] :as options}]
(cond
(some? editor-styles) (v3-current-text-values options)
- (some? editor-instance) (v2-current-text-values options)
+ (v2-editor-live? editor-instance) (v2-current-text-values options)
(some? editor-state) (v1-current-paragraph-values options)
:else (shape-current-values shape txt/is-paragraph-node? attrs)))
@@ -485,7 +512,7 @@
[{:keys [editor-styles editor-state editor-instance attrs shape] :as options}]
(cond
(some? editor-styles) (v3-current-text-values options)
- (some? editor-instance) (v2-current-text-values options)
+ (v2-editor-live? editor-instance) (v2-current-text-values options)
(some? editor-state) (v1-current-text-values options)
:else (shape-current-values shape txt/is-text-node? attrs)))
@@ -1319,7 +1346,15 @@
(ptk/reify ::v2-update-text-shape-content
ptk/WatchEvent
(watch [it state _]
- (if (features/active-feature? state "render-wasm/v1")
+ (cond
+ ;; The shape is gone (e.g. a rollback): only forget the edit session
+ (not (contains? (dsh/lookup-page-objects state) id))
+ (rx/of (fn [state]
+ (-> state
+ (update :workspace-new-text-shapes disj id)
+ (update :workspace-text-session-geom (fnil dissoc {}) id))))
+
+ (features/active-feature? state "render-wasm/v1")
(let [;; v3 editor always passes :finalize? from keyword opts; when absent
;; that binds nil and :or defaults do not apply — coerce so undo flags
;; stay strict booleans for changes-builder schema validation.
@@ -1443,6 +1478,7 @@
(update :workspace-new-text-shapes disj id)
(update :workspace-text-session-geom (fnil dissoc {}) id)))))))))
+ :else
(let [modifiers (get-in state [:workspace-text-modifier id])
new-shape? (contains? (:workspace-new-text-shapes state) id)]
(rx/of
diff --git a/frontend/src/app/main/data/workspace/thumbnails.cljs b/frontend/src/app/main/data/workspace/thumbnails.cljs
index b83d09842a..baf65f0ccc 100644
--- a/frontend/src/app/main/data/workspace/thumbnails.cljs
+++ b/frontend/src/app/main/data/workspace/thumbnails.cljs
@@ -361,10 +361,12 @@
(rx/buffer 2 1)
(rx/share))
- ;; All commits stream, indepentendly of the source of the commit
+ ;; All commits stream, indepentendly of the source of the commit.
+ ;; A rollback's rebase is not a commit but changes the data too.
all-commits-s
(->> stream
- (rx/filter dch/commit?)
+ (rx/filter #(or (dch/commit? %)
+ (ptk/type? ::dch/rebase-commits %)))
(rx/map deref)
(rx/observe-on :async)
(rx/with-latest-from workspace-data-s)
diff --git a/frontend/src/app/main/data/workspace/thumbnails_wasm.cljs b/frontend/src/app/main/data/workspace/thumbnails_wasm.cljs
index 4bcfe857f6..b5b78b92c5 100644
--- a/frontend/src/app/main/data/workspace/thumbnails_wasm.cljs
+++ b/frontend/src/app/main/data/workspace/thumbnails_wasm.cljs
@@ -122,16 +122,25 @@
(catch :default err
(rx/error! subs err)))))))
+ (get-subtree
+ [state]
+ (-> (dsh/lookup-page-objects state file-id page-id)
+ (cfh/get-children-with-self frame-id)))
+
(persist-to-server
[data-uri]
- (let [blob (wapi/data-uri->blob data-uri)]
- (->> (rp/cmd! :create-file-object-thumbnail
- {:file-id file-id
- :object-id object-id
- :media blob
- :tag "component"})
- (rx/catch rx/empty)
- (rx/ignore))))
+ ;; A change during the render (a rollback, an edit) makes
+ ;; it stale; that change brings its own render
+ (if (= (get-subtree state) (get-subtree @st/state))
+ (let [blob (wapi/data-uri->blob data-uri)]
+ (->> (rp/cmd! :create-file-object-thumbnail
+ {:file-id file-id
+ :object-id object-id
+ :media blob
+ :tag "component"})
+ (rx/catch rx/empty)
+ (rx/ignore)))
+ (rx/empty)))
(do-render-thumbnail
[]
diff --git a/frontend/src/app/main/data/workspace/transforms.cljs b/frontend/src/app/main/data/workspace/transforms.cljs
index 48b74d7023..3e5f8ced3a 100644
--- a/frontend/src/app/main/data/workspace/transforms.cljs
+++ b/frontend/src/app/main/data/workspace/transforms.cljs
@@ -35,6 +35,7 @@
[app.main.data.changes :as dch]
[app.main.data.event :as ev]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace.collapse :as dwc]
[app.main.data.workspace.modifiers :as dwm]
[app.main.data.workspace.selection :as dws]
@@ -48,7 +49,6 @@
[app.util.array :as array]
[app.util.dom :as dom]
[app.util.keyboard :as kbd]
- [app.util.mouse :as mse]
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
@@ -149,6 +149,16 @@
(effect [_ _ _]
(ms/clear-transform-preview!))))
+(defn cancel-transform
+ "Drops the preview of a cancelled drag, so its shapes stay where they
+ were and nothing is committed."
+ []
+ (ptk/reify ::cancel-transform
+ ptk/WatchEvent
+ (watch [_ _ _]
+ (rx/of (dwm/clear-local-transform)
+ (finish-transform)))))
+
;; -- Resize --------------------------------------------------------
(defn- shape-has-image-fill?
@@ -341,13 +351,14 @@
(rx/empty)
(let [initial-position @ms/mouse-position
- stopper (mse/drag-stopper stream)
- layout (:workspace-layout state)
- page-id (:current-page-id state)
- focus (:workspace-focus-selected state)
- zoom (dm/get-in state [:workspace-local :zoom] 1)
- objects (dsh/lookup-page-objects state page-id)
- shape-ids (filterv (comp not :blocked (d/getf objects)) ids)]
+ cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
+ layout (:workspace-layout state)
+ page-id (:current-page-id state)
+ focus (:workspace-focus-selected state)
+ zoom (dm/get-in state [:workspace-local :zoom] 1)
+ objects (dsh/lookup-page-objects state page-id)
+ shape-ids (filterv (comp not :blocked (d/getf objects)) ids)]
(if (empty? shape-ids)
(rx/empty)
@@ -384,6 +395,7 @@
(->> resize-events-stream
(rx/take-until stopper)
(rx/last)
+ (rx/filter (fn [_] (not @cancelled?)))
(rx/map
#(dwm/apply-wasm-modifiers
(dwm/create-modif-tree shape-ids %)
@@ -416,13 +428,17 @@
(rx/take-until stopper)
(rx/mapcat (fn [] modifiers-stream)))
- (if (features/active-feature? state "render-wasm/v1")
- (rx/of
- (finish-transform))
+ (rx/defer
+ #(cond
+ @cancelled?
+ (rx/of (cancel-transform))
- (rx/of
- (dwm/apply-modifiers)
- (finish-transform))))))))))))
+ (features/active-feature? state "render-wasm/v1")
+ (rx/of (finish-transform))
+
+ :else
+ (rx/of (dwm/apply-modifiers)
+ (finish-transform)))))))))))))
(defn start-move-line-point
"Drags one endpoint of a straight path while keeping the other fixed."
@@ -441,7 +457,8 @@
start-point (path.helpers/segment->point (nth content index))
other-point (path.helpers/segment->point (nth content (if (zero? index) 1 0)))
- stopper (mse/drag-stopper stream)
+ cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
;; Shift constrains the endpoint around the fixed point.
position-stream
@@ -485,8 +502,10 @@
(rx/last)
(rx/mapcat
(fn [pos]
- (rx/of (move-endpoint start-point false)
- (move-endpoint pos true))))))
+ (if @cancelled?
+ (rx/of (move-endpoint start-point false))
+ (rx/of (move-endpoint start-point false)
+ (move-endpoint pos true)))))))
(rx/of #(assoc-in % [:workspace-local :transform] nil)))))))
(defn trigger-bounding-box-cloaking
@@ -618,7 +637,8 @@
ptk/WatchEvent
(watch [_ state stream]
- (let [stopper (mse/drag-stopper stream)
+ (let [cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
group (gsh/shapes->rect shapes)
group-center (grc/rect->center group)
initial-angle (gpt/angle @ms/mouse-position group-center)
@@ -657,10 +677,13 @@
(->> angle-stream
(rx/take-until stopper)
(rx/last)
+ (rx/filter (fn [_] (not @cancelled?)))
(rx/map #(dwm/apply-wasm-modifiers (rotation-modifiers % shapes group-center)
:ignore-snap-pixel true))))
- (rx/of (finish-transform)))
+ (rx/defer #(if @cancelled?
+ (rx/of (cancel-transform))
+ (rx/of (finish-transform)))))
(let [emit-modifiers
(fn [angle] (dwm/set-rotation-modifiers angle shapes group-center))]
@@ -676,8 +699,10 @@
(rx/take-until stopper)
(rx/last)
(rx/map emit-modifiers)))
- (rx/of (dwm/apply-modifiers)
- (finish-transform)))))))))
+ (rx/defer #(if @cancelled?
+ (rx/of (cancel-transform))
+ (rx/of (dwm/apply-modifiers)
+ (finish-transform)))))))))))
(defn increase-rotation
"Rotate shapes a fixed angle, from a keyboard action."
@@ -728,7 +753,7 @@
(watch [_ state stream]
(let [initial (deref ms/mouse-position)
- stopper (mse/drag-stopper stream {:interrupt? false})
+ stopper (plk/gesture-stopper stream (volatile! false) {:interrupt? false})
zoom (get-in state [:workspace-local :zoom] 1)
;; We toggle the selection so we don't have to wait for the event
@@ -821,10 +846,11 @@
duplicate-move-started? (get-in state [:workspace-local :duplicate-move-started?] false)
- stopper (mse/drag-stopper stream)
- layout (get state :workspace-layout)
- zoom (get-in state [:workspace-local :zoom] 1)
- focus (:workspace-focus-selected state)
+ cancelled? (volatile! false)
+ stopper (plk/gesture-stopper stream cancelled?)
+ layout (get state :workspace-layout)
+ zoom (get-in state [:workspace-local :zoom] 1)
+ focus (:workspace-focus-selected state)
exclude-frames
(into #{}
@@ -976,15 +1002,17 @@
(rx/mapcat
(fn [[[_ target-frame drop-index drop-cell] [modifiers snap-ignore-axis]]]
(let [undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dwm/apply-wasm-modifiers modifiers
- :snap-ignore-axis snap-ignore-axis
- :undo-transation? false
- :subtree-ids-by-id subtree-ids-by-id)
- (move-shapes-to-frame ids target-frame drop-index drop-cell)
- (finish-transform)
- (dwu/commit-undo-transaction undo-id))))))))
+ (if @cancelled?
+ (rx/of (cancel-transform))
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dwm/apply-wasm-modifiers modifiers
+ :snap-ignore-axis snap-ignore-axis
+ :undo-transation? false
+ :subtree-ids-by-id subtree-ids-by-id)
+ (move-shapes-to-frame ids target-frame drop-index drop-cell)
+ (finish-transform)
+ (dwu/commit-undo-transaction undo-id)))))))))
(rx/merge
(->> modifiers-stream
@@ -1015,13 +1043,15 @@
(rx/mapcat
(fn [[[_ target-frame drop-index drop-cell] [modifiers snap-ignore-axis]]]
(let [undo-id (js/Symbol)]
- (rx/of (dwu/start-undo-transaction undo-id)
- ;; Apply the exact final modifiers; the preview may drop the last frame.
- (dwm/set-modifiers modifiers false false {:snap-ignore-axis snap-ignore-axis})
- (dwm/apply-modifiers {:undo-transation? false})
- (move-shapes-to-frame ids target-frame drop-index drop-cell)
- (finish-transform)
- (dwu/commit-undo-transaction undo-id)))))))))))))))
+ (if @cancelled?
+ (rx/of (cancel-transform))
+ (rx/of (dwu/start-undo-transaction undo-id)
+ ;; Apply the exact final modifiers; the preview may drop the last frame.
+ (dwm/set-modifiers modifiers false false {:snap-ignore-axis snap-ignore-axis})
+ (dwm/apply-modifiers {:undo-transation? false})
+ (move-shapes-to-frame ids target-frame drop-index drop-cell)
+ (finish-transform)
+ (dwu/commit-undo-transaction undo-id))))))))))))))))
(def valid-directions
#{:up :down :right :left})
@@ -1529,7 +1559,8 @@
:element-type (cfh/get-selected-type objects ids)
:moved moved-count}))))
- (when (and (some? frame-id) (d/not-empty? changes))
+ ;; Shapes that already belong to the frame leave nothing to move
+ (when (and (some? frame-id) (seq ids))
(rx/of (dch/commit-changes changes)
(dwc/expand-collapse frame-id)))
(when add-component-to-variant?
diff --git a/frontend/src/app/main/data/workspace/undo.cljs b/frontend/src/app/main/data/workspace/undo.cljs
index 156bc5b7cb..ea1b0c6e57 100644
--- a/frontend/src/app/main/data/workspace/undo.cljs
+++ b/frontend/src/app/main/data/workspace/undo.cljs
@@ -11,7 +11,7 @@
The undo stack has a maximum size of `MAX-UNDO-SIZE` (50) entries.
Undo entries:
- - Consist of `:undo-changes`, `:redo-changes`, `:undo-group`, `:tags`
+ - Consist of `:undo-changes`, `:redo-changes`, `:undo-group`, `:tags`, `:translation`
- Can be:
- `added`: pushes a new entry on top of the undo stack
- `stacked`: appends undo/redo changes to the last undo item under
@@ -42,9 +42,11 @@
[app.common.schema :as sm]
[app.common.time :as ct]
[app.common.types.shape.layout :as ctl]
+ [app.common.uuid :as uuid]
[app.main.data.changes :as dch]
[app.main.data.common :as dcm]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence.lock :as plk]
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
@@ -60,9 +62,12 @@
[:undo-changes [:vector cpc/schema:change]]
[:redo-changes [:vector cpc/schema:change]]
[:undo-group ::sm/uuid]
+ ;; Undo groups of every commit the entry holds
+ [:undo-groups {:optional true} [:set ::sm/uuid]]
[:tags [:set :keyword]]
[:selected-before {:optional true} [:maybe [:set ::sm/uuid]]]
[:selected-after {:optional true} [:maybe [:set ::sm/uuid]]]
+ [:translation :boolean]
;; When the entry was pushed onto the stack; used by the actions
;; history panel to show a relative timestamp next to each entry.
;; Issue #7660.
@@ -136,7 +141,7 @@
exists, or creates a new entry if it doesn't. When stacking onto an
existing entry, the entry's original timestamp is preserved so the
history panel keeps showing when the action originated. Issue #7660."
- [state {:keys [undo-changes redo-changes selected-after] :as entry}]
+ [state {:keys [undo-changes redo-changes undo-group selected-after translation] :as entry}]
(let [index (get-in state [:workspace-undo :index] -1)]
(if (>= index 0)
(update-in state [:workspace-undo :items index]
@@ -144,17 +149,22 @@
(-> item
(update :undo-changes #(into undo-changes %))
(update :redo-changes #(into % redo-changes))
+ (update :undo-groups (fnil conj #{}) undo-group)
+ (update :translation #(and % translation))
(assoc :selected-after selected-after))))
(add-undo-entry state entry))))
(defn- accumulate-undo-entry
"Extends the current undo transaction with new changes."
- [state {:keys [undo-changes redo-changes undo-group tags selected-before selected-after]}]
+ [state {:keys [undo-changes redo-changes undo-group tags selected-before selected-after translation]}]
(-> state
(update-in [:workspace-undo :transaction :undo-changes] #(into undo-changes %))
(update-in [:workspace-undo :transaction :redo-changes] #(into % redo-changes))
+ (update-in [:workspace-undo :transaction :translation]
+ #(and % translation))
(cond-> (nil? (get-in state [:workspace-undo :transaction :undo-group]))
(assoc-in [:workspace-undo :transaction :undo-group] undo-group))
+ (update-in [:workspace-undo :transaction :undo-groups] (fnil conj #{}) undo-group)
(cond-> (nil? (get-in state [:workspace-undo :transaction :selected-before]))
(assoc-in [:workspace-undo :transaction :selected-before] selected-before))
(assoc-in [:workspace-undo :transaction :selected-after] selected-after)
@@ -175,7 +185,9 @@
ptk/UpdateEvent
(update [_ state]
(let [selected-after (dm/get-in state [:workspace-local :selected])
- entry (assoc entry :selected-after selected-after)]
+ entry (assoc entry
+ :selected-after selected-after
+ :undo-groups #{(:undo-group entry)})]
(cond
(and (get-in state [:workspace-undo :transaction])
(or (not stack?)
@@ -190,7 +202,7 @@
(add-undo-entry state entry))))))
(def empty-tx
- {:undo-changes [] :redo-changes []})
+ {:undo-changes [] :redo-changes [] :translation true})
(declare check-open-transactions)
@@ -205,7 +217,9 @@
(update state :workspace-undo
(fn [undo-state]
(-> undo-state
- (update :transaction #(d/nilv % empty-tx))
+ ;; Commits made while it is open without an undo group of
+ ;; their own get this one
+ (update :transaction #(d/nilv % (assoc empty-tx :commit-group (uuid/next))))
(update :transactions-pending assoc id (ct/now))))))
ptk/WatchEvent
@@ -237,7 +251,7 @@
(if (and (some? current-tx)
(empty? pending-tx))
(-> state
- (add-undo-entry current-tx)
+ (add-undo-entry (dissoc current-tx :commit-group))
(update :workspace-undo dissoc :transaction))
state)))
@@ -251,6 +265,36 @@
(update-in [:workspace-undo :transactions-pending] dissoc id)
(add-transaction-undo-entry)))))
+(defn forget-undo-groups
+ "Drops the undo history from the first entry holding a commit of
+ `undo-groups` on, and empties the open transaction when the history is
+ cut or it holds one of them; its later commits keep the undo group of
+ its earlier ones. `undo-index`, when not nil, is the index the oldest
+ reverted undo or redo commit moved away from: the history points there
+ again."
+ [undo-groups undo-index]
+ (ptk/reify ::forget-undo-groups
+ ptk/UpdateEvent
+ (update [_ state]
+ (update state :workspace-undo
+ (fn [{:keys [items index transaction] :as undo}]
+ (let [reverted? #(some undo-groups (:undo-groups %))
+ first-index (d/index-of-pred items reverted?)
+ last-index (dec (count items))
+ index (if (some? undo-index)
+ (min undo-index last-index)
+ (d/nilv index last-index))]
+ (cond-> (assoc undo :index index)
+ (some? first-index)
+ (assoc :items (subvec items 0 first-index)
+ :index (min index (dec first-index)))
+
+ (and (some? transaction)
+ (or (some? first-index) (reverted? transaction)))
+ (assoc :transaction
+ (assoc empty-tx :commit-group (or (:undo-group transaction)
+ (:commit-group transaction)))))))))))
+
(def reinitialize-undo
"Clears the undo stack, removing all entries and transactions."
(ptk/reify ::reset-undo
@@ -292,29 +336,44 @@
(let [objects (dsh/lookup-page-objects state)
edition (get-in state [:workspace-local :edition])
drawing (get state :workspace-drawing)]
- (when-not (and (or (some? edition) (some? (:object drawing)))
- (not (ctl/grid-layout? objects edition)))
+ ;; While saves fail the history stays still: its commit would be
+ ;; refused after the index moved
+ (when-not (or (plk/locked? state)
+ (and (or (some? edition) (some? (:object drawing)))
+ (not (ctl/grid-layout? objects edition))))
(let [undo (:workspace-undo state)
items (:items undo)
index (or (:index undo) (dec (count items)))]
(when (and (some? items)
(<= -1 dest-index (dec (count items))))
- (let [changes (vec (apply concat
- (cond
- (< dest-index index)
- (->> (subvec items (inc dest-index) (inc index))
- (reverse)
- (map :undo-changes))
- (> dest-index index)
- (->> (subvec items (inc index) (inc dest-index))
- (map :redo-changes))
- :else [])))]
- (when (seq changes)
- (rx/of (materialize-undo changes dest-index)
- (dch/commit-changes {:redo-changes changes
- :undo-changes []
+ (let [[redo-changes undo-changes]
+ (cond
+ (< dest-index index)
+ (let [entries (subvec items (inc dest-index) (inc index))]
+ [(into [] (mapcat :undo-changes) (reverse entries))
+ (into [] (mapcat :redo-changes) entries)])
+
+ (> dest-index index)
+ (let [entries (subvec items (inc index) (inc dest-index))]
+ [(into [] (mapcat :redo-changes) entries)
+ (into [] (mapcat :undo-changes) (reverse entries))])
+
+ :else
+ [[] []])
+
+ translation (->> (subvec items
+ (inc (min dest-index index))
+ (inc (max dest-index index)))
+ (every? :translation))]
+ (when (seq redo-changes)
+ (rx/of (materialize-undo redo-changes dest-index)
+ ;; Undoable by a rollback, which also puts the index back
+ (dch/commit-changes {:redo-changes redo-changes
+ :undo-changes undo-changes
+ :undo-index index
:origin it
- :save-undo? false})))))))))))
+ :save-undo? false
+ :translation? translation})))))))))))
(declare ^:private assure-valid-current-page)
@@ -329,9 +388,10 @@
edition (get-in state [:workspace-local :edition])
drawing (get state :workspace-drawing)]
- ;; Editors handle their own undo's
- (when (or (and (nil? edition) (nil? (:object drawing)))
- (ctl/grid-layout? objects edition))
+ ;; Editors handle their own undo's; nothing is undone while saves fail
+ (when (and (not (plk/locked? state))
+ (or (and (nil? edition) (nil? (:object drawing)))
+ (ctl/grid-layout? objects edition)))
(let [undo (:workspace-undo state)
items (:items undo)
index (or (:index undo) (dec (count items)))]
@@ -356,8 +416,10 @@
(restore-selection (:selected-before first-item))))
(rx/of (materialize-undo changes (dec index))
(dch/commit-changes {:redo-changes changes
- :undo-changes []
+ :undo-changes (:redo-changes item)
+ :undo-index index
:save-undo? false
+ :translation? (:translation item)
:origin it})
(restore-selection (:selected-before item))
(assure-valid-current-page)))))))))))
@@ -370,9 +432,10 @@
edition (get-in state [:workspace-local :edition])
drawing (get state :workspace-drawing)]
- ;; Editors handle their own undo's
- (when (or (and (nil? edition) (nil? (:object drawing)))
- (ctl/grid-layout? objects edition))
+ ;; Editors handle their own undo's; nothing is undone while saves fail
+ (when (and (not (plk/locked? state))
+ (or (and (nil? edition) (nil? (:object drawing)))
+ (ctl/grid-layout? objects edition)))
(let [undo (:workspace-undo state)
items (:items undo)
index (or (:index undo) (dec (count items)))]
@@ -394,9 +457,11 @@
(restore-selection (:selected-after last-item))))
(rx/of (materialize-undo changes (inc index))
(dch/commit-changes {:redo-changes changes
- :undo-changes []
+ :undo-changes (:undo-changes item)
+ :undo-index index
:origin it
- :save-undo? false})
+ :save-undo? false
+ :translation? (:translation item)})
(restore-selection (:selected-after item))))))))))))
(defn- assure-valid-current-page
diff --git a/frontend/src/app/main/data/workspace/variants.cljs b/frontend/src/app/main/data/workspace/variants.cljs
index 09f6003a9d..49eb435f34 100644
--- a/frontend/src/app/main/data/workspace/variants.cljs
+++ b/frontend/src/app/main/data/workspace/variants.cljs
@@ -38,6 +38,34 @@
[beicon.v2.core :as rx]
[potok.v2.core :as ptk]))
+(defn- get-variant-mains-page
+ "Return the page that holds the variant mains.
+
+ Pass `:component-id` or `:variant-id`. Finds nothing when that id has
+ no main page in the file."
+ [data {:keys [component-id variant-id]}]
+ (let [page-id (cond
+ (some? component-id)
+ (:main-instance-page (ctkl/get-component data component-id))
+
+ (some? variant-id)
+ (-> (cfv/find-variant-components data variant-id)
+ first
+ :main-instance-page))
+ objects (when page-id
+ (dm/get-in data [:pages-index page-id :objects]))]
+ (when (and page-id objects)
+ {:page-id page-id
+ :objects objects})))
+
+(defn- with-main-page
+ "Run `f` with the page id and objects that hold the component/variant mains.
+ Returns an empty stream when the file cannot resolve them."
+ [data opts f]
+ (if-let [{:keys [page-id objects]} (get-variant-mains-page data opts)]
+ (f page-id objects)
+ (rx/empty)))
+
(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"
@@ -49,53 +77,51 @@
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))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:component-id component-id}
+ (fn [page-id objects]
+ (let [updated-properties (ctv/update-number-in-repeated-prop-names updated-properties)
- updated-properties (ctv/update-number-in-repeated-prop-names updated-properties)
+ 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)
- 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 (-> (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]}]
- (-> 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 {: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))
- 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)]
- undo-id (js/Symbol)]
-
- (rx/of
- (when (or (seq properties-to-remove) (seq properties-to-update))
- (ev/event {::ev/name "variant-edit-property-value" ::ev/origin "workspace:rename-in-layers"}))
- (when (seq properties-to-add)
- (ev/event {::ev/name "variant-add-property" ::ev/origin "workspace:rename-in-layers"}))
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
+ (rx/of
+ (when (or (seq properties-to-remove) (seq properties-to-update))
+ (ev/event {::ev/name "variant-edit-property-value" ::ev/origin "workspace:rename-in-layers"}))
+ (when (seq properties-to-add)
+ (ev/event {::ev/name "variant-add-property" ::ev/origin "workspace:rename-in-layers"}))
+ (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
@@ -105,44 +131,39 @@
ptk/UpdateEvent
(update [_ state]
(let [file-id (:current-file-id state)
- data (dsh/lookup-file-data state)
- objects (dsh/lookup-page-objects state)
-
- related-components (cfv/find-variant-components data objects variant-id)]
-
- (reduce
- (fn [s related-component]
- (update-in s
- [:files file-id :data :components (:id related-component) :variant-properties]
- (fn [props] (mapv #(with-meta % nil) props))))
- state
- related-components)))
+ data (dsh/lookup-file-data state)]
+ (if-let [{:keys [objects]} (get-variant-mains-page data {:variant-id variant-id})]
+ (let [related-components (cfv/find-variant-components data objects variant-id)]
+ (reduce
+ (fn [s related-component]
+ (update-in s
+ [:files file-id :data :components (:id related-component) :variant-properties]
+ (fn [props] (mapv #(with-meta % nil) props))))
+ state
+ related-components))
+ state)))
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))
-
- related-components (cfv/find-variant-components data objects variant-id)
-
- props (-> related-components last :variant-properties)
- valid-pos? (> (count props) pos)
- prop-name (when valid-pos? (-> props (nth pos) :name))
-
- changes (when valid-pos?
- (-> (pcb/empty-changes it page-id)
- (pcb/with-objects objects)
- (pcb/with-library-data data)
- (clvp/generate-update-property-name variant-id pos new-name)))
- undo-id (js/Symbol)]
- (when (and valid-pos? (not= prop-name new-name))
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id)
- (ev/event {::ev/name "variant-edit-property-name" ::ev/origin trigger})))))))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [related-components (cfv/find-variant-components data objects variant-id)
+ props (-> related-components last :variant-properties)
+ valid-pos? (> (count props) pos)
+ prop-name (when valid-pos? (-> props (nth pos) :name))
+ changes (when valid-pos?
+ (-> (pcb/empty-changes it page-id)
+ (pcb/with-objects objects)
+ (pcb/with-library-data data)
+ (clvp/generate-update-property-name variant-id pos new-name)))
+ undo-id (js/Symbol)]
+ (when (and valid-pos? (not= prop-name new-name))
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)
+ (ev/event {::ev/name "variant-edit-property-name" ::ev/origin trigger}))))))))))
(defn update-property-value
"Updates the variant property value on the position pos in a component"
@@ -150,20 +171,18 @@
(ptk/reify ::update-property-value
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))
-
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects)
- (clvp/generate-update-property-value component-id pos value))
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:component-id component-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clvp/generate-update-property-value component-id pos value))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)))))))))
(defn update-error
"Sets or unsets an error for a component"
@@ -173,20 +192,18 @@
(ptk/reify ::update-error
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))
-
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects)
- (clvp/generate-set-variant-error component-id value))
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id)))))))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:component-id component-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clvp/generate-set-variant-error component-id value))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id))))))))))
(defn remove-property
"Remove the variant property on the position pos
@@ -195,21 +212,18 @@
(ptk/reify ::remove-property
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))
-
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects)
- (clvp/generate-remove-property variant-id pos))
-
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clvp/generate-remove-property variant-id pos))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)))))))))
(defn remove-empty-properties
"Remove every empty property for all components when their respective values are empty
@@ -218,45 +232,39 @@
(ptk/reify ::remove-empty-properties
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))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [variant-components (cfv/find-variant-components data objects variant-id)
+ properties-empty-pos (->> variant-components
+ (mapcat :variant-properties)
+ (group-by :name)
+ (map-indexed
+ (fn [i [_ v]]
+ [i (->> v
+ (map :value)
+ (remove empty?)
+ empty?)]))
+ (reverse))
+ changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects))
+ changes (reduce
+ (fn [changes [pos property-empty?]]
+ (if property-empty?
+ (-> changes
+ (clvp/generate-remove-property variant-id pos))
+ changes))
+ changes
+ properties-empty-pos)
+ undo-id (js/Symbol)]
- variant-components (cfv/find-variant-components data objects variant-id)
-
- properties-empty-pos (->> variant-components
- (mapcat :variant-properties)
- (group-by :name)
- (map-indexed
- (fn [i [_ v]]
- [i (->> v
- (map :value)
- (remove empty?)
- empty?)]))
- (reverse))
-
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects))
-
- changes (reduce
- (fn [changes [pos property-empty?]]
- (if property-empty?
- (-> changes
- (clvp/generate-remove-property variant-id pos))
- changes))
- changes
- properties-empty-pos)
-
- undo-id (js/Symbol)]
-
- (when (seq (:redo-changes changes))
- (rx/of
- (ev/event {::ev/name "variant-remove-property" ::ev/origin "workspace:rename-in-layers"})
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id)))))))
+ (when (seq (:redo-changes changes))
+ (rx/of
+ (ev/event {::ev/name "variant-remove-property" ::ev/origin "workspace:rename-in-layers"})
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id))))))))))
(defn add-new-property
"Add a new variant property to all the components with this variant-id"
@@ -264,21 +272,18 @@
(ptk/reify ::add-new-property
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))
-
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects)
- (clvp/generate-add-new-property variant-id options))
-
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clvp/generate-add-new-property variant-id options))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)))))))))
(defn reorder-variant-poperties
"Reorder properties by moving a property from some position to some space between positions"
@@ -286,45 +291,45 @@
(ptk/reify ::reorder-variant-properties
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))
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clvp/generate-reorder-variant-poperties variant-id from-pos to-space-between-pos))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)))))))))
- changes (-> (pcb/empty-changes it page-id)
- (pcb/with-library-data data)
- (pcb/with-objects objects)
- (clvp/generate-reorder-variant-poperties variant-id from-pos to-space-between-pos))
-
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
-
-(defn- set-variant-id
- "Sets the variant-id on a component"
- [component-id variant-id]
- (ptk/reify ::set-variant-id
+(defn- define-variant-container
+ "Read page objects after the artboard exists, then commit the defining
+ variant fields in one change."
+ [variant-id main-id component-id name]
+ (ptk/reify ::define-variant-container
ptk/WatchEvent
(watch [it state _]
(let [page-id (:current-page-id state)
data (dsh/lookup-file-data state)
+ objects (dsh/lookup-page-objects state page-id)
changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-objects objects)
(pcb/with-library-data data)
- (pcb/update-component component-id #(assoc % :variant-id variant-id)))
- undo-id (js/Symbol)]
- (rx/of
- (dwu/start-undo-transaction undo-id)
- (dch/commit-changes changes)
- (dwu/commit-undo-transaction undo-id))))))
+ (clv/generate-define-variant-container
+ variant-id main-id component-id name))]
+ (rx/of (dch/commit-changes changes))))))
(defn- focus-property
[variant-id]
(ptk/reify ::focus-property
ptk/EffectEvent
(effect [_ _ _]
- (dom/focus! (dom/get-element (str "variant-prop-" variant-id "-0"))))))
+ ;; Unit tests run without a DOM; skip rather than throw into the store.
+ (when (exists? js/document)
+ (some-> (dom/get-element (str "variant-prop-" variant-id "-0"))
+ (dom/focus!))))))
(defn- resposition-and-resize-variant
"Resize the variant container, and move the shape (that is a variant) to the right"
@@ -395,6 +400,92 @@
(->> (rx/of (focus-property (:id variant-container)))
(rx/delay 250))))))))))
+(defn- transform-in-variant-stream
+ "Event stream that turns `main-instance-id` into a variant set.
+ The defining fields share one commit (`define-variant-container`).
+ Combine concatenates this stream before relocating the other mains.
+ `page-id` is the page that holds the main; nil means the open page."
+ [state main-instance-id variant-id delta prefix add-wrapper? duplicate? flex? page-id]
+ (let [variant-id (or variant-id (uuid/next))
+ variant-vec [variant-id]
+ file-id (:current-file-id state)
+ page-id (or page-id (:current-page-id state))
+ objects (dsh/lookup-page-objects state file-id page-id)
+ main (get objects main-instance-id)
+ parent (get objects (:parent-id main))
+ component-id (:component-id main)
+ name (if add-wrapper?
+ (str "Component/" (:name main))
+ (:name main))
+ ;; If there is a prefix, set is as first item of path
+ cpath (-> name
+ cpn/split-path
+ (cond->
+ (seq prefix)
+ (->> (drop (count prefix))
+ (cons (cpn/join-path prefix))
+ vec)))
+
+ name (first cpath)
+ num-props (max 1 (dec (count cpath)))
+ style-props (cond-> {:r1 20
+ :r2 20
+ :r3 20
+ :r4 20
+ :layout-item-absolute true}
+ flex?
+ (into {:layout-item-h-sizing :auto
+ :layout-item-v-sizing :auto
+ :layout-padding {:p1 30 :p2 30 :p3 30 :p4 30}
+ :layout-gap {:row-gap 0 :column-gap 20}}))
+
+ stroke-props {:stroke-alignment :inner
+ :stroke-style :solid
+ :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 (or delta
+ (if (ctsl/any-layout? parent)
+ (gpt/point 0 0)
+ (gpt/point -30 -30)))
+ undo-id (js/Symbol)]
+
+ (rx/concat
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+
+ ;; Create the frame while it is still a normal board
+ (dwsh/create-artboard-from-shapes [main-instance-id] variant-id nil nil nil delta flex?)
+ (cl/remove-all-fills variant-vec {:color clr/black :opacity 1})
+ (when flex? (dwsl/create-layout-from-id variant-id :flex))
+ (dwsh/update-shapes variant-vec #(merge % style-props))
+ (cl/add-stroke variant-vec stroke-props))
+
+ (rx/of (define-variant-container variant-id main-instance-id component-id name))
+
+ ;; First property is in the defining commit
+ (when (> num-props 1)
+ (rx/from
+ (repeatedly (dec num-props)
+ #(add-new-property variant-id {:fill-values? true}))))
+
+ ;; When the component has path, set the path items as properties values
+ (when (> (count cpath) 1)
+ (rx/from
+ (map
+ #(update-property-value component-id % (nth cpath (inc %)))
+ (range num-props))))
+
+ (rx/of
+ (when duplicate? (add-new-variant main-instance-id))
+ (dwsh/update-shapes variant-vec #(dissoc % :layout-item-absolute))
+ (dwu/commit-undo-transaction undo-id)
+ (when flex?
+ (ptk/data-event :layout/update {:ids [variant-id]}))))))
+
(defn transform-in-variant
"Given the id of a main shape of a component, creates a variant structure for
that component"
@@ -404,98 +495,7 @@
(ptk/reify ::transform-in-variant
ptk/WatchEvent
(watch [_ state _]
- (let [variant-id (or variant-id (uuid/next))
- variant-vec [variant-id]
- file-id (:current-file-id state)
- page-id (:current-page-id state)
- objects (dsh/lookup-page-objects state file-id page-id)
- main (get objects main-instance-id)
- parent (get objects (:parent-id main))
- component-id (:component-id main)
- name (if add-wrapper?
- (str "Component/" (:name main))
- (:name main))
- ;; If there is a prefix, set is as first item of path
- cpath (-> name
- cpn/split-path
- (cond->
- (seq prefix)
- (->> (drop (count prefix))
- (cons (cpn/join-path prefix))
- vec)))
-
- name (first cpath)
- num-props (max 1 (dec (count cpath)))
- base-props {:is-variant-container true
- :name name
- :r1 20
- :r2 20
- :r3 20
- :r4 20
- :layout-item-absolute true}
- flex-props {:layout-item-h-sizing :auto
- :layout-item-v-sizing :auto
- :layout-padding {:p1 30 :p2 30 :p3 30 :p4 30}
- :layout-gap {:row-gap 0 :column-gap 20}}
- cont-props (if flex?
- (into base-props flex-props)
- base-props)
- main-props {:name name
- :variant-id variant-id}
-
- stroke-props {:stroke-alignment :inner
- :stroke-style :solid
- :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 (or 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)
-
- (when (not= name (:name main))
- (dwl/rename-component component-id name))
-
- ;; Create variant container
- (dwsh/create-artboard-from-shapes [main-instance-id] variant-id nil nil nil delta flex?)
- (cl/remove-all-fills variant-vec {:color clr/black :opacity 1})
- (when flex? (dwsl/create-layout-from-id variant-id :flex))
- (dwsh/update-shapes variant-vec #(merge % cont-props))
- (dwsh/update-shapes [main-instance-id] #(merge % main-props))
- (cl/add-stroke variant-vec stroke-props)
- (set-variant-id component-id variant-id))
-
- ;; Add the necessary number of new properties, with default values
- (rx/from
- (repeatedly num-props
- #(add-new-property variant-id {:fill-values? true})))
-
- ;; When the component has path, set the path items as properties values
- (when (> (count cpath) 1)
- (rx/from
- (map
- #(update-property-value component-id % (nth cpath (inc %)))
- (range num-props))))
-
- (rx/of
- (when duplicate? (add-new-variant main-instance-id))
- (dwsh/update-shapes variant-vec #(dissoc % :layout-item-absolute))
- (dwu/commit-undo-transaction undo-id)
- (when flex?
- (ptk/data-event :layout/update {:ids [variant-id]})))))))))
+ (transform-in-variant-stream state main-instance-id variant-id delta prefix add-wrapper? duplicate? flex? nil)))))
(defn add-component-or-variant
"Manage the shared shortcut, and do the pertinent action"
@@ -565,22 +565,19 @@
(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 (cpn/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)))))))
+ (watch [it state _]
+ (let [data (dsh/lookup-file-data state)]
+ (with-main-page data {:variant-id variant-id}
+ (fn [page-id objects]
+ (let [changes (-> (pcb/empty-changes it page-id)
+ (pcb/with-library-data data)
+ (pcb/with-objects objects)
+ (clv/generate-rename-variant variant-id name))
+ undo-id (js/Symbol)]
+ (rx/of
+ (dwu/start-undo-transaction undo-id)
+ (dch/commit-changes changes)
+ (dwu/commit-undo-transaction undo-id)))))))))
(defn rename-comp-or-variant-and-main
"If the component is in a variant, rename the variant.
@@ -696,12 +693,17 @@
(rx/of (dcm/go-to-workspace :page-id page-id))
(rx/empty))
- (rx/of (dwu/start-undo-transaction undo-id)
- (transform-in-variant (first ids) variant-id delta prefix add-wrapper? false false)
- (dwsh/relocate-shapes (into #{} (rest ids)) variant-id 0)
- ;; relocate-shapes inserts the shapes in layer-tree
- ;; order, so restore the intended order afterwards
- (order-variant-children variant-id ids)
+ (rx/of (dwu/start-undo-transaction undo-id))
+
+ (transform-in-variant-stream state (first ids) variant-id delta prefix add-wrapper? false false current-page)
+
+ ;; One relocation per main, in `ids` order, so the
+ ;; generated property values follow the combine order
+ (rx/from (map #(dwsh/relocate-shapes #{%} variant-id 0) (rest ids)))
+
+ ;; Each relocation inserts at index 0, so restore the
+ ;; intended order afterwards
+ (rx/of (order-variant-children variant-id ids)
(dwsh/update-shapes ids #(-> %
(assoc :constraints-h :left)
(assoc :constraints-v :top)
@@ -781,60 +783,72 @@
(rx/of (combine-as-variants selected options))))))
(defn- variant-switch
- "Switch the shape (that must be a variant copy head) for the closest one with the property value passed as parameter"
- [shape {:keys [pos val] :as params}]
+ "Switch the shape (that must be a variant copy head) for the closest one with the property value passed as parameter.
+
+ `params` may include `:swap-opts` forwarded to `component-swap` (e.g.
+ `{:skip-select? true :skip-layout? true}` for a multi batch)."
+ [shape {:keys [pos val swap-opts] :as params}]
(ptk/reify ::variant-switch
ptk/WatchEvent
(watch [it state _]
- (let [libraries (dsh/lookup-libraries state)
- component-id (:component-id shape)
- component (ctf/get-component libraries (:component-file shape) component-id :include-deleted? false)]
- ;; If the value is already val, do nothing
- (when (not= val (dm/get-in component [:variant-properties pos :value]))
- (let [current-page-objects (dsh/lookup-page-objects state)
- variant-id (:variant-id component)
- component-file-data (dm/get-in libraries [(:component-file shape) :data])
- component-page-objects (-> (dsh/get-page component-file-data (:main-instance-page component))
- (get :objects))
- variant-comps (cfv/find-variant-components component-file-data component-page-objects variant-id)
- target-props (-> (:variant-properties component)
- (update pos assoc :value val))
- valid-comps (->> variant-comps
- (remove #(= (:id %) component-id))
- (filter #(= (dm/get-in % [:variant-properties pos :value]) val))
- (reverse))
- nearest-comp (apply min-key #(ctv/distance target-props (:variant-properties %)) valid-comps)
- shape-parents (cfh/get-parents-with-self current-page-objects (:parent-id shape))
- nearest-comp-children (cfh/get-children-with-self component-page-objects (:main-instance-id nearest-comp))
- comps-nesting-loop? (seq? (cfh/components-nesting-loop? nearest-comp-children shape-parents))
+ (let [objects (dsh/lookup-page-objects state)]
+ ;; Sibling swaps / layout can move this head before our turn.
+ ;; Gone from objects → no-op (do not switch a closed-over stale shape).
+ (if-let [shape (get objects (:id shape))]
+ (let [libraries (dsh/lookup-libraries state)
+ component-id (:component-id shape)
+ component (ctf/get-component libraries (:component-file shape) component-id :include-deleted? false)]
+ ;; If the value is already val, do nothing
+ (if (not= val (dm/get-in component [:variant-properties pos :value]))
+ (let [variant-id (:variant-id component)
+ component-file-data (dm/get-in libraries [(:component-file shape) :data])
+ component-page-objects (-> (dsh/get-page component-file-data (:main-instance-page component))
+ (get :objects))
+ variant-comps (cfv/find-variant-components component-file-data component-page-objects variant-id)
+ target-props (-> (:variant-properties component)
+ (update pos assoc :value val))
+ valid-comps (->> variant-comps
+ (remove #(= (:id %) component-id))
+ (filter #(= (dm/get-in % [:variant-properties pos :value]) val))
+ (reverse))
+ nearest-comp (apply min-key #(ctv/distance target-props (:variant-properties %)) valid-comps)
+ shape-parents (cfh/get-parents-with-self objects (:parent-id shape))
+ nearest-comp-children (cfh/get-children-with-self component-page-objects (:main-instance-id nearest-comp))
+ comps-nesting-loop? (seq? (cfh/components-nesting-loop? nearest-comp-children shape-parents))
- {:keys [on-error]
- :or {on-error rx/throw}} (meta params)]
+ {:keys [on-error]
+ :or {on-error rx/throw}} (meta params)]
- ;; If there is no nearest-comp, do nothing
- (when nearest-comp
- (if comps-nesting-loop?
- (do
- (on-error)
- (rx/empty))
- (rx/of
- (dwl/component-swap shape (:component-file shape) (:id nearest-comp) true)
- (ev/event (-> {::ev/name "variant-switch" ::ev/origin "workspace:design-tab"}
- (merge (meta it)))))))))))))
+ ;; If there is no nearest-comp, do nothing
+ (if nearest-comp
+ (if comps-nesting-loop?
+ (do
+ (on-error)
+ (rx/empty))
+ (rx/of
+ (dwl/component-swap shape (:component-file shape) (:id nearest-comp) true swap-opts)
+ (ev/event (-> {::ev/name "variant-switch" ::ev/origin "workspace:design-tab"}
+ (merge (meta it))))))
+ (rx/empty)))
+ (rx/empty)))
+ (rx/empty))))))
(defn variants-switch
"Switch each shape (that must be a variant copy head) for the closest one with the property value passed as parameter"
[{:keys [shapes] :as params}]
(ptk/reify ::variants-switch
ptk/WatchEvent
- (watch [it _ _]
- (let [ids (into (d/ordered-set) d/xf:map-id shapes)
- undo-id (js/Symbol)]
+ (watch [it _ stream]
+ (let [ids (into (d/ordered-set) d/xf:map-id shapes)
+ undo-id (js/Symbol)
+ swap-opts {:skip-select? true :skip-layout? true}]
(rx/concat
(rx/of (dwu/start-undo-transaction undo-id))
- (->> (rx/from shapes)
- (rx/map (fn [data]
- (-> (variant-switch data params)
- (with-meta (meta it))))))
+ (dwl/coalesce-skipped-layout
+ stream
+ (->> (rx/from shapes)
+ (rx/map (fn [shape]
+ (-> (variant-switch shape (assoc params :swap-opts swap-opts))
+ (with-meta (meta it)))))))
(rx/of (dwu/commit-undo-transaction undo-id)
(dws/select-shapes ids)))))))
diff --git a/frontend/src/app/main/data/workspace/versions.cljs b/frontend/src/app/main/data/workspace/versions.cljs
index 5e376d6a98..30fab0de28 100644
--- a/frontend/src/app/main/data/workspace/versions.cljs
+++ b/frontend/src/app/main/data/workspace/versions.cljs
@@ -22,8 +22,16 @@
[app.main.repo :as rp]
[app.util.i18n :refer [tr]]
[beicon.v2.core :as rx]
+ [cuerdas.core :as str]
[potok.v2.core :as ptk]))
+(defn repair-snapshot?
+ "True when `snapshot` is the copy the backend keeps of a file before it
+ repairs it."
+ [{:keys [label]}]
+ (and (string? label)
+ (str/starts-with? label "internal/repair/")))
+
(defonce default-state
{:status :loading
:data nil
@@ -77,7 +85,13 @@
(rx/mapcat
(fn [{:keys [id]}]
(rx/of (update-versions-state {:editing id})
- (fetch-versions))))))))))
+ (fetch-versions))))
+ ;; A version of the file without the unsaved changes would
+ ;; lose them, so none is made and the user is told why
+ (rx/catch (fn [cause]
+ (if (= :persistence (:type (ex-data cause)))
+ (rx/of (ntf/warn (tr "workspace.versions.create-failed-unsaved")))
+ (rx/throw cause))))))))))
(defn rename-version
[id label]
@@ -297,6 +311,10 @@
;; localized date, instead of the internal snapshot
;; label (e.g. `internal/snapshot/20`).
label (cond
+ (repair-snapshot? snapshot)
+ (tr "workspace.versions.repair.version"
+ (ct/format-inst (:created-at snapshot) :localized-date))
+
(= "system" (:created-by snapshot))
(tr "workspace.versions.autosaved.version"
(ct/format-inst (:created-at snapshot) :localized-date))
diff --git a/frontend/src/app/main/errors.cljs b/frontend/src/app/main/errors.cljs
index d3a901849a..bdad62f68a 100644
--- a/frontend/src/app/main/errors.cljs
+++ b/frontend/src/app/main/errors.cljs
@@ -23,7 +23,7 @@
[app.util.dom :as dom]
[app.util.globals :as g]
[app.util.http :as http]
- [app.util.i18n :refer [tr]]
+ [app.util.i18n :as i18n :refer [tr]]
[app.util.timers :as ts]
[app.util.webapi :as wapi]
[beicon.v2.core :as rx]
@@ -506,7 +506,8 @@
(defn flash
"Show error notification banner and emit error report.
A nil timeout keeps the notification visible until dismissed or replaced.
- A `:tag` lets the notification be hidden later by that tag.
+ A `:tag` lets the notification be hidden later by that tag. `:level`
+ defaults to `:error`.
The payload format is derived from the cause: environment failures get a
compact report. The audit event name is the canonical one requested by
@@ -537,8 +538,8 @@
synchronously from inside an error handler creates a re-entrant
event-processing cycle that can exhaust the JS call stack
(RangeError: Maximum call stack size exceeded)."
- [& {:keys [type hint cause timeout tag report-link? links]
- :or {type :handled timeout 5000}}]
+ [& {:keys [type hint cause timeout tag report-link? links level]
+ :or {type :handled timeout 5000 level :error}}]
(js/Promise.
(fn [resolve _reject]
(ts/schedule
@@ -563,7 +564,7 @@
(ntf/show
(cond-> {:content (or ^boolean hint (tr "errors.generic"))
:type :toast
- :level :error
+ :level level
:timeout timeout}
(some? tag)
(assoc :tag tag)
@@ -621,8 +622,10 @@
(def ^:private delegated-persistence-types
"Save failure causes routed to their own error handler: retaining the
- changes cannot resolve them."
- #{:authentication :not-found})
+ changes cannot resolve them. A save answered not-found (file gone, edit
+ rights lost, missing data) is not here: it keeps the workspace open and
+ notifies like any other failed save."
+ #{:authentication})
(defn- delegated-persistence-failure?
[{:keys [type cause-type code]}]
@@ -672,8 +675,9 @@
(defn flash-persistence
"Notifies a save failure. With `:retrying` the failure is transient and
the queue keeps trying in the background, so the toast says the changes
- are kept and offers no reload, which would lose them."
- [cause & {:keys [retrying]}]
+ are kept and offers no reload, which would lose them. `:busy` tells that
+ the server was too busy, not out of reach."
+ [cause & {:keys [retrying busy]}]
(let [data (ex-data cause)]
(cond
(delegated-persistence-failure? data)
@@ -696,7 +700,18 @@
:timeout nil
:tag persistence-failed-tag
:report-link? true
- :hint (tr "errors.save-still-retrying"))
+ :hint (if busy
+ (tr "errors.save-still-retrying-busy")
+ (tr "errors.save-still-retrying")))
+
+ (= :save-permission-denied (:code data))
+ (flash :cause cause
+ :type (persistence-report-type data)
+ :timeout nil
+ :tag persistence-failed-tag
+ :report-link? true
+ :links [(reload-page-link)]
+ :hint (tr "errors.save-permission-lost" (i18n/c (:unsaved-commits data 0))))
:else
(flash :cause cause
diff --git a/frontend/src/app/main/rasterizer.cljs b/frontend/src/app/main/rasterizer.cljs
index 9e32471c38..468fe60c82 100644
--- a/frontend/src/app/main/rasterizer.cljs
+++ b/frontend/src/app/main/rasterizer.cljs
@@ -25,6 +25,7 @@
(defonce ready? false)
(defonce queue #js [])
(defonce instance nil)
+(defonce started? false)
(defonce msgbus (rx/subject))
(defonce origin
(-> cf/rasterizer-uri
@@ -32,6 +33,7 @@
(dm/str)))
(declare send-message!)
+(declare init!)
(defn- process-queued-messages!
[]
@@ -86,6 +88,8 @@
:scope "penpot/rasterizer"
:payload payload}]
+ (init!)
+
(if ^boolean ready?
(send-message! message)
(queue-message! message))
@@ -108,39 +112,42 @@
(render {:data data :styles styles :width width :result result})))
(defn init!
- "Initializes the rasterizer."
+ "Creates the rasterizer iframe once. It is only needed by the SVG
+ renderer, so sessions with render-wasm never load it."
[]
- (let [iframe (dom/create-element "iframe")]
- (dom/set-attribute! iframe "id" "rasterizer")
- (dom/set-attribute! iframe "src" origin)
- (dom/set-attribute! iframe "hidden" true)
- (.addEventListener js/window "message" on-message)
- (->> (http/fetch {:method :head
- :uri cf/rasterizer-uri
- :mode :no-cors})
- (rx/map (fn [response]
- (let [allowed? (not (.-redirected response))]
- (when-not allowed?
- (log/err :hint "rasterizer iframe blocked by adblocker" :origin origin))
- allowed?)))
- (rx/catch (fn [cause]
- (log/err :hint "rasterizer iframe blocked by adblocker" :origin origin :cause cause)
- (rx/of false)))
+ (when-not ^boolean started?
+ (set! started? true)
+ (let [iframe (dom/create-element "iframe")]
+ (dom/set-attribute! iframe "id" "rasterizer")
+ (dom/set-attribute! iframe "src" origin)
+ (dom/set-attribute! iframe "hidden" true)
+ (.addEventListener js/window "message" on-message)
+ (->> (http/fetch {:method :head
+ :uri cf/rasterizer-uri
+ :mode :no-cors})
+ (rx/map (fn [response]
+ (let [allowed? (not (.-redirected response))]
+ (when-not allowed?
+ (log/err :hint "rasterizer iframe blocked by adblocker" :origin origin))
+ allowed?)))
+ (rx/catch (fn [cause]
+ (log/err :hint "rasterizer iframe blocked by adblocker" :origin origin :cause cause)
+ (rx/of false)))
- (rx/subs! (fn [allowed?]
- (if allowed?
- (do
- (dom/append-child! js/document.body iframe)
- (set! instance iframe))
+ (rx/subs! (fn [allowed?]
+ (if allowed?
+ (do
+ (dom/append-child! js/document.body iframe)
+ (set! instance iframe))
- (let [new-origin (-> cf/public-uri
- (u/join "rasterizer.html")
- (dm/str))]
- (log/warn :hint "fallback to main domain" :origin new-origin)
+ (let [new-origin (-> cf/public-uri
+ (u/join "rasterizer.html")
+ (dm/str))]
+ (log/warn :hint "fallback to main domain" :origin new-origin)
- (dom/set-attribute! iframe "src" new-origin)
- (dom/append-child! js/document.body iframe)
+ (dom/set-attribute! iframe "src" new-origin)
+ (dom/append-child! js/document.body iframe)
- (set! origin new-origin)
- (set! cf/rasterizer-uri cf/public-uri)
- (set! instance iframe))))))))
+ (set! origin new-origin)
+ (set! cf/rasterizer-uri cf/public-uri)
+ (set! instance iframe)))))))))
diff --git a/frontend/src/app/main/refs.cljs b/frontend/src/app/main/refs.cljs
index 7f24270a26..877cb65b83 100644
--- a/frontend/src/app/main/refs.cljs
+++ b/frontend/src/app/main/refs.cljs
@@ -372,6 +372,9 @@
(def workspace-read-only?
(l/derived :read-only? workspace-global))
+(def persistence-lock
+ (l/derived :persistence-lock workspace-global))
+
(def workspace-paddings-selected
(l/derived :paddings-selected workspace-global))
diff --git a/frontend/src/app/main/ui.cljs b/frontend/src/app/main/ui.cljs
index f6f668f908..9c1c581668 100644
--- a/frontend/src/app/main/ui.cljs
+++ b/frontend/src/app/main/ui.cljs
@@ -64,16 +64,14 @@
:code :invalid-team-id
:hint "provided team-id is invalid or nil")))
- (if-not (uuid? team-id)
- nil
- (let [{:keys [permissions] :as team} (mf/deref refs/team)]
- (when (= team-id (:id team))
- [:> (mf/provider ctx/current-team-id) {:value team-id}
- [:> (mf/provider ctx/permissions) {:value permissions}
- [:> (mf/provider ctx/can-edit?) {:value (:can-edit permissions)}
- ;; The `:key` is mandatory here because we want to reinitialize
- ;; all dom tree instead of simple rerender.
- [:* {:key (str team-id)} children]]]]))))
+ (let [{:keys [permissions] :as team} (mf/deref refs/team)]
+ (when (and (uuid? team-id) (= team-id (:id team)))
+ [:> (mf/provider ctx/current-team-id) {:value team-id}
+ [:> (mf/provider ctx/permissions) {:value permissions}
+ [:> (mf/provider ctx/can-edit?) {:value (:can-edit permissions)}
+ ;; The `:key` is mandatory here because we want to reinitialize
+ ;; all dom tree instead of simple rerender.
+ [:* {:key (str team-id)} children]]]])))
(mf/defc page*
{::mf/props :obj
diff --git a/frontend/src/app/main/ui/auth/login_modal.cljs b/frontend/src/app/main/ui/auth/login_modal.cljs
index ee192893a4..e06974b048 100644
--- a/frontend/src/app/main/ui/auth/login_modal.cljs
+++ b/frontend/src/app/main/ui/auth/login_modal.cljs
@@ -8,7 +8,7 @@
(:require-macros [app.main.style :as stl])
(:require
[app.config :as cf]
- [app.main.router :as rt]
+ [app.main.data.auth :as da]
[app.main.store :as st]
[app.main.ui.auth.login :refer [login-dialog*]]
[app.main.ui.auth.recovery-request :refer [recovery-request-page*]]
@@ -68,7 +68,8 @@
(fn [data]
(cond
(:invitation-token data)
- (st/emit! (rt/nav :auth-verify-token {:token (:invitation-token data)}))
+ (st/emit! (da/login-from-register
+ {:invitation-token (:invitation-token data)}))
(:is-active data)
(if on-register (on-register) (on-close))
@@ -102,15 +103,19 @@
:hide-recovery-link true}]
[:div {:class (stl/css :login-links)}
[:div
- [:a {:on-click set-section
- :data-value "recovery-request"}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :on-click set-section
+ :data-value "recovery-request"}
(tr "auth.forgot-password")]]
(when (contains? cf/flags :registration)
[:div
[:span
(tr "auth.register") " "]
- [:a {:on-click set-section
- :data-value "register"}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :on-click set-section
+ :data-value "register"}
(tr "auth.register-submit")]])]]
:register
@@ -119,8 +124,10 @@
[:div {:class (stl/css :login-links)}
[:div
[:span (tr "auth.already-have-account") " "]
- [:a {:on-click set-section
- :data-value "login"}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :on-click set-section
+ :data-value "login"}
(tr "auth.login-here")]]]]
:register-validate
diff --git a/frontend/src/app/main/ui/auth/login_modal.scss b/frontend/src/app/main/ui/auth/login_modal.scss
index 92963aae79..28f06b8524 100644
--- a/frontend/src/app/main/ui/auth/login_modal.scss
+++ b/frontend/src/app/main/ui/auth/login_modal.scss
@@ -72,3 +72,21 @@
position: relative;
color: var(--color-foreground-primary);
}
+
+.link {
+ font: inherit;
+ font-weight: 500;
+
+ // A button is a block in its line: the normal line height keeps the box of
+ // the inline link it replaces.
+ line-height: normal;
+ color: var(--color-accent-primary);
+ background: none;
+ border: none;
+ padding: 0;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
+}
diff --git a/frontend/src/app/main/ui/auth/register.cljs b/frontend/src/app/main/ui/auth/register.cljs
index b23fb351a3..cb3b972343 100644
--- a/frontend/src/app/main/ui/auth/register.cljs
+++ b/frontend/src/app/main/ui/auth/register.cljs
@@ -133,20 +133,20 @@
on-success
(mf/use-fn
(mf/deps on-success-callback)
- (fn [params]
+ (fn [response]
(if (fn? on-success-callback)
- (on-success-callback params)
+ (on-success-callback response)
(cond
- (some? (:invitation-token params))
- (let [token (:invitation-token params)]
- (st/emit! (rt/nav :auth-verify-token {:token token})))
+ (some? (:invitation-token response))
+ (st/emit! (da/login-from-register
+ {:invitation-token (:invitation-token response)}))
- (:is-active params)
+ (:is-active response)
(st/emit! (da/login-from-register))
:else
(do
- (swap! storage/user assoc ::email (:email params))
+ (swap! storage/user assoc ::email (:email response))
(st/emit! (rt/nav :auth-register-success)))))))
on-register-profile
@@ -293,22 +293,22 @@
on-success
(mf/use-fn
(mf/deps on-success-callback)
- (fn [params]
- (cf/external-notify-register-success (:id params))
+ (fn [response]
+ (cf/external-notify-register-success (:id response))
(if (fn? on-success-callback)
- (on-success-callback (:email params))
+ (on-success-callback (:email response))
(cond
- (some? (:invitation-token params))
- (let [token (:invitation-token params)]
- (st/emit! (rt/nav :auth-verify-token {:token token})))
+ (some? (:invitation-token response))
+ (st/emit! (da/login-from-register
+ {:invitation-token (:invitation-token response)}))
- (:is-active params)
+ (:is-active response)
(st/emit! (da/login-from-register))
:else
(do
- (swap! storage/user assoc ::email (:email params))
+ (swap! storage/user assoc ::email (:email response))
(st/emit! (rt/nav :auth-register-success)))))))
on-error
diff --git a/frontend/src/app/main/ui/dashboard/common/header.scss b/frontend/src/app/main/ui/dashboard/common/header.scss
new file mode 100644
index 0000000000..2baf23ca7b
--- /dev/null
+++ b/frontend/src/app/main/ui/dashboard/common/header.scss
@@ -0,0 +1,91 @@
+// 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 SUBSIDIARY SL
+
+// Page header shared by the dashboard and settings pages.
+
+@use "ds/_sizes.scss" as *;
+@use "ds/_utils.scss" as *;
+@use "ds/typography.scss" as *;
+
+.dashboard-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ position: relative;
+ block-size: $sz-64;
+ max-block-size: $sz-64;
+ padding: var(--sp-xs) var(--sp-l) var(--sp-xs) var(--sp-s);
+ user-select: none;
+
+ &.team {
+ display: grid;
+ grid-template-columns: 20% 1fr 20%;
+ }
+}
+
+.dashboard-title {
+ display: flex;
+ align-items: center;
+ margin-inline-start: var(--sp-m);
+}
+
+.dashboard-title-text {
+ display: block;
+ flex-shrink: 0;
+ inline-size: 100%;
+ max-inline-size: $sz-712;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ user-select: all;
+ color: var(--color-foreground-primary);
+}
+
+.dashboard-header-actions {
+ display: flex;
+ column-gap: var(--sp-l);
+}
+
+.dashboard-buttons {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+}
+
+.dashboard-header-menu {
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+}
+
+.dashboard-header-options {
+ display: flex;
+ justify-content: center;
+ margin: 0;
+}
+
+.dashboard-header-link {
+ @include use-typography("body-large");
+
+ --dashboard-header-link-color: var(--color-foreground-secondary);
+
+ display: flex;
+ align-items: center;
+ block-size: $sz-40;
+ padding: var(--sp-xs) var(--sp-xxl);
+ border-block-end: px2rem(3) solid transparent;
+ color: var(--dashboard-header-link-color);
+
+ &:hover {
+ --dashboard-header-link-color: var(--color-foreground-primary);
+
+ text-decoration: none;
+ }
+
+ &.active {
+ --dashboard-header-link-color: var(--color-foreground-primary);
+ }
+}
diff --git a/frontend/src/app/main/ui/dashboard/deleted.cljs b/frontend/src/app/main/ui/dashboard/deleted.cljs
index d2f8420121..014d744734 100644
--- a/frontend/src/app/main/ui/dashboard/deleted.cljs
+++ b/frontend/src/app/main/ui/dashboard/deleted.cljs
@@ -23,6 +23,8 @@
[app.main.ui.ds.buttons.button :refer [button*]]
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
[app.main.ui.ds.foundations.assets.icon :as i]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.ds.product.empty-placeholder :refer [empty-placeholder*]]
[app.main.ui.hooks :as hooks]
[app.util.dom :as dom]
@@ -61,7 +63,10 @@
[:header {:class (stl/css :dashboard-header)
:data-testid "dashboard-header"}
[:div#dashboard-deleted-title {:class (stl/css :dashboard-title)}
- [:h1 (tr "dashboard.projects-title")]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (tr "dashboard.projects-title")]]
[:div {:class (stl/css :dashboard-header-actions)}
[:> dashboard-mcp-menu*]
[:> layout-toggle* {:layout layout :on-change on-change}]]])
diff --git a/frontend/src/app/main/ui/dashboard/deleted.scss b/frontend/src/app/main/ui/dashboard/deleted.scss
index 7b9db012d6..48ca1cfd71 100644
--- a/frontend/src/app/main/ui/dashboard/deleted.scss
+++ b/frontend/src/app/main/ui/dashboard/deleted.scss
@@ -4,9 +4,7 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-// The shared dashboard header styles move in their own change: they are
-// used by ten dashboard modules.
-@use "common/refactor/common-dashboard";
+@use "dashboard/common/header";
@use "ds/typography.scss" as *;
@use "ds/spacing.scss" as *;
@use "ds/z-index.scss" as *;
diff --git a/frontend/src/app/main/ui/dashboard/file_menu.cljs b/frontend/src/app/main/ui/dashboard/file_menu.cljs
index 7a0abddea5..2e5dfa1596 100644
--- a/frontend/src/app/main/ui/dashboard/file_menu.cljs
+++ b/frontend/src/app/main/ui/dashboard/file_menu.cljs
@@ -120,8 +120,7 @@
on-duplicate
(fn []
- (apply st/emit! (map dd/duplicate-file files))
- (st/emit! (ntf/success (tr "dashboard.success-duplicate-file" (i18n/c file-count)))))
+ (st/emit! (dd/duplicate-files files)))
on-delete-accept
(fn [_]
diff --git a/frontend/src/app/main/ui/dashboard/files.cljs b/frontend/src/app/main/ui/dashboard/files.cljs
index 8671cc0ef9..c7c0a92b1c 100644
--- a/frontend/src/app/main/ui/dashboard/files.cljs
+++ b/frontend/src/app/main/ui/dashboard/files.cljs
@@ -23,6 +23,8 @@
[app.main.ui.ds.buttons.button :refer [button*]]
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
[app.main.ui.ds.foundations.assets.icon :as i]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.ds.product.empty-placeholder :refer [empty-placeholder*]]
[app.main.ui.hooks :as hooks]
[app.util.dom :as dom]
@@ -84,7 +86,10 @@
:data-testid "dashboard-header"}
(if (:is-default project)
[:div#dashboard-drafts-title {:class (stl/css :dashboard-title)}
- [:h1 (tr "labels.drafts")]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (tr "labels.drafts")]]
(if (and (:edition @local) can-edit)
[:& inline-edition
@@ -97,9 +102,12 @@
(swap! local assoc :edition false)))
:max-length 250}]
[:div {:class (stl/css :dashboard-title)}
- [:h1 {:on-double-click on-edit
- :data-testid "project-title"
- :id (:id project)}
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)
+ :on-double-click on-edit
+ :data-testid "project-title"
+ :id (:id project)}
(:name project)]]))
[:div {:class (stl/css :dashboard-header-actions)}
diff --git a/frontend/src/app/main/ui/dashboard/files.scss b/frontend/src/app/main/ui/dashboard/files.scss
index 5ab0695cad..f8a5186c38 100644
--- a/frontend/src/app/main/ui/dashboard/files.scss
+++ b/frontend/src/app/main/ui/dashboard/files.scss
@@ -4,7 +4,7 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "common/refactor/common-dashboard";
+@use "dashboard/common/header";
@use "ds/_borders.scss" as *;
@use "ds/_sizes.scss" as *;
@use "ds/_utils.scss" as *;
diff --git a/frontend/src/app/main/ui/dashboard/fonts.cljs b/frontend/src/app/main/ui/dashboard/fonts.cljs
index ed27260fe9..b42014ffba 100644
--- a/frontend/src/app/main/ui/dashboard/fonts.cljs
+++ b/frontend/src/app/main/ui/dashboard/fonts.cljs
@@ -76,7 +76,10 @@
(use-page-title team section)
[:header {:class (stl/css :dashboard-header) :data-testid "dashboard-header"}
[:div#dashboard-fonts-title {:class (stl/css :dashboard-title)}
- [:h1 (tr "labels.fonts")]]])
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (tr "labels.fonts")]]])
(mf/defc font-variant-display-name*
{::mf/private true}
diff --git a/frontend/src/app/main/ui/dashboard/fonts.scss b/frontend/src/app/main/ui/dashboard/fonts.scss
index e2e6430ede..cbf77c3966 100644
--- a/frontend/src/app/main/ui/dashboard/fonts.scss
+++ b/frontend/src/app/main/ui/dashboard/fonts.scss
@@ -4,15 +4,13 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-// The shared dashboard header styles move in their own change: they are
-// used by ten dashboard modules.
-@use "common/refactor/common-dashboard";
@use "ds/_utils.scss" as *;
@use "ds/_sizes.scss" as *;
@use "ds/_borders.scss" as *;
@use "ds/typography.scss" as *;
@use "ds/spacing.scss" as *;
@use "ds/mixins.scss" as *;
+@use "dashboard/common/header";
.dashboard-fonts {
border-block-start: $b-1 solid var(--color-background-quaternary);
diff --git a/frontend/src/app/main/ui/dashboard/libraries.cljs b/frontend/src/app/main/ui/dashboard/libraries.cljs
index 335d6ce621..e899521fca 100644
--- a/frontend/src/app/main/ui/dashboard/libraries.cljs
+++ b/frontend/src/app/main/ui/dashboard/libraries.cljs
@@ -13,6 +13,8 @@
[app.main.refs :as refs]
[app.main.store :as st]
[app.main.ui.dashboard.grid :refer [grid*]]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.hooks :as hooks]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [tr]]
@@ -68,7 +70,10 @@
[:*
[:header {:class (stl/css :dashboard-header) :data-testid "dashboard-header"}
[:div#dashboard-libraries-title {:class (stl/css :dashboard-title)}
- [:h1 (tr "dashboard.libraries-title")]]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (tr "dashboard.libraries-title")]]]
[:section {:class (stl/css :dashboard-container :no-bg :dashboard-shared)
:ref rowref}
diff --git a/frontend/src/app/main/ui/dashboard/libraries.scss b/frontend/src/app/main/ui/dashboard/libraries.scss
index ae28f34484..e5555cfb9b 100644
--- a/frontend/src/app/main/ui/dashboard/libraries.scss
+++ b/frontend/src/app/main/ui/dashboard/libraries.scss
@@ -4,17 +4,13 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "refactor/common-refactor.scss" as deprecated;
-@use "common/refactor/common-dashboard";
+@use "ds/_borders.scss" as *;
+@use "dashboard/common/header";
.dashboard-container {
flex: 1 0 0;
- margin-right: deprecated.$s-16;
+ margin-inline-end: var(--sp-l);
overflow-y: auto;
- width: 100%;
- border-top: deprecated.$s-1 solid var(--color-background-quaternary);
-
- &.dashboard-projects {
- user-select: none;
- }
+ inline-size: 100%;
+ border-block-start: $b-1 solid var(--color-background-quaternary);
}
diff --git a/frontend/src/app/main/ui/dashboard/organization_team_switch_menus.cljs b/frontend/src/app/main/ui/dashboard/organization_team_switch_menus.cljs
index 2124f5d673..521d98076c 100644
--- a/frontend/src/app/main/ui/dashboard/organization_team_switch_menus.cljs
+++ b/frontend/src/app/main/ui/dashboard/organization_team_switch_menus.cljs
@@ -180,10 +180,12 @@
:data-testid "team-members"}
(tr "labels.members")]
- [:> dropdown-menu-item* {:on-click on-invitations-click
- :class (stl/css :options-item)
- :data-testid "team-invitations"}
- (tr "labels.invitations")]
+ ;; The pending invitations are an admin only list.
+ (when (:is-admin permissions)
+ [:> dropdown-menu-item* {:on-click on-invitations-click
+ :class (stl/css :options-item)
+ :data-testid "team-invitations"}
+ (tr "labels.invitations")])
(when (contains? cf/flags :webhooks)
[:> dropdown-menu-item* {:on-click on-webhooks-click
diff --git a/frontend/src/app/main/ui/dashboard/projects.cljs b/frontend/src/app/main/ui/dashboard/projects.cljs
index e259ccc907..7953332aac 100644
--- a/frontend/src/app/main/ui/dashboard/projects.cljs
+++ b/frontend/src/app/main/ui/dashboard/projects.cljs
@@ -29,6 +29,8 @@
[app.main.ui.ds.buttons.button :refer [button*]]
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
[app.main.ui.ds.foundations.assets.icon :as i :refer [icon*]]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.ds.layout.menu :refer [context-menu*]]
[app.main.ui.ds.product.empty-placeholder :refer [empty-placeholder*]]
[app.main.ui.hooks :as hooks]
@@ -48,9 +50,12 @@
[:header {:class (stl/css :dashboard-header)
:data-testid "dashboard-header"}
[:div#dashboard-projects-title {:class (stl/css :dashboard-title)}
- [:h1 (if default-team?
- (tr "dashboard.personal-projects")
- (tr "dashboard.projects-title"))]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (if default-team?
+ (tr "dashboard.personal-projects")
+ (tr "dashboard.projects-title"))]]
[:div {:class (stl/css :dashboard-header-actions)}
[:> dashboard-mcp-menu*]
[:> layout-toggle* {:layout layout
diff --git a/frontend/src/app/main/ui/dashboard/projects.scss b/frontend/src/app/main/ui/dashboard/projects.scss
index 7eeccbcfb3..050377b6a5 100644
--- a/frontend/src/app/main/ui/dashboard/projects.scss
+++ b/frontend/src/app/main/ui/dashboard/projects.scss
@@ -4,7 +4,7 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "common/refactor/common-dashboard";
+@use "dashboard/common/header";
@use "ds/typography.scss" as t;
@use "ds/_borders.scss" as *;
@use "ds/spacing.scss" as *;
diff --git a/frontend/src/app/main/ui/dashboard/search.cljs b/frontend/src/app/main/ui/dashboard/search.cljs
index 11d613f907..06393173cc 100644
--- a/frontend/src/app/main/ui/dashboard/search.cljs
+++ b/frontend/src/app/main/ui/dashboard/search.cljs
@@ -13,6 +13,8 @@
[app.main.store :as st]
[app.main.ui.dashboard.grid :refer [grid*]]
[app.main.ui.ds.foundations.assets.icon :refer [icon*] :as i]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.hooks :as hooks]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [tr]]
@@ -55,7 +57,10 @@
[:*
[:header {:class (stl/css :dashboard-header) :data-testid "dashboard-header"}
[:div#dashboard-search-title {:class (stl/css :dashboard-title)}
- [:h1 (tr "dashboard.title-search")]]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (tr "dashboard.title-search")]]]
[:section {:class (stl/css :dashboard-container :search :no-bg)
:ref rowref}
@@ -63,19 +68,25 @@
(empty? search-term)
[:div {:class (stl/css :grid-empty-placeholder :search)}
[:div {:class (stl/css :icon)}
- [:> icon* {:icon-id i/search :size "xl"}]]
+ [:> icon* {:icon-id i/search
+ :size "xl"
+ :class (stl/css :search-icon)}]]
[:div {:class (stl/css :text)} (tr "dashboard.type-something")]]
(nil? result)
[:div {:class (stl/css :grid-empty-placeholder :search)}
[:div {:class (stl/css :icon)}
- [:> icon* {:icon-id i/search :size "xl"}]]
+ [:> icon* {:icon-id i/search
+ :size "xl"
+ :class (stl/css :search-icon)}]]
[:div {:class (stl/css :text)} (tr "dashboard.searching-for" search-term)]]
(empty? result)
[:div {:class (stl/css :grid-empty-placeholder :search)}
[:div {:class (stl/css :icon)}
- [:> icon* {:icon-id i/search :size "xl"}]]
+ [:> icon* {:icon-id i/search
+ :size "xl"
+ :class (stl/css :search-icon)}]]
[:div {:class (stl/css :text)} (tr "dashboard.no-matches-for" search-term)]]
:else
diff --git a/frontend/src/app/main/ui/dashboard/search.scss b/frontend/src/app/main/ui/dashboard/search.scss
index 4848eeaa97..ad7569e52d 100644
--- a/frontend/src/app/main/ui/dashboard/search.scss
+++ b/frontend/src/app/main/ui/dashboard/search.scss
@@ -4,25 +4,17 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "refactor/common-refactor.scss" as deprecated;
-@use "common/refactor/common-dashboard";
+@use "ds/_borders.scss" as *;
+@use "ds/_sizes.scss" as *;
+@use "dashboard/common/header";
@use "./placeholder";
.dashboard-container {
flex: 1 0 0;
- margin-right: deprecated.$s-16;
+ margin-inline-end: var(--sp-l);
overflow-y: auto;
- width: 100%;
- border-top: deprecated.$s-1 solid var(--color-background-quaternary);
-
- &.dashboard-projects {
- user-select: none;
- }
-
- &.dashboard-shared {
- width: calc(100vw - deprecated.$s-320);
- margin-right: deprecated.$s-52;
- }
+ inline-size: 100%;
+ border-block-start: $b-1 solid var(--color-background-quaternary);
}
.grid-empty-placeholder.search {
@@ -30,18 +22,16 @@
display: flex;
justify-content: center;
flex-direction: column;
- height: deprecated.$s-200;
+ block-size: $sz-200;
background: transparent;
- border: deprecated.$s-1 solid var(--color-background-quaternary);
- border-radius: deprecated.$br-8;
+ border: $b-1 solid var(--color-background-quaternary);
+ border-radius: $br-8;
.text {
color: var(--color-foreground-primary);
}
-
- .icon svg {
- stroke: var(--color-foreground-secondary);
- width: deprecated.$s-32;
- height: deprecated.$s-32;
- }
+}
+
+.search-icon {
+ color: var(--color-foreground-secondary);
}
diff --git a/frontend/src/app/main/ui/dashboard/sidebar.scss b/frontend/src/app/main/ui/dashboard/sidebar.scss
index 21a5c112bf..a00c120ed5 100644
--- a/frontend/src/app/main/ui/dashboard/sidebar.scss
+++ b/frontend/src/app/main/ui/dashboard/sidebar.scss
@@ -13,10 +13,6 @@
@use "ds/z-index.scss" as *;
@use "ds/mixins.scss" as *;
-// The shared dashboard header styles move in their own change: they are
-// used by ten dashboard modules.
-@use "common/refactor/common-dashboard";
-
// refactor/ stays for the menu placeholders (%menu-dropdown,
// %menu-item-base) of the profile menu and its submenus.
@use "common/refactor/common-refactor.scss" as deprecated;
diff --git a/frontend/src/app/main/ui/dashboard/subscription.scss b/frontend/src/app/main/ui/dashboard/subscription.scss
index e90a800019..4699b44d92 100644
--- a/frontend/src/app/main/ui/dashboard/subscription.scss
+++ b/frontend/src/app/main/ui/dashboard/subscription.scss
@@ -7,10 +7,6 @@
// refactor/ stays for the menu item placeholder (%menu-item-base) of the
// power up submenu.
@use "refactor/common-refactor.scss" as deprecated;
-
-// The shared dashboard header styles move in their own change: they are
-// used by ten dashboard modules.
-@use "common/refactor/common-dashboard";
@use "ds/typography.scss" as *;
@use "ds/_borders.scss" as *;
@use "ds/_utils.scss" as *;
diff --git a/frontend/src/app/main/ui/dashboard/team.cljs b/frontend/src/app/main/ui/dashboard/team.cljs
index 8888c6d4e3..b123c31772 100644
--- a/frontend/src/app/main/ui/dashboard/team.cljs
+++ b/frontend/src/app/main/ui/dashboard/team.cljs
@@ -10,6 +10,7 @@
[app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.schema :as sm]
+ [app.common.types.organization :as cto]
[app.config :as cfg]
[app.main.data.common :as dcm]
[app.main.data.event :as ev]
@@ -69,6 +70,7 @@
invitations-section? (= section :dashboard-team-invitations)
webhooks-section? (= section :dashboard-team-webhooks)
permissions (:permissions team)
+ is-admin? (boolean (:is-admin permissions))
can-invite? (dnt/can-send-invitations?
{:organization (:organization team)
:profile-id (:id profile)
@@ -94,25 +96,39 @@
[:header {:class (stl/css :dashboard-header :team) :data-testid "dashboard-header"}
[:div {:class (stl/css :dashboard-title)}
- [:h1 (cond
- members-section? (tr "labels.members")
- settings-section? (tr "labels.settings")
- invitations-section? (tr "labels.invitations")
- webhooks-section? (tr "labels.webhooks")
- :else nil)]]
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)}
+ (cond
+ members-section? (tr "labels.members")
+ settings-section? (tr "labels.settings")
+ invitations-section? (tr "labels.invitations")
+ webhooks-section? (tr "labels.webhooks")
+ :else nil)]]
[:nav {:class (stl/css :dashboard-header-menu)}
[:ul {:class (stl/css :dashboard-header-options)}
- [:li {:class (when members-section? (stl/css :active))}
- [:a {:on-click on-nav-members} (tr "labels.members")]]
- [:li {:class (when invitations-section? (stl/css :active))}
- [:a {:on-click on-nav-invitations} (tr "labels.invitations")]]
+ [:li
+ [:a {:class (stl/css-case :dashboard-header-link true
+ :active members-section?)
+ :on-click on-nav-members} (tr "labels.members")]]
+ (when is-admin?
+ [:li
+ [:a {:class (stl/css-case :dashboard-header-link true
+ :active invitations-section?)
+ :on-click on-nav-invitations} (tr "labels.invitations")]])
(when (contains? cfg/flags :webhooks)
- [:li {:class (when webhooks-section? (stl/css :active))}
- [:a {:on-click on-nav-webhooks} (tr "labels.webhooks")]])
- [:li {:class (when settings-section? (stl/css :active))}
- [:a {:on-click on-nav-settings} (tr "labels.settings")]]]]
+ [:li
+ [:a {:class (stl/css-case :dashboard-header-link true
+ :active webhooks-section?)
+ :on-click on-nav-webhooks} (tr "labels.webhooks")]])
+ [:li
+ [:a {:class (stl/css-case :dashboard-header-link true
+ :active settings-section?)
+ :on-click on-nav-settings} (tr "labels.settings")]]]]
[:div {:class (stl/css :dashboard-buttons)}
- (when (and (or invitations-section? members-section?) (not-empty invitations))
+ (when (and is-admin?
+ (or invitations-section? members-section?)
+ (not-empty invitations))
(let [invite-button (mf/html
[:> button* {:class (stl/css :invite-button)
:variant "secondary"
@@ -649,7 +665,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(mf/defc invitation-role-selector*
- [{:keys [can-invite role status on-change]}]
+ [{:keys [role status on-change]}]
(let [show? (mf/use-state false)
label (cond
(= role :owner) (tr "labels.owner")
@@ -670,7 +686,7 @@
(on-change role event))))]
[:*
- (if (and can-invite (= status :pending))
+ (if (= status :pending)
[:button {:class (stl/css :rol-selector :has-priv)
:type "button"
:aria-haspopup "listbox"
@@ -697,9 +713,16 @@
:on-click on-change'}
(tr "labels.viewer")]]]]))
+(defn invitation-link-copyable?
+ "The link of an owner invitation can only be copied by the team owner: an
+ admin cannot create nor promote an owner invitation, so the backend does
+ not mint its token for them."
+ [is-owner? role]
+ (or (not= :owner role) is-owner?))
+
(mf/defc invitation-actions*
{::mf/private true}
- [{:keys [invitation team-id]}]
+ [{:keys [invitation team-id is-owner?]}]
(let [email (:email invitation)
copied* (mf/use-state false)
copied? (deref copied*)
@@ -745,15 +768,16 @@
(-> (dtm/copy-invitation-link params)
(with-meta {::ev/origin :team}))))))]
- [:> icon-button* {:variant "ghost"
- :aria-label (tr "labels.copy-invitation-link")
- :on-click on-copy
- :icon (if copied? "tick" "clipboard")}]))
+ (when (invitation-link-copyable? is-owner? (:role invitation))
+ [:> icon-button* {:variant "ghost"
+ :aria-label (tr "labels.copy-invitation-link")
+ :on-click on-copy
+ :icon (if copied? "tick" "clipboard")}])))
(mf/defc invitation-row*
{::mf/wrap [mf/memo]
::mf/private true}
- [{:keys [invitation can-invite team-id selected on-select-change]}]
+ [{:keys [invitation team-id selected on-select-change is-owner?]}]
(let [expired? (:expired invitation)
email (:email invitation)
@@ -771,12 +795,11 @@
on-change
(mf/use-fn
- (mf/deps can-invite on-select-change)
+ (mf/deps on-select-change)
(fn [event]
- (when can-invite
- (let [email (-> (dom/get-current-target event)
- (dom/get-data "attr"))]
- (on-select-change email)))))
+ (let [email (-> (dom/get-current-target event)
+ (dom/get-data "attr"))]
+ (on-select-change email))))
on-change-role
(mf/use-fn
@@ -788,26 +811,23 @@
[:div {:class (stl/css :table-row :table-row-invitations)}
[:div {:class (stl/css :table-field :field-email)}
- (if can-invite
- [:div {:class (stl/css :input-wrapper)}
- [:label
- [:span {:class (stl/css-case :input-checkbox true
- :global/checked (is-selected? email))}
- deprecated-icon/status-tick]
+ [:div {:class (stl/css :input-wrapper)}
+ [:label
+ [:span {:class (stl/css-case :input-checkbox true
+ :global/checked (is-selected? email))}
+ deprecated-icon/status-tick]
- [:input {:type "checkbox"
- :id (dm/str "email-" email)
- :data-attr email
- :value email
- :checked (is-selected? email)
- :on-change on-change}]
- email]]
- [:div email])]
+ [:input {:type "checkbox"
+ :id (dm/str "email-" email)
+ :data-attr email
+ :value email
+ :checked (is-selected? email)
+ :on-change on-change}]
+ email]]]
[:div {:class (stl/css :table-field :field-roles)}
[:> invitation-role-selector*
- {:can-invite can-invite
- :role role
+ {:role role
:status status
:on-change on-change-role}]]
@@ -815,14 +835,14 @@
[:& badge-notification {:type type :content badge-content}]]
[:div {:class (stl/css :table-field :field-actions)}
- (when ^boolean can-invite
- [:> invitation-actions*
- {:invitation invitation
- :team-id team-id}])]]))
+ [:> invitation-actions*
+ {:invitation invitation
+ :team-id team-id
+ :is-owner? is-owner?}]]]))
(mf/defc empty-invitation-table*
{::mf/private true}
- [{:keys [can-invite team]}]
+ [{:keys [team]}]
(let
[route (mf/deref refs/route)
invite-email (-> route :query-params :invite-email)
@@ -834,15 +854,12 @@
:invite-email invite-email}))))]
[:div {:class (stl/css :empty-invitations)}
[:div (tr "labels.no-invitations")]
- (if ^boolean can-invite
- [:*
- [:div (tr "labels.no-invitations-gather-people")]
- [:> button* {:variant "primary"
- :class (stl/css :btn-empty-invitations)
- :on-click on-invite-member
- :data-testid "invite-member"}
- (tr "dashboard.invite-profile")]]
- [:div {:class (stl/css :no-permission-text)} (tr "dashboard.invitations.no-permission")])]))
+ [:div (tr "labels.no-invitations-gather-people")]
+ [:> button* {:variant "primary"
+ :class (stl/css :btn-empty-invitations)
+ :on-click on-invite-member
+ :data-testid "invite-member"}
+ (tr "dashboard.invite-profile")]]))
(mf/defc invitation-modal
{::mf/register modal/components
@@ -1047,6 +1064,17 @@
:on-click on-confirm'}
accept]]]]]))
+(defn invitations-section-content
+ "What the invitations section shows: the list of the pending invitations
+ for the team admins, or just the permission notice. The pending invitations
+ are an admin only list, and `:is-admin` already includes the team owner.
+ The organization invite policy does not gate the list, only the invite
+ actions."
+ [permissions]
+ (if (:is-admin permissions)
+ :list
+ :no-permission))
+
(mf/defc invitation-section*
{::mf/private true}
[{:keys [team profile]}]
@@ -1060,6 +1088,8 @@
:profile-id (:id profile)
:team-permissions permissions})
+ is-owner? (boolean (:is-owner permissions))
+
selected (mf/use-state #{})
;; Sort state: {:field :status/:role, :direction :asc/:desc}
@@ -1070,12 +1100,11 @@
on-select-change
(mf/use-fn
- (mf/deps can-invite? selected)
+ (mf/deps selected)
(fn [email]
- (when can-invite?
- (if (contains? @selected email)
- (swap! selected disj email)
- (swap! selected conj email)))))
+ (if (contains? @selected email)
+ (swap! selected disj email)
+ (swap! selected conj email))))
on-confirm-delete
(mf/use-fn
@@ -1185,57 +1214,63 @@
(reset! sort-state {:field nil :direction :asc}))
[:div {:class (stl/css :invitations)}
- (when (and (not can-invite?)
- (seq @invitations))
+ ;; The pending invitations are an admin only list: a member that is not
+ ;; a team admin does not get them, so there is nothing to show but the
+ ;; permission notice.
+ (case (invitations-section-content permissions)
+ :no-permission
[:div {:class (stl/css :empty-invitations)}
[:div {:class (stl/css :no-permission-text)}
- (tr "dashboard.invitations.no-permission")]])
- (when (and can-invite?
- (> (count @selected) 0))
+ (tr "dashboard.invitations.no-permission")]]
+
[:*
- [:div {:class (stl/css :invitations-actions)}
- [:div
- (tr "team.invitations-selected" (i18n/c (count @selected)))]
- [:div
- [:> button* {:variant "secondary"
- :type "button"
- :on-click on-resend}
- (tr "labels.resend-invitation")]]
- [:> icon-button* {:on-click on-delete
- :variant "destructive"
- :aria-label (tr "labels.delete-invitation")
- :icon "delete"}]]])
- [:div {:class (stl/css :table-header)}
- [:div {:class (stl/css :title-field-name)} (tr "labels.invitations")]
- [:div {:class (stl/css :title-field-role)} (tr "labels.role")
- [:> icon-button* {:variant "action"
- :class (stl/css-case :sort-active (= (:field @sort-state) :role)
- :sort-inactive (not= (:field @sort-state) :role))
- :aria-label (tr "dashboard.order-invitations-by-role")
- :icon (if (= (:field @sort-state) :role)
- (if (= (:direction @sort-state) :asc) "arrow-down" "arrow-up")
- "arrow-down")
- :on-click on-order-by-role}]]
- [:div {:class (stl/css :title-field-status)} (tr "labels.status")
- [:> icon-button* {:variant "action"
- :class (stl/css-case :sort-active (= (:field @sort-state) :status)
- :sort-inactive (not= (:field @sort-state) :status))
- :aria-label (tr "dashboard.order-invitations-by-status")
- :icon (if (= (:field @sort-state) :status)
- (if (= (:direction @sort-state) :asc) "arrow-down" "arrow-up")
- "arrow-down")
- :on-click on-order-by-status}]]]
- (if (empty? @invitations)
- [:> empty-invitation-table* {:can-invite can-invite? :team team}]
- [:div {:class (stl/css :table-rows)}
- (for [invitation @invitations]
- [:> invitation-row*
- {:key (:email invitation)
- :invitation invitation
- :can-invite can-invite?
- :team-id team-id
- :selected selected
- :on-select-change on-select-change}])])]))
+ (when (> (count @selected) 0)
+ [:div {:class (stl/css :invitations-actions)}
+ [:div
+ (tr "team.invitations-selected" (i18n/c (count @selected)))]
+ ;; Resending goes through the invite command, so it needs the
+ ;; organization invite policy; deleting only needs team admin.
+ (when can-invite?
+ [:div
+ [:> button* {:variant "secondary"
+ :type "button"
+ :on-click on-resend}
+ (tr "labels.resend-invitation")]])
+ [:> icon-button* {:on-click on-delete
+ :variant "destructive"
+ :aria-label (tr "labels.delete-invitation")
+ :icon "delete"}]])
+ [:div {:class (stl/css :table-header)}
+ [:div {:class (stl/css :title-field-name)} (tr "labels.invitations")]
+ [:div {:class (stl/css :title-field-role)} (tr "labels.role")
+ [:> icon-button* {:variant "action"
+ :class (stl/css-case :sort-active (= (:field @sort-state) :role)
+ :sort-inactive (not= (:field @sort-state) :role))
+ :aria-label (tr "dashboard.order-invitations-by-role")
+ :icon (if (= (:field @sort-state) :role)
+ (if (= (:direction @sort-state) :asc) "arrow-down" "arrow-up")
+ "arrow-down")
+ :on-click on-order-by-role}]]
+ [:div {:class (stl/css :title-field-status)} (tr "labels.status")
+ [:> icon-button* {:variant "action"
+ :class (stl/css-case :sort-active (= (:field @sort-state) :status)
+ :sort-inactive (not= (:field @sort-state) :status))
+ :aria-label (tr "dashboard.order-invitations-by-status")
+ :icon (if (= (:field @sort-state) :status)
+ (if (= (:direction @sort-state) :asc) "arrow-down" "arrow-up")
+ "arrow-down")
+ :on-click on-order-by-status}]]]
+ (if (empty? @invitations)
+ [:> empty-invitation-table* {:team team}]
+ [:div {:class (stl/css :table-rows)}
+ (for [invitation @invitations]
+ [:> invitation-row*
+ {:key (:email invitation)
+ :invitation invitation
+ :is-owner? is-owner?
+ :team-id team-id
+ :selected selected
+ :on-select-change on-select-change}])])])]))
(mf/defc team-invitations-page*
[{:keys [team profile]}]
@@ -1584,10 +1619,9 @@
;; Filter to organizations where user is allowed to create/add teams
organizations (mf/with-memo [all-organizations profile-id]
(->> all-organizations
- (filter (fn [organization]
- (let [perm (get-in organization [:permissions :create-teams])
- is-owner? (= profile-id (:owner-id organization))]
- (or (= perm "any") is-owner?))))))
+ (filter #(cto/allowed? :create-team
+ {:organization-perms %
+ :profile-id profile-id}))))
;; Keep parity with UX requirement: hide only when user belongs to one organization.
can-change-organization? (mf/with-memo [all-organizations]
@@ -1710,7 +1744,10 @@
(when can-add-to-organization?
[:div {:class (stl/css :block-content)}
[:span {:class (stl/css :block-text)}
- [:a {:on-click on-add-team-to-organization} (tr "dashboard.team-organization.add")]]])]))])
+ [:button {:type "button"
+ :class (stl/css :add-to-organization)
+ :on-click on-add-team-to-organization}
+ (tr "dashboard.team-organization.add")]]])]))])
[: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 2720ab6d58..f878618f8e 100644
--- a/frontend/src/app/main/ui/dashboard/team.scss
+++ b/frontend/src/app/main/ui/dashboard/team.scss
@@ -5,10 +5,9 @@
// Copyright (c) KALEIDOS SUBSIDIARY SL
// refactor/ stays for the component-family placeholders: %input-checkbox
-// and %checkbox-icon (checkboxes, #12380) and %modal-* (modals). The shared
-// dashboard header (common-dashboard) moves in its own change.
+// and %checkbox-icon (checkboxes, #12380) and %modal-* (modals).
@use "refactor/common-refactor.scss" as deprecated;
-@use "common/refactor/common-dashboard";
+@use "dashboard/common/header";
@use "ds/_utils.scss" as *;
@use "ds/typography.scss" as *;
@use "ds/_sizes.scss" as *;
@@ -57,6 +56,26 @@
text-wrap: nowrap;
}
+// Opens the add to organization modal, so it is a button that keeps the
+// look of a text link.
+.add-to-organization {
+ font: inherit;
+ font-weight: 500;
+
+ // A button is a block in its line: the normal line height keeps the box of
+ // the inline link it replaces.
+ line-height: normal;
+ color: var(--color-accent-primary);
+ background: none;
+ border: none;
+ padding: 0;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
+}
+
.block-content {
display: grid;
grid-template-columns: var(--sp-xxxl) 1fr;
diff --git a/frontend/src/app/main/ui/dashboard/templates.cljs b/frontend/src/app/main/ui/dashboard/templates.cljs
index 55e0176651..049d2f09e0 100644
--- a/frontend/src/app/main/ui/dashboard/templates.cljs
+++ b/frontend/src/app/main/ui/dashboard/templates.cljs
@@ -98,26 +98,22 @@
(mf/use-fn
(mf/deps on-import)
(fn [event]
- (on-import item event)))
-
- on-key-down
- (mf/use-fn
- (mf/deps on-import)
- (fn [event]
- (when (kbd/enter? event)
- (dom/stop-propagation event)
- (on-import item event))))]
+ (on-import item event)))]
[:div {:class (stl/css :card-container)
- :tab-index (if (or (not is-visible) collapsed) "-1" "0")
:id id
:data-index index}
- [:a {:class (stl/css :template-card)
- :on-click on-click
- :on-mouse-down dom/prevent-default
- :on-mouse-enter #(reset! hover? true)
- :on-mouse-leave #(reset! hover? false)
- :on-key-down on-key-down}
+ ;; Importing the template is an action: a button, which already
+ ;; handles Enter and Space.
+ [:button {:type "button"
+ :class (stl/css :template-card)
+ :tab-index (if (or (not is-visible) collapsed) "-1" "0")
+ :on-click on-click
+ :on-mouse-down dom/prevent-default
+ :on-mouse-enter #(reset! hover? true)
+ :on-mouse-leave #(reset! hover? false)
+ :on-focus #(reset! hover? true)
+ :on-blur #(reset! hover? false)}
[:div {:class (stl/css :img-container)}
[:img {:src (dm/str href)
:alt (:name item)
diff --git a/frontend/src/app/main/ui/dashboard/templates.scss b/frontend/src/app/main/ui/dashboard/templates.scss
index b9ae6c92f2..b87c243df1 100644
--- a/frontend/src/app/main/ui/dashboard/templates.scss
+++ b/frontend/src/app/main/ui/dashboard/templates.scss
@@ -187,9 +187,11 @@
padding: 0 var(--sp-xs) var(--sp-s) var(--sp-xs);
border-radius: $br-8;
border: $b-2 solid transparent;
+ background-color: transparent;
- &:hover {
- text-decoration: none;
+ &:hover,
+ &:focus-visible {
+ outline: none;
border-color: var(--color-accent-primary);
.download-icon {
diff --git a/frontend/src/app/main/ui/flex_controls/common.cljs b/frontend/src/app/main/ui/flex_controls/common.cljs
index 72bed0cf0f..b4f1e7ab6f 100644
--- a/frontend/src/app/main/ui/flex_controls/common.cljs
+++ b/frontend/src/app/main/ui/flex_controls/common.cljs
@@ -1,7 +1,10 @@
(ns app.main.ui.flex-controls.common
(:require
[app.main.constants :as mconst]
+ [app.main.data.workspace.transforms :as dwt]
+ [app.main.store :as st]
[app.main.streams :as ms]
+ [app.main.ui.context :as ctx]
[app.main.ui.formats :as fmt]
[rumext.v2 :as mf]))
@@ -14,6 +17,19 @@
;; `ms/clear-transform-preview!` for the rationale.
(def clear-transform-preview! ms/clear-transform-preview!)
+(defn use-read-only-cancel
+ "Answers whether the workspace is read-only, and cancels the resize in
+ progress (`resizing` holds a truthy value while dragging) when it turns
+ read-only, as when saves fail: the preview is dropped and the release
+ commits nothing."
+ [resizing]
+ (let [read-only? (mf/use-ctx ctx/workspace-read-only?)]
+ (mf/with-effect [read-only?]
+ (when (and read-only? @resizing)
+ (reset! resizing nil)
+ (st/emit! (dwt/cancel-transform))))
+ read-only?))
+
;; ------------------------------------------------
;; CONSTANTS
;; ------------------------------------------------
diff --git a/frontend/src/app/main/ui/flex_controls/gap.cljs b/frontend/src/app/main/ui/flex_controls/gap.cljs
index c297807e2d..bb00f37586 100644
--- a/frontend/src/app/main/ui/flex_controls/gap.cljs
+++ b/frontend/src/app/main/ui/flex_controls/gap.cljs
@@ -38,15 +38,17 @@
last-pos (mf/use-var nil)
negate? (:resize-negate? rect-data)
axis (:resize-axis rect-data)
+ read-only? (fcc/use-read-only-cancel resizing)
on-pointer-down
(mf/use-fn
- (mf/deps frame-id gap-type gap)
+ (mf/deps frame-id gap-type gap read-only?)
(fn [event]
- (dom/capture-pointer event)
- (reset! resizing gap-type)
- (reset! start (dom/get-client-position event))
- (reset! original-value (:initial-value rect-data))))
+ (when-not read-only?
+ (dom/capture-pointer event)
+ (reset! resizing gap-type)
+ (reset! start (dom/get-client-position event))
+ (reset! original-value (:initial-value rect-data)))))
calc-modifiers
(mf/use-fn
@@ -76,11 +78,14 @@
(st/emit! (dwm/apply-wasm-modifiers modifiers)
(dwt/finish-transform))))
+ ;; Nothing to apply for a resize the lock cancelled
+ (when (and (not (features/active-feature? @st/state "render-wasm/v1"))
+ (= @resizing gap-type))
+ (st/emit! (dwm/apply-modifiers)))
+
(reset! resizing nil)
(reset! start nil)
- (reset! original-value 0)
- (when (not (features/active-feature? @st/state "render-wasm/v1"))
- (st/emit! (dwm/apply-modifiers)))))
+ (reset! original-value 0)))
on-pointer-move
(mf/use-fn
@@ -243,7 +248,8 @@
(+ (:x2 (:selrect shape)) (get-in shape [:layout-item-margin :m2])))
y (:y1 block)
h (- (:y2 block) (:y1 block))]
- {:x x
+ {:key (str frame-id "-" (:id shape))
+ :x x
:y y
:height h
:width (:column-gap gap)
@@ -254,7 +260,7 @@
:gap-type (if is-col? :row-gap :column-gap)}))
create-cgdd-block
- (fn [block]
+ (fn [index block]
(let [x (if flip-x
(- (:x1 block) (:column-gap gap))
(:x2 block))
@@ -262,7 +268,8 @@
(+ y1 (:p3 padding))
(+ y1 (:p1 padding)))
h (- height (+ (:p1 padding) (:p3 padding)))]
- {:x x
+ {:key (str frame-id "-block-" index)
+ :x x
:y y
:width (:column-gap gap)
:height h
@@ -282,7 +289,8 @@
(:row-gap gap))
(+ (:y2 (:selrect shape)) (get-in shape [:layout-item-margin :m3])))
w (- (:x2 block) (:x1 block))]
- {:x x
+ {:key (str frame-id "-" (:id shape))
+ :x x
:y y
:width w
:height (:row-gap gap)
@@ -293,7 +301,7 @@
:gap-type (if is-col? :row-gap :column-gap)}))
create-rgdd-block
- (fn [block]
+ (fn [index block]
(let [x (if flip-x
(+ x1 (:p2 padding))
(+ x1 (:p4 padding)))
@@ -301,7 +309,8 @@
(- (:y1 block) (:row-gap gap))
(:y2 block))
w (- width (+ (:p2 padding) (:p4 padding)))]
- {:x x
+ {:key (str frame-id "-block-" index)
+ :x x
:y y
:width w
:height (:row-gap gap)
@@ -313,9 +322,9 @@
display-blocks (if is-col?
(->> (drop-last wrap-blocks)
- (map create-cgdd-block))
+ (map-indexed create-cgdd-block))
(->> (drop-last wrap-blocks)
- (map create-rgdd-block)))
+ (map-indexed create-rgdd-block)))
display-children (if is-col?
(->> children-to-display
@@ -324,10 +333,10 @@
(map create-cgdd)))]
[:g.gaps {:pointer-events "visible"}
- (for [[index display-item] (d/enumerate (concat display-blocks display-children))]
+ (for [display-item (concat display-blocks display-children)]
(let [gap-type (:gap-type display-item)]
[:> gap-display*
- {:key (str frame-id index)
+ {:key (:key display-item)
:frame-id frame-id
:zoom zoom
:gap-type gap-type
diff --git a/frontend/src/app/main/ui/flex_controls/margin.cljs b/frontend/src/app/main/ui/flex_controls/margin.cljs
index 8638776132..5b3a4aba81 100644
--- a/frontend/src/app/main/ui/flex_controls/margin.cljs
+++ b/frontend/src/app/main/ui/flex_controls/margin.cljs
@@ -31,15 +31,17 @@
last-pos (mf/use-var nil)
negate? (true? (:resize-negate? rect-data))
axis (:resize-axis rect-data)
+ read-only? (fcc/use-read-only-cancel resizing?)
on-pointer-down
(mf/use-fn
- (mf/deps shape-id margin-num margin)
+ (mf/deps shape-id margin-num margin read-only?)
(fn [event]
- (dom/capture-pointer event)
- (reset! resizing? true)
- (reset! start (dom/get-client-position event))
- (reset! original-value (:initial-value rect-data))))
+ (when-not read-only?
+ (dom/capture-pointer event)
+ (reset! resizing? true)
+ (reset! start (dom/get-client-position event))
+ (reset! original-value (:initial-value rect-data)))))
calc-modifiers
(mf/use-fn
@@ -76,17 +78,19 @@
(fn [event]
(dom/release-pointer event)
- (when (features/active-feature? @st/state "render-wasm/v1")
- (let [[_ modifiers] (calc-modifiers @last-pos)]
- (st/emit! (dwm/apply-wasm-modifiers modifiers)
- (dwt/finish-transform))))
+ ;; Nothing to apply for a resize the lock cancelled
+ (when @resizing?
+ (when (features/active-feature? @st/state "render-wasm/v1")
+ (let [[_ modifiers] (calc-modifiers @last-pos)]
+ (st/emit! (dwm/apply-wasm-modifiers modifiers)
+ (dwt/finish-transform))))
+
+ (when (not (features/active-feature? @st/state "render-wasm/v1"))
+ (st/emit! (dwm/apply-modifiers))))
(reset! resizing? false)
(reset! start nil)
- (reset! original-value 0)
-
- (when (not (features/active-feature? @st/state "render-wasm/v1"))
- (st/emit! (dwm/apply-modifiers)))))
+ (reset! original-value 0)))
on-pointer-move
(mf/use-fn
diff --git a/frontend/src/app/main/ui/flex_controls/padding.cljs b/frontend/src/app/main/ui/flex_controls/padding.cljs
index eb4a9680ef..2f898f91b7 100644
--- a/frontend/src/app/main/ui/flex_controls/padding.cljs
+++ b/frontend/src/app/main/ui/flex_controls/padding.cljs
@@ -31,15 +31,17 @@
last-pos (mf/use-var nil)
negate? (true? (:resize-negate? rect-data))
axis (:resize-axis rect-data)
+ read-only? (fcc/use-read-only-cancel resizing?)
on-pointer-down
(mf/use-fn
- (mf/deps frame-id rect-data padding-num)
+ (mf/deps frame-id rect-data padding-num read-only?)
(fn [event]
- (dom/capture-pointer event)
- (reset! resizing? true)
- (reset! start (dom/get-client-position event))
- (reset! original-value (:initial-value rect-data))))
+ (when-not read-only?
+ (dom/capture-pointer event)
+ (reset! resizing? true)
+ (reset! start (dom/get-client-position event))
+ (reset! original-value (:initial-value rect-data)))))
calc-modifiers
(mf/use-fn
@@ -76,17 +78,19 @@
(fn [event]
(dom/release-pointer event)
- (when (features/active-feature? @st/state "render-wasm/v1")
- (let [[_ modifiers] (calc-modifiers @last-pos)]
- (st/emit! (dwm/apply-wasm-modifiers modifiers)
- (dwt/finish-transform))))
+ ;; Nothing to apply for a resize the lock cancelled
+ (when @resizing?
+ (when (features/active-feature? @st/state "render-wasm/v1")
+ (let [[_ modifiers] (calc-modifiers @last-pos)]
+ (st/emit! (dwm/apply-wasm-modifiers modifiers)
+ (dwt/finish-transform))))
+
+ (when (not (features/active-feature? @st/state "render-wasm/v1"))
+ (st/emit! (dwm/apply-modifiers))))
(reset! resizing? false)
(reset! start nil)
- (reset! original-value 0)
-
- (when (not (features/active-feature? @st/state "render-wasm/v1"))
- (st/emit! (dwm/apply-modifiers)))))
+ (reset! original-value 0)))
on-pointer-move
(mf/use-fn
diff --git a/frontend/src/app/main/ui/inspect/attributes/svg.cljs b/frontend/src/app/main/ui/inspect/attributes/svg.cljs
index 8344208afc..11fb8f5dfa 100644
--- a/frontend/src/app/main/ui/inspect/attributes/svg.cljs
+++ b/frontend/src/app/main/ui/inspect/attributes/svg.cljs
@@ -19,7 +19,7 @@
(map (fn [[attr-key attr-value]] (str (d/name attr-key) ":" attr-value)))
(str/join "; ")))
-(mf/defc svg-attr [{:keys [attr value]}]
+(mf/defc svg-attr* [{:keys [attr value]}]
(if (map? value)
[:*
[:div {:class (stl/css :attributes-subtitle)}
@@ -27,7 +27,7 @@
[:> copy-button* {:data (map->css value)}]]
(for [[attr-key attr-value] value]
- [:& svg-attr {:attr attr-key :value attr-value :key (str/join "svg-key-" (d/name attr-key))}])]
+ [:> svg-attr* {:attr attr-key :value attr-value :key (str/join "svg-key-" (d/name attr-key))}])]
(let [attr-name (as-> attr $
(d/name $)
@@ -41,11 +41,11 @@
:class (stl/css :copy-btn-title)}
[:div {:class (stl/css :button-children)} (str value)]]]])))
-(mf/defc svg-block
+(mf/defc svg-block*
[{:keys [shape]}]
[:*
(for [[attr-key attr-value] (:svg-attrs shape)]
- [:& svg-attr {:attr attr-key :value attr-value :key (str/join "svg-block-key-" (d/name attr-key))}])])
+ [:> svg-attr* {:attr attr-key :value attr-value :key (str/join "svg-block-key-" (d/name attr-key))}])])
(mf/defc svg-panel*
[{:keys [shapes]}]
@@ -56,4 +56,4 @@
{:title (tr "workspace.sidebar.options.svg-attrs.title")
:class (stl/css :title-wrapper)
:title-class (stl/css :svg-attr-title)}]
- [:& svg-block {:shape shape}]])))
+ [:> svg-block* {:shape shape}]])))
diff --git a/frontend/src/app/main/ui/inspect/attributes/text.cljs b/frontend/src/app/main/ui/inspect/attributes/text.cljs
index 51cf288266..e6434bd722 100644
--- a/frontend/src/app/main/ui/inspect/attributes/text.cljs
+++ b/frontend/src/app/main/ui/inspect/attributes/text.cljs
@@ -31,7 +31,7 @@
(map #(dm/str (d/name %) ": " (get style %) ";"))
(str/join "\n")))
-(mf/defc typography-block
+(mf/defc typography-block*
[{:keys [text style]}]
(let [color-format* (mf/use-state :hex)
color-format (deref color-format*)
@@ -138,17 +138,17 @@
(str/trim text)]]]))
-(mf/defc text-block [{:keys [shape]}]
+(mf/defc text-block* [{:keys [shape]}]
(let [style-text-blocks (->> (:content shape)
(txt/content->text+styles)
(remove (fn [[_ text]] (str/empty? (str/trim text))))
(mapv (fn [[style text]] (vector (merge (types.text/get-default-text-attrs) style) text))))]
(for [[idx [full-style text]] (map-indexed vector style-text-blocks)]
- [:& typography-block {:key idx
- :shape shape
- :style full-style
- :text text}])))
+ [:> typography-block* {:key idx
+ :shape shape
+ :style full-style
+ :text text}])))
(mf/defc text-panel*
[{:keys [shapes]}]
@@ -160,5 +160,5 @@
:title-class (stl/css :text-atrr-title)}]
(for [shape shapes]
- [:& text-block {:shape shape
- :key (dm/str "text-block" (:id shape))}])]))
+ [:> text-block* {:shape shape
+ :key (dm/str "text-block" (:id shape))}])]))
diff --git a/frontend/src/app/main/ui/inspect/left_sidebar.cljs b/frontend/src/app/main/ui/inspect/left_sidebar.cljs
index 971a3d8062..768d20a83a 100644
--- a/frontend/src/app/main/ui/inspect/left_sidebar.cljs
+++ b/frontend/src/app/main/ui/inspect/left_sidebar.cljs
@@ -23,14 +23,14 @@
#(-> (l/in [:viewer-local :collapsed id])
(l/derived st/state)))
-(mf/defc layer-item
- [{:keys [item selected objects depth component-child? hide-toggle?] :as props}]
+(mf/defc layer-item*
+ [{:keys [item selected objects depth is-component-child hide-toggle]}]
(let [id (:id item)
selected? (contains? selected id)
item-ref (mf/use-ref nil)
depth (+ depth 1)
- component-tree? (or component-child? (ctk/instance-root? item) (ctk/instance-head? item))
+ component-tree? (or is-component-child (ctk/instance-root? item) (ctk/instance-head? item))
collapsed-iref
(mf/use-memo
@@ -77,7 +77,7 @@
:is-component-tree component-tree?
:is-filtered false
:is-expanded expanded?
- :hide-toggle hide-toggle?
+ :hide-toggle hide-toggle
:on-select-shape select-shape
:on-toggle-collapse toggle-collapse}
@@ -88,16 +88,16 @@
:data-testid (dm/str "children-" id)}
(for [[index id] (reverse (d/enumerate (:shapes item)))]
(when-let [item (get objects id)]
- [:& layer-item
+ [:> layer-item*
{:item item
:selected selected
:index index
:objects objects
:key (dm/str id)
:depth depth
- :component-child? component-tree?}]))])]))
+ :is-component-child component-tree?}]))])]))
-(mf/defc left-sidebar
+(mf/defc left-sidebar*
[{:keys [frame page local]}]
(let [selected (:selected local)
objects (:objects page)]
@@ -105,12 +105,10 @@
[:aside {:class (stl/css :settings-bar-left)}
[:div {:class (stl/css :settings-bar-inside)}
[:div {:class (stl/css :element-list)}
- [:& layer-item
+ [:> layer-item*
{:item frame
:selected selected
:index 0
:objects objects
- :sortable? false
- :filtered? false
:depth -2
- :hide-toggle? true}]]]]))
+ :hide-toggle true}]]]]))
diff --git a/frontend/src/app/main/ui/inspect/render.cljs b/frontend/src/app/main/ui/inspect/render.cljs
index 751c1f4237..e102aa606c 100644
--- a/frontend/src/app/main/ui/inspect/render.cljs
+++ b/frontend/src/app/main/ui/inspect/render.cljs
@@ -12,7 +12,7 @@
[app.common.geom.shapes :as gsh]
[app.main.data.viewer :as dv]
[app.main.store :as st]
- [app.main.ui.inspect.selection-feedback :refer [selection-feedback]]
+ [app.main.ui.inspect.selection-feedback :refer [selection-feedback*]]
[app.main.ui.shapes.bool :as bool]
[app.main.ui.shapes.circle :as circle]
[app.main.ui.shapes.frame :as frame]
@@ -208,7 +208,7 @@
:fill "none"}
[:& render {:shape frame :view-box (:vbox size)}]
- [:& selection-feedback
+ [:> selection-feedback*
{:frame frame
:objects objects
:local local
diff --git a/frontend/src/app/main/ui/inspect/selection_feedback.cljs b/frontend/src/app/main/ui/inspect/selection_feedback.cljs
index 8be253b3ca..cf1463c2b7 100644
--- a/frontend/src/app/main/ui/inspect/selection_feedback.cljs
+++ b/frontend/src/app/main/ui/inspect/selection_feedback.cljs
@@ -31,7 +31,7 @@
;; COMPONENTS
;; ------------------------------------------------
-(mf/defc selection-rect [{:keys [selrect zoom]}]
+(mf/defc selection-rect* [{:keys [selrect zoom]}]
(let [{:keys [x y width height]} selrect
selection-rect-width (/ mconst/selection-rect-width zoom)]
[:g.selection-rect
@@ -43,7 +43,7 @@
:stroke mconst/select-color
:stroke-width selection-rect-width}}]]))
-(mf/defc selection-feedback
+(mf/defc selection-feedback*
[{:keys [frame local objects size]}]
(let [{:keys [hover selected zoom]} local
@@ -55,7 +55,7 @@
(when (d/not-empty? selected-shapes)
[:g.selection-feedback {:pointer-events "none"}
[:g.selected-shapes
- [:& selection-rect {:selrect selrect :zoom zoom}]
+ [:> selection-rect* {:selrect selrect :zoom zoom}]
[:> size-display* {:selrect selrect :zoom zoom}]]
[:> measurement* {:bounds (assoc size :x 0 :y 0)
diff --git a/frontend/src/app/main/ui/settings.cljs b/frontend/src/app/main/ui/settings.cljs
index 97043fae0a..6303b7a5de 100644
--- a/frontend/src/app/main/ui/settings.cljs
+++ b/frontend/src/app/main/ui/settings.cljs
@@ -11,6 +11,8 @@
[app.main.refs :as refs]
[app.main.router :as rt]
[app.main.store :as st]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
[app.main.ui.hooks :as hooks]
[app.main.ui.modal :refer [modal-container*]]
[app.main.ui.settings.change-email]
@@ -33,7 +35,11 @@
[:header {:class (stl/css :dashboard-header)
:data-testid "dashboard-header"}
[:div {:class (stl/css :dashboard-title)}
- [:h1 {:data-testid "account-title"} (tr "dashboard.your-account-title")]]])
+ [:> heading* {:level 1
+ :typography t/title-large
+ :class (stl/css :dashboard-title-text)
+ :data-testid "account-title"}
+ (tr "dashboard.your-account-title")]]])
(mf/defc settings*
[{:keys [route type error-report-id error-href]}]
diff --git a/frontend/src/app/main/ui/settings.scss b/frontend/src/app/main/ui/settings.scss
index 5898dbac3b..62d4e141f1 100644
--- a/frontend/src/app/main/ui/settings.scss
+++ b/frontend/src/app/main/ui/settings.scss
@@ -4,7 +4,7 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "common/refactor/common-dashboard";
+@use "dashboard/common/header";
@use "ds/_utils.scss" as *;
@use "ds/_sizes.scss" as *;
@use "ds/_borders.scss" as *;
diff --git a/frontend/src/app/main/ui/settings/feedback.cljs b/frontend/src/app/main/ui/settings/feedback.cljs
index b5a1a88373..70ed8999d8 100644
--- a/frontend/src/app/main/ui/settings/feedback.cljs
+++ b/frontend/src/app/main/ui/settings/feedback.cljs
@@ -131,7 +131,9 @@
:show-success? true}]
(when report
- [:a {:class (stl/css :link :download-button) :on-click on-download}
+ [:button {:type "button"
+ :class (stl/css :link :download-button)
+ :on-click on-download}
(tr "labels.download" "report.txt")])]
[:> fm/submit-button*
diff --git a/frontend/src/app/main/ui/settings/feedback.scss b/frontend/src/app/main/ui/settings/feedback.scss
index aee1490e20..d38c897861 100644
--- a/frontend/src/app/main/ui/settings/feedback.scss
+++ b/frontend/src/app/main/ui/settings/feedback.scss
@@ -81,5 +81,11 @@
display: inline-block;
min-inline-size: $sz-160;
text-align: center;
+ background: none;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
}
}
diff --git a/frontend/src/app/main/ui/settings/integrations.cljs b/frontend/src/app/main/ui/settings/integrations.cljs
index 334ca32806..159dc1414b 100644
--- a/frontend/src/app/main/ui/settings/integrations.cljs
+++ b/frontend/src/app/main/ui/settings/integrations.cljs
@@ -486,11 +486,7 @@
[:> heading* {:level 2
:typography t/title-medium
:class (stl/css :color-primary :mcp-server-title)}
- (tr "integrations.mcp-server.title")]
- [:> text* {:as "span"
- :typography t/body-small
- :class (stl/css :beta)}
- (tr "integrations.mcp-server.title.beta")]]
+ (tr "integrations.mcp-server.title")]]
[:> text* {:as "div"
:typography t/body-medium
diff --git a/frontend/src/app/main/ui/settings/integrations.scss b/frontend/src/app/main/ui/settings/integrations.scss
index 174cf8a73d..c224fed5d8 100644
--- a/frontend/src/app/main/ui/settings/integrations.scss
+++ b/frontend/src/app/main/ui/settings/integrations.scss
@@ -27,14 +27,6 @@
inline-size: fit-content;
}
-.beta {
- color: var(--color-accent-primary);
- border: $b-1 solid var(--color-accent-primary);
- inline-size: fit-content;
- padding: var(--sp-xxs) var(--sp-s);
- border-radius: $br-4;
-}
-
.title {
display: flex;
flex-direction: row;
diff --git a/frontend/src/app/main/ui/settings/options.cljs b/frontend/src/app/main/ui/settings/options.cljs
index 12ba30ef6a..b841f3567d 100644
--- a/frontend/src/app/main/ui/settings/options.cljs
+++ b/frontend/src/app/main/ui/settings/options.cljs
@@ -58,7 +58,10 @@
:on-submit on-submit
:form form}
- [:h3 (tr "labels.language")]
+ [:> heading* {:level 3
+ :typography t/headline-small
+ :class (stl/css :section-title)}
+ (tr "labels.language")]
[:div {:class (stl/css :fields-row)}
[:& fm/select {:options (into [{:label "Auto (browser)" :value ""}]
@@ -68,7 +71,10 @@
:name :lang
:data-testid "setting-lang"}]]
- [:h3 (tr "dashboard.theme-change")]
+ [:> heading* {:level 3
+ :typography t/headline-small
+ :class (stl/css :section-title)}
+ (tr "dashboard.theme-change")]
[:div {:class (stl/css :fields-row)}
[:& fm/select {:label (tr "dashboard.select-ui-theme")
:name :theme
@@ -128,7 +134,7 @@
[:div {:class (stl/css :form-container) :data-testid "settings-form"}
[:> heading* {:level 2
:typography t/title-large
- :class (stl/css :color-primary)
+ :class (stl/css :page-title)
:id "options-section-title"}
(tr "labels.settings")]
[:> options-form*]]
diff --git a/frontend/src/app/main/ui/settings/options.scss b/frontend/src/app/main/ui/settings/options.scss
index cdae1e185b..91cf8dc3c4 100644
--- a/frontend/src/app/main/ui/settings/options.scss
+++ b/frontend/src/app/main/ui/settings/options.scss
@@ -13,6 +13,16 @@
display: grid;
}
+.options-form {
+ display: flex;
+ flex-direction: column;
+}
+
+.section-title {
+ color: var(--color-foreground-primary);
+ margin-block: var(--sp-s);
+}
+
.form-container {
--menu-max-height-up: #{px2rem(180)};
diff --git a/frontend/src/app/main/ui/settings/profile.cljs b/frontend/src/app/main/ui/settings/profile.cljs
index 74f073ae36..14cfb8097c 100644
--- a/frontend/src/app/main/ui/settings/profile.cljs
+++ b/frontend/src/app/main/ui/settings/profile.cljs
@@ -73,8 +73,9 @@
[:div {:class (stl/css :options)}
[:div.change-email
- [:a {:class (stl/css :link)
- :on-click on-show-change-email}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :on-click on-show-change-email}
(tr "dashboard.change-email")]]]]
[:> fm/submit-button*
@@ -84,9 +85,10 @@
[:div {:class (stl/css :links)}
[:div
- [:a {:class (stl/css :link)
- :on-click on-show-delete-account
- :data-testid "remove-acount-btn"}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :on-click on-show-delete-account
+ :data-testid "remove-acount-btn"}
(tr "dashboard.remove-account")]]]]))
;; --- Profile Photo Form
diff --git a/frontend/src/app/main/ui/settings/profile.scss b/frontend/src/app/main/ui/settings/profile.scss
index 0c2b954a18..d98a0f5996 100644
--- a/frontend/src/app/main/ui/settings/profile.scss
+++ b/frontend/src/app/main/ui/settings/profile.scss
@@ -19,10 +19,20 @@
align-items: center;
}
+// "Change email" and "Want to remove your account?" open modals, so they
+// are buttons that keep the look of a text link.
.link {
@include use-typography("body-medium");
color: var(--color-accent-primary);
+ background: none;
+ border: none;
+ padding: 0;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
}
.form-container {
diff --git a/frontend/src/app/main/ui/shapes/attrs.cljs b/frontend/src/app/main/ui/shapes/attrs.cljs
index 20defd27f0..b03d37bc99 100644
--- a/frontend/src/app/main/ui/shapes/attrs.cljs
+++ b/frontend/src/app/main/ui/shapes/attrs.cljs
@@ -168,6 +168,10 @@
(dm/str render-id "-" id)
id)))
(dissoc :id)
+ ;; Stored keys are kebab-case; React needs camelCase props.
+ ;; Stored data is whitelist-clean by construction, so this
+ ;; conversion drops nothing.
+ (csvg/attrs->props)
(json/->js :key-fn name)))))
(defn get-fill-style
diff --git a/frontend/src/app/main/ui/shapes/svg_defs.cljs b/frontend/src/app/main/ui/shapes/svg_defs.cljs
index 32d6a0b6c5..a824f56e6b 100644
--- a/frontend/src/app/main/ui/shapes/svg_defs.cljs
+++ b/frontend/src/app/main/ui/shapes/svg_defs.cljs
@@ -33,20 +33,20 @@
(let [{:keys [tag attrs content]} node
transform-gradient? (and (contains? csvg/gradient-tags tag)
- (= "userSpaceOnUse" (get attrs :gradientUnits "objectBoundingBox")))
+ (= "userSpaceOnUse" (get attrs :gradient-units "objectBoundingBox")))
transform-pattern? (and (= :pattern tag)
- (= "userSpaceOnUse" (get attrs :patternContentUnits "userSpaceOnUse"))
- (= "userSpaceOnUse" (get attrs :patternUnits "userSpaceOnUse")))
+ (= "userSpaceOnUse" (get attrs :pattern-content-units "userSpaceOnUse"))
+ (= "userSpaceOnUse" (get attrs :pattern-units "userSpaceOnUse")))
transform-clippath? (and (= :clipPath tag)
- (= "userSpaceOnUse" (get attrs :clipPathUnits "userSpaceOnUse")))
+ (= "userSpaceOnUse" (get attrs :clip-path-units "userSpaceOnUse")))
transform-filter? (and (contains? csvg/filter-tags tag)
- (= "userSpaceOnUse" (get attrs :filterUnits "objectBoundingBox")))
+ (= "userSpaceOnUse" (get attrs :filter-units "objectBoundingBox")))
transform-mask? (and (= :mask tag)
- (= "userSpaceOnUse" (get attrs :maskUnits "objectBoundingBox")))
+ (= "userSpaceOnUse" (get attrs :mask-units "objectBoundingBox")))
attrs
(-> attrs
diff --git a/frontend/src/app/main/ui/shortcuts.cljs b/frontend/src/app/main/ui/shortcuts.cljs
index 4166314a37..64df9a10bf 100644
--- a/frontend/src/app/main/ui/shortcuts.cljs
+++ b/frontend/src/app/main/ui/shortcuts.cljs
@@ -539,39 +539,31 @@
(mf/defc shortcuts-keys*
[{:keys [content command is-customized has-conflict? light-shortcut]}]
- (let [managed-list (if (coll? content)
- content
- (conj () content))
- chars-list (map ds/split-sc managed-list)
- last-element (last chars-list)
- short-char-list (if (= 1 (count chars-list))
- chars-list
- (drop-last chars-list))
- penultimate (last short-char-list)]
+ (let [managed-list (if (coll? content)
+ content
+ (conj () content))
+ chars-list (map ds/split-sc managed-list)
+ last-index (dec (count chars-list))
+ key-class (cond
+ has-conflict? (stl/css :conflict-key)
+ is-customized (stl/css :customized-key)
+ light-shortcut (stl/css :light-key))]
+ ;; Each combination is a group that never breaks; the list wraps
+ ;; between groups. The separator stays inside a group so no line
+ ;; starts with a comma.
[:span {:class (stl/css :keys)}
- (for [chars short-char-list]
- [:* {:key (str/join chars)}
+ (for [[index chars] (d/enumerate chars-list)]
+ [:span {:key (dm/str index "-" (str/join chars))
+ :class (stl/css :key-group)}
+ (when (and (pos? index) (= index last-index))
+ [:span {:class (stl/css :space)} (tr "shortcuts.or")])
(for [char chars]
[:> converted-chars* {:key (dm/str char "-" (name command))
:char char
:command command
- :class (cond
- has-conflict? (stl/css :conflict-key)
- is-customized (stl/css :customized-key)
- light-shortcut (stl/css :light-key))}])
-
- (when (not= chars penultimate) [:span {:class (stl/css :space)} ","])])
- (when (not= last-element penultimate)
- [:*
- [:span {:class (stl/css :space)} (tr "shortcuts.or")]
- (for [char last-element]
- [:> converted-chars* {:key (dm/str char "-" (name command))
- :char char
- :command command
- :class (cond
- has-conflict? (stl/css :conflict-key)
- is-customized (stl/css :customized-key)
- light-shortcut (stl/css :light-key))}])])]))
+ :class key-class}])
+ (when (< index (dec last-index))
+ [:span {:class (stl/css :space)} ","])])]))
(mf/defc shortcut-row-editable*
[{:keys [elements custom-shortcuts command-translate conflicts section-key]}]
@@ -863,7 +855,7 @@
:data-conflict (str has-conflict?)
:aria-label command-translate
:key command-translate}
- [:span
+ [:span {:class (stl/css :command-label)}
[:span {:class (stl/css-case :command-name true
:not-customizable-label (not customizable?))
:id (dm/str command-translate "-label")}
diff --git a/frontend/src/app/main/ui/shortcuts.scss b/frontend/src/app/main/ui/shortcuts.scss
index 11eef8a482..dea29e9aba 100644
--- a/frontend/src/app/main/ui/shortcuts.scss
+++ b/frontend/src/app/main/ui/shortcuts.scss
@@ -4,12 +4,10 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "refactor/common-refactor.scss" as deprecated;
@use "ds/_borders.scss" as *;
@use "ds/_sizes.scss" as *;
@use "ds/_utils.scss" as *;
-@use "ds/mixins.scss" as *;
-@use "ds/typography.scss" as t;
+@use "ds/typography.scss" as *;
.section {
margin: 0;
@@ -21,7 +19,7 @@
.section-title,
.subsection-title {
- @include t.use-typography("headline-small");
+ @include use-typography("headline-small");
display: flex;
align-items: center;
@@ -60,6 +58,7 @@
display: flex;
align-items: center;
justify-content: space-between;
+ column-gap: var(--sp-s);
inline-size: 100%;
min-block-size: $sz-32;
padding: px2rem(6);
@@ -69,7 +68,7 @@
}
.command-name {
- @include t.use-typography("body-small");
+ @include use-typography("body-small");
margin-inline-start: var(--sp-xxs);
color: var(--color-foreground-primary);
@@ -78,6 +77,16 @@
text-align: start;
}
+.command-label {
+ flex: 0 1 auto;
+}
+
+// The keys take the space the label leaves and wrap between groups.
+.shortcuts-name .shortcut-actions {
+ flex: 1 1 0;
+ justify-content: flex-end;
+}
+
.not-customizable-label {
padding-inline-start: px2rem(6);
}
@@ -163,13 +172,20 @@
.keys {
display: flex;
- justify-content: center;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ align-items: center;
+ gap: var(--sp-xxs);
+}
+
+.key-group {
+ display: flex;
align-items: center;
gap: var(--sp-xxs);
}
.key {
- @include t.use-typography("body-small");
+ @include use-typography("body-small");
display: flex;
justify-content: center;
@@ -203,7 +219,7 @@
}
.shortcut-placeholder {
- @include t.use-typography("body-small");
+ @include use-typography("body-small");
color: var(--color-foreground-secondary);
}
diff --git a/frontend/src/app/main/ui/static.cljs b/frontend/src/app/main/ui/static.cljs
index fe75e1f7b2..588dd0f970 100644
--- a/frontend/src/app/main/ui/static.cljs
+++ b/frontend/src/app/main/ui/static.cljs
@@ -11,7 +11,7 @@
[app.common.data :as d]
[app.common.exceptions :as ex]
[app.common.uuid :as uuid]
- [app.main.data.auth :refer [is-authenticated?]]
+ [app.main.data.auth :as da :refer [is-authenticated?]]
[app.main.data.common :as dcm]
[app.main.data.nitrate :as dnt]
[app.main.errors :as errors]
@@ -127,7 +127,8 @@
(fn [data]
(cond
(:invitation-token data)
- (st/emit! (rt/nav :auth-verify-token {:token (:invitation-token data)}))
+ (st/emit! (da/login-from-register
+ {:invitation-token (:invitation-token data)}))
(:is-active data)
(st/emit! (rt/reload true))
@@ -176,8 +177,10 @@
[:div {:class (stl/css :change-section)}
(tr "auth.register")
" "
- [:a {:data-section "register"
- :on-click set-section}
+ [:button {:type "button"
+ :class (stl/css :link)
+ :data-section "register"
+ :on-click set-section}
(tr "auth.register-submit")]]]
:register
@@ -190,8 +193,11 @@
[:div {:class (stl/css :change-section)}
(tr "auth.already-have-account")
" "
- [:a {:data-section "login"
- :on-click set-section} (tr "auth.login-here")]]
+ [:button {:type "button"
+ :class (stl/css :link)
+ :data-section "login"
+ :on-click set-section}
+ (tr "auth.login-here")]]
[:div {:class (stl/css :links)}
[:hr {:class (stl/css :separator)}]
[:> register/terms-service-privacy-policy*]]]
@@ -424,7 +430,10 @@
[:p {:class (stl/css :desc-text)} (tr "labels.internal-error.desc-message-second")]]
(when (some? report)
- [:a {:class (stl/css :download-link) :on-click on-download} (tr "labels.download" "report.txt")])
+ [:button {:type "button"
+ :class (stl/css :download-link)
+ :on-click on-download}
+ (tr "labels.download" "report.txt")])
[:div {:class (stl/css :buttons-container)}
[:> button* {:variant "secondary"
diff --git a/frontend/src/app/main/ui/static.scss b/frontend/src/app/main/ui/static.scss
index 77e7961895..d53ae93f87 100644
--- a/frontend/src/app/main/ui/static.scss
+++ b/frontend/src/app/main/ui/static.scss
@@ -208,6 +208,14 @@
color: var(--color-foreground-primary);
text-transform: lowercase;
+ background: none;
+ border: none;
+ padding: 0;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
}
.sign-info {
@@ -373,9 +381,22 @@
inline-size: 100%;
text-align: center;
- // Native inside change-section — no class available
- a {
+ .link {
+ font: inherit;
+ font-weight: 500;
+
+ // A button is a block in its line: the normal line height keeps the box of
+ // the inline link it replaces.
+ line-height: normal;
color: var(--color-accent-primary);
+ background: none;
+ border: none;
+ padding: 0;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
}
}
diff --git a/frontend/src/app/main/ui/viewer/header.cljs b/frontend/src/app/main/ui/viewer/header.cljs
index e0907d26aa..a433cc5c7f 100644
--- a/frontend/src/app/main/ui/viewer/header.cljs
+++ b/frontend/src/app/main/ui/viewer/header.cljs
@@ -12,18 +12,21 @@
[app.main.data.shortcuts :as scd]
[app.main.data.viewer :as dv]
[app.main.data.viewer.shortcuts :as sc]
+ [app.main.refs :as refs]
+ [app.main.router :as rt]
[app.main.store :as st]
[app.main.ui.components.dropdown :refer [dropdown]]
[app.main.ui.ds.buttons.button :refer [button*]]
[app.main.ui.ds.buttons.icon-button :refer [icon-button*]]
[app.main.ui.ds.foundations.assets.icon :as i :refer [icon*]]
+ [app.main.ui.ds.foundations.assets.raw-svg :as raw-svg :refer [raw-svg*]]
[app.main.ui.exports.assets :refer [progress-widget]]
[app.main.ui.formats :as fmt]
- [app.main.ui.icons :as deprecated-icon]
[app.main.ui.viewer.comments :refer [comments-menu]]
[app.main.ui.viewer.interactions :refer [flows-menu* interactions-menu*]]
[app.util.dom :as dom]
[app.util.i18n :refer [tr]]
+ [app.util.keyboard :as kbd]
[okulary.core :as l]
[rumext.v2 :as mf]))
@@ -276,15 +279,20 @@
[:span {:class (stl/css :frame-name)} frame-name]
[:> icon* {:icon-id i/arrow-down :size "s" :class (stl/css :icon)}]]]]))
-(def ^:private penpot-logo-icon
- (deprecated-icon/icon-xref :penpot-logo-icon (stl/css :logo-icon)))
-
-
(mf/defc header
[{:keys [project file page frame zoom section permissions index interactions-mode shown-thumbnails share]}]
- (let [go-to-dashboard
+ (let [in-team? (:in-team permissions)
+ router (mf/deref refs/router)
+ dashboard-href (when in-team?
+ (rt/resolve-uri router :dashboard-recent {:team-id (:team-id project)}))
+
+ go-to-dashboard
(mf/use-fn
- #(st/emit! (dv/go-to-dashboard)))
+ (fn [event]
+ ;; Ctrl/Cmd-click opens the href in a new tab, as any link.
+ (when-not (kbd/mod? event)
+ (dom/prevent-default event)
+ (st/emit! (dv/go-to-dashboard)))))
go-to-inspect
(mf/use-fn
@@ -324,13 +332,15 @@
:fullscreen (mf/deref fullscreen-ref))
:on-click close-thumbnails}
[:div {:class (stl/css :nav-zone)}
- ;; If the user doesn't have permission we disable the link
+ ;; Without team permission the logo is not a link: no href, no click.
[:a {:class (stl/css :home-link)
- :on-click go-to-dashboard
+ :href dashboard-href
+ :on-click (when in-team? go-to-dashboard)
:data-testid "penpot-logo-link"
- :style {:cursor (when-not (:in-team permissions) "auto")
- :pointer-events (when-not (:in-team permissions) "none")}}
- penpot-logo-icon]
+ :style {:cursor (when-not in-team? "auto")
+ :pointer-events (when-not in-team? "none")}}
+ [:> raw-svg* {:id raw-svg/penpot-logo-icon
+ :class (stl/css :logo-icon)}]]
[:& header-sitemap {:project project
:file file
diff --git a/frontend/src/app/main/ui/viewer/inspect.cljs b/frontend/src/app/main/ui/viewer/inspect.cljs
index 3ffed2dc99..239c121080 100644
--- a/frontend/src/app/main/ui/viewer/inspect.cljs
+++ b/frontend/src/app/main/ui/viewer/inspect.cljs
@@ -13,7 +13,7 @@
[app.main.data.viewer :as dv]
[app.main.store :as st]
[app.main.ui.hooks.resize :refer [use-resize-hook]]
- [app.main.ui.inspect.left-sidebar :refer [left-sidebar]]
+ [app.main.ui.inspect.left-sidebar :refer [left-sidebar*]]
[app.main.ui.inspect.render :refer [render-frame-svg]]
[app.main.ui.inspect.right-sidebar :refer [right-sidebar*]]
[app.util.dom :as dom]
@@ -92,9 +92,9 @@
(st/emit! (dv/select-shape (:id frame)))))
[:*
- [:& left-sidebar {:frame frame
- :local local
- :page page}]
+ [:> left-sidebar* {:frame frame
+ :local local
+ :page page}]
[:div#inspect-svg-wrapper {:class (stl/css :inspect-svg-wrapper)
:data-value (pr-str (:id frame))
:on-click handle-select-frame}
diff --git a/frontend/src/app/main/ui/workspace.cljs b/frontend/src/app/main/ui/workspace.cljs
index 9c95562485..61c82f71f2 100644
--- a/frontend/src/app/main/ui/workspace.cljs
+++ b/frontend/src/app/main/ui/workspace.cljs
@@ -28,6 +28,7 @@
[app.main.ui.workspace.components-debugger :refer [components-debugger*]]
[app.main.ui.workspace.context-menu :refer [context-menu*]]
[app.main.ui.workspace.coordinates :as coordinates]
+ [app.main.ui.workspace.file-restored-modal]
[app.main.ui.workspace.libraries]
[app.main.ui.workspace.nudge]
[app.main.ui.workspace.palette :refer [palette*]]
diff --git a/frontend/src/app/main/ui/workspace/context_menu.cljs b/frontend/src/app/main/ui/workspace/context_menu.cljs
index 7cb59b75e5..6a11dfd988 100644
--- a/frontend/src/app/main/ui/workspace/context_menu.cljs
+++ b/frontend/src/app/main/ui/workspace/context_menu.cljs
@@ -398,6 +398,8 @@
objects (deref refs/workspace-page-objects)
any-in-copy? (some #(ctn/has-any-copy-parent? objects %) shapes)
any-is-variant? (some ctk/is-variant? shapes)
+ any-is-container? (some ctk/is-variant-container? shapes)
+ crosses-set? (ctn/crosses-variant-set-boundary? objects shapes)
;; components can't be ungrouped
has-frame? (->> shapes (d/seek #(and (cfh/frame-shape? %) (not (ctk/instance-head? %)) (not (ctk/is-variant-container? %)))))
@@ -416,7 +418,7 @@
#(st/emit! (dwsh/create-artboard-from-selection))]
[:*
- (when (not (or any-in-copy? any-is-variant?))
+ (when (not (or any-in-copy? any-is-variant? any-is-container? crosses-set?))
[:*
(when (or has-bool? has-group? has-mask? has-frame?)
[:> menu-entry* {:title (tr "workspace.shape.menu.ungroup")
@@ -621,6 +623,10 @@
(and single? (every? ctl/grid-layout? shapes))
any-is-variant? (some ctk/is-variant? shapes)
+ ;; shape-context-menu* already omits this menu for container-only;
+ ;; gate here too so a future caller cannot show Add flex/grid.
+ any-is-container? (some ctk/is-variant-container? shapes)
+ crosses-set? (ctn/crosses-variant-set-boundary? objects shapes)
on-add-layout
(mf/use-fn
@@ -653,7 +659,9 @@
:shortcut-key :toggle-layout-grid
:on-click on-remove-layout}])]
- (when (or single? (not any-is-variant?))
+ (when (and (not crosses-set?)
+ (not any-is-container?)
+ (or single? (not any-is-variant?)))
[:div
[:> menu-separator* {}]
[:> menu-entry* {:title (tr "workspace.shape.menu.add-flex")
diff --git a/frontend/src/app/main/ui/workspace/file_restored_modal.cljs b/frontend/src/app/main/ui/workspace/file_restored_modal.cljs
new file mode 100644
index 0000000000..badadb4957
--- /dev/null
+++ b/frontend/src/app/main/ui/workspace/file_restored_modal.cljs
@@ -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 SUBSIDIARY SL
+
+(ns app.main.ui.workspace.file-restored-modal
+ (:require-macros [app.main.style :as stl])
+ (:require
+ [app.common.time :as ct]
+ [app.main.data.modal :as modal]
+ [app.main.store :as st]
+ [app.main.ui.ds.buttons.button :refer [button*]]
+ [app.main.ui.ds.foundations.typography :as t]
+ [app.main.ui.ds.foundations.typography.heading :refer [heading*]]
+ [app.main.ui.ds.foundations.typography.text :refer [text*]]
+ [app.util.i18n :refer [tr]]
+ [rumext.v2 :as mf]))
+
+(defn- restored-message
+ "Who restored which version: the version by its `label`, else by its
+ date, else as an earlier version."
+ [fullname label created-at]
+ (let [date (some-> created-at (ct/format-inst "PPp"))]
+ (cond
+ (and fullname label) (tr "workspace.file-restored.message-label" fullname label)
+ label (tr "workspace.file-restored.message-label-anonymous" label)
+ (and fullname date) (tr "workspace.file-restored.message-date" fullname date)
+ date (tr "workspace.file-restored.message-date-anonymous" date)
+ fullname (tr "workspace.file-restored.message" fullname)
+ :else (tr "workspace.file-restored.message-anonymous"))))
+
+#_{:clojure-lsp/ignore [:clojure-lsp/unused-public-var]}
+(mf/defc file-restored-modal*
+ "Tells a peer that another user restored a version of the open file,
+ which was reloaded, and whether their edits not saved yet were lost."
+ {::mf/register modal/components
+ ::mf/register-as :file-restored}
+ [{:keys [fullname label created-at unsaved]}]
+ (let [on-close (mf/use-fn #(st/emit! (modal/hide)))]
+ [:div {:class (stl/css :modal-overlay)}
+ [:div {:class (stl/css :modal-dialog)
+ :role "dialog"
+ :aria-modal true
+ :aria-labelledby "file-restored-title"}
+ [:> heading* {:id "file-restored-title"
+ :level 2
+ :typography t/title-medium
+ :class (stl/css :modal-title)}
+ (tr "workspace.file-restored.title")]
+ [:> text* {:as "p" :typography t/body-large}
+ (restored-message fullname label created-at)]
+ (when unsaved
+ [:> text* {:as "p" :typography t/body-large}
+ (tr "workspace.file-restored.unsaved-changes")])
+ [:footer {:class (stl/css :modal-footer)}
+ [:> button* {:on-click on-close
+ :variant "primary"}
+ (tr "workspace.file-restored.accept")]]]]))
diff --git a/frontend/src/app/main/ui/workspace/file_restored_modal.scss b/frontend/src/app/main/ui/workspace/file_restored_modal.scss
new file mode 100644
index 0000000000..568841a417
--- /dev/null
+++ b/frontend/src/app/main/ui/workspace/file_restored_modal.scss
@@ -0,0 +1,34 @@
+// 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 SUBSIDIARY SL
+
+@use "ds/_utils.scss" as *;
+@use "refactor/common-refactor.scss" as deprecated;
+
+.modal-overlay {
+ @extend %modal-overlay-base;
+}
+
+.modal-dialog {
+ @extend %modal-container-base;
+
+ color: var(--color-foreground-secondary);
+ display: grid;
+ gap: var(--sp-s);
+ max-width: px2rem(482); // FIXME: This should be a token
+
+ & > * {
+ margin: 0; // FIXME: This should be in reset styles
+ }
+}
+
+.modal-title {
+ color: var(--color-foreground-primary);
+}
+
+.modal-footer {
+ margin-block-start: var(--sp-m);
+ justify-self: end;
+}
diff --git a/frontend/src/app/main/ui/workspace/left_header.cljs b/frontend/src/app/main/ui/workspace/left_header.cljs
index 6cca735766..95586130d8 100644
--- a/frontend/src/app/main/ui/workspace/left_header.cljs
+++ b/frontend/src/app/main/ui/workspace/left_header.cljs
@@ -17,8 +17,8 @@
[app.main.router :as rt]
[app.main.store :as st]
[app.main.ui.ds.foundations.assets.icon :as i :refer [icon*]]
+ [app.main.ui.ds.foundations.assets.raw-svg :as raw-svg :refer [raw-svg*]]
[app.main.ui.ds.tooltip :refer [tooltip*]]
- [app.main.ui.icons :as deprecated-icon]
[app.main.ui.workspace.branch-switcher :refer [branch-bar*]]
[app.main.ui.workspace.main-menu :as main-menu]
[app.util.dom :as dom]
@@ -99,20 +99,22 @@
#(st/emit! (dc/stop-picker)
(modal/hide)))
+ router (mf/deref refs/router)
+ recent-href (rt/resolve-uri router :dashboard-recent {:team-id (:team-id project)})
+ project-href (rt/resolve-uri router :dashboard-files {:team-id (:team-id project)
+ :project-id project-id})
+
go-back
(mf/use-fn
- (fn []
- (close-modals)
- ;; FIXME: move set-mode to uri?
- (st/emit! :interrupt
- (dw/set-options-mode :design)
- (dcm/go-to-dashboard-recent))))
-
- nav-to-project
- (mf/use-fn
- (mf/deps project-id)
- #(st/emit! :interrupt
- (dcm/go-to-dashboard-files ::rt/new-window true :project-id project-id)))]
+ (fn [event]
+ ;; Ctrl/Cmd-click opens the href in a new tab, as any link.
+ (when-not (kbd/mod? event)
+ (dom/prevent-default event)
+ (close-modals)
+ ;; FIXME: move set-mode to uri?
+ (st/emit! :interrupt
+ (dw/set-options-mode :design)
+ (dcm/go-to-dashboard-recent)))))]
(mf/with-effect [editing?]
(when ^boolean editing?
@@ -120,13 +122,18 @@
[:div {:class (dm/str class " " (stl/css :workspace-header-left-wrapper))}
[:header {:class (stl/css :workspace-header-left)}
- [:a {:on-click go-back
- :class (stl/css :main-icon)} deprecated-icon/logo-icon]
+ [:a {:href recent-href
+ :on-click go-back
+ :class (stl/css :main-icon)}
+ [:> raw-svg* {:id raw-svg/penpot-logo-icon
+ :class (stl/css :logo)}]]
[:div {:alt (tr "workspace.sitemap")
:class (stl/css :project-tree)}
- [:div
- {:class (stl/css :project-name)
- :on-click nav-to-project}
+ ;; Opens the project files in a new tab, as it always did.
+ [:a {:class (stl/css :project-name)
+ :href project-href
+ :target "_blank"
+ :rel "noopener"}
(:name project)]
(if ^boolean editing?
[:input
diff --git a/frontend/src/app/main/ui/workspace/left_header.scss b/frontend/src/app/main/ui/workspace/left_header.scss
index 82ce8d2c48..2eaeeceb11 100644
--- a/frontend/src/app/main/ui/workspace/left_header.scss
+++ b/frontend/src/app/main/ui/workspace/left_header.scss
@@ -30,13 +30,12 @@
block-size: $sz-32;
min-block-size: $sz-32;
margin-inline-end: var(--sp-xs);
+}
- // The Penpot logo is brand art from the legacy icon set and has no class.
- svg {
- min-block-size: $sz-32;
- inline-size: $sz-32;
- fill: var(--color-foreground-primary);
- }
+.logo {
+ inline-size: $sz-32;
+ block-size: $sz-32;
+ fill: var(--color-foreground-primary);
}
.project-tree {
diff --git a/frontend/src/app/main/ui/workspace/shapes/text/editor.cljs b/frontend/src/app/main/ui/workspace/shapes/text/editor.cljs
index 770a1ebec7..f7e55cd8be 100644
--- a/frontend/src/app/main/ui/workspace/shapes/text/editor.cljs
+++ b/frontend/src/app/main/ui/workspace/shapes/text/editor.cljs
@@ -256,7 +256,10 @@
:on-blur on-blur
:on-focus on-focus
:handle-return handle-return
- :strip-pasted-styles true
+ ;; Do not set strip-pasted-styles. When true, draft-js never calls
+ ;; handlePastedText, so caret/block styles are not applied on paste.
+ ;; handle-pasted-text always returns "handled", so pasted HTML/styles
+ ;; are still stripped.
:handle-pasted-text handle-pasted-text
:handle-drop handle-drop
:custom-style-fn (partial styles-fn shape)
diff --git a/frontend/src/app/main/ui/workspace/shapes/text/v2_editor.cljs b/frontend/src/app/main/ui/workspace/shapes/text/v2_editor.cljs
index 5a9f1f3a92..74e702c681 100644
--- a/frontend/src/app/main/ui/workspace/shapes/text/v2_editor.cljs
+++ b/frontend/src/app/main/ui/workspace/shapes/text/v2_editor.cljs
@@ -18,6 +18,8 @@
[app.common.types.text :as txt]
[app.config :as cf]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence :as-alias dps]
+ [app.main.data.persistence.lock :as plk]
[app.main.data.workspace :as dw]
[app.main.data.workspace.texts :as dwt]
[app.main.features :as features]
@@ -34,7 +36,9 @@
[app.util.text.content :as content]
[app.util.text.content.styles :as styles]
[app.util.timers :as ts]
+ [beicon.v2.core :as rx]
[cuerdas.core :as str]
+ [potok.v2.core :as ptk]
[rumext.v2 :as mf]))
(defn get-contrast-color [background-color]
@@ -182,7 +186,28 @@
on-clipboard-change
(fn [event]
(let [style (.-detail event)]
- (st/emit! (dw/set-clipboard-style style))))]
+ (st/emit! (dw/set-clipboard-style style))))
+
+ ;; A rollback that reverts the text or its styles puts the reverted
+ ;; content in the editor, which would otherwise keep showing and
+ ;; saving the rejected one. Saves failing do the same with the last
+ ;; committed content, since the typing not yet committed is dropped.
+ ;; The WASM canvas draws the editor's layout, so it is laid out
+ ;; again from that content.
+ rolled-back-sub
+ (->> st/stream
+ (rx/filter #(or (ptk/type? ::dps/rolled-back %)
+ (plk/cancel-gestures? %)))
+ (rx/subs! (fn [_]
+ (let [content (-> (dsh/lookup-page-objects @st/state)
+ (get shape-id)
+ :content)
+ current (content/dom->cljs (dwt/get-editor-root instance))]
+ (when (and (some? content)
+ (not (dwt/same-styled-text? content current)))
+ (dwt/set-editor-root! instance (content/cljs->dom content))
+ (when (features/active-feature? @st/state "render-wasm/v1")
+ (st/emit! (dwt/v2-sync-wasm-text-layout shape-id content))))))))]
(.addEventListener ^js global/document "keyup" on-key-up)
(.addEventListener ^js instance "focus" on-focus)
@@ -210,6 +235,7 @@
(.removeEventListener ^js instance "stylechange" on-style-change)
(.removeEventListener ^js instance "change" on-change)
(.removeEventListener ^js instance "clipboardchange" on-clipboard-change)
+ (rx/dispose! rolled-back-sub)
(dwt/dispose! instance)
(st/emit! (dwt/update-editor nil)))))
diff --git a/frontend/src/app/main/ui/workspace/sidebar/options.cljs b/frontend/src/app/main/ui/workspace/sidebar/options.cljs
index b753def734..fffd6aa97b 100644
--- a/frontend/src/app/main/ui/workspace/sidebar/options.cljs
+++ b/frontend/src/app/main/ui/workspace/sidebar/options.cljs
@@ -262,6 +262,10 @@
(mf/use-ctx ctx/permissions)
render-context-lost? (mf/deref refs/render-context-lost?)
+ ;; While saves fail the workspace is locked and nothing may be edited
+ save-locked?
+ (some? (mf/deref refs/persistence-lock))
+
options-mode
(mf/deref refs/options-mode-global)
@@ -289,7 +293,7 @@
(on-option-tab-change "design")))))
[:div {:class (stl/css :tool-window)}
- (if (and (:can-edit permissions) (not render-context-lost?))
+ (if (and (:can-edit permissions) (not render-context-lost?) (not save-locked?))
[:> tab-switcher* {:tabs options-tabs
:on-change on-option-tab-change
:selected (name options-mode)
diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs
index 3dbd22eabb..4c33772662 100644
--- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs
+++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs
@@ -7,7 +7,7 @@
(ns app.main.ui.workspace.sidebar.options.menus.svg-attrs
(:require-macros [app.main.style :as stl])
(:require
- [app.common.data :as d]
+ [app.common.svg :as csvg]
[app.main.data.workspace.shapes :as dwsh]
[app.main.store :as st]
[app.main.ui.components.title-bar :refer [title-bar*]]
@@ -41,7 +41,7 @@
(fn []
(on-delete attr)))
- label (->> attr last d/name)]
+ label (->> attr last csvg/stored-attr-display-name)]
[:*
(if (string? value)
[:div {:class (stl/css :attr-content)}
@@ -55,7 +55,7 @@
:icon i/remove}]]
[:div {:class (stl/css :attr-nested-content)}
[:div {:class (stl/css :attr-title)}
- (str (d/name (last attr)))]
+ (str (csvg/stored-attr-display-name (last attr)))]
(for [[key value] value]
[:div {:class (stl/css :attr-row) :key key}
[:> attribute-value* {:key key
diff --git a/frontend/src/app/main/ui/workspace/sidebar/versions.cljs b/frontend/src/app/main/ui/workspace/sidebar/versions.cljs
index 107c4d0885..2f5a4dcf5a 100644
--- a/frontend/src/app/main/ui/workspace/sidebar/versions.cljs
+++ b/frontend/src/app/main/ui/workspace/sidebar/versions.cljs
@@ -65,6 +65,9 @@
(tr "workspace.versions.warning.subtext" support-email))))
(defn- group-snapshots
+ "History entries of `data`: each pinned version, and the system
+ snapshots grouped by day, the copies kept before a repair apart from
+ the autosaves."
[data]
(->> (concat
(->> data
@@ -72,12 +75,15 @@
(map #(assoc % :type :version)))
(->> data
(filter #(= "system" (:created-by %)))
- (group-by #(ct/format-inst (:created-at %) :iso-date))
- (map (fn [[day entries]]
+ (group-by (juxt #(ct/format-inst (:created-at %) :iso-date)
+ #(if (dwv/repair-snapshot? %) :repair :autosave)))
+ (map (fn [[[day kind] entries]]
{:type :snapshot
+ :kind kind
:created-at (ct/inst day)
:snapshots entries}))))
- (sort-by :created-at)
+ ;; On the same day the copies before a repair come above the autosaves
+ (sort-by (juxt :created-at #(if (= :repair (:kind %)) 1 0)))
(map-indexed (fn [index item]
(assoc item :index index)))
(reverse)))
@@ -297,8 +303,10 @@
[:li {:ref entry-ref :class (stl/css :version-entry-wrap)}
[:> milestone-group*
- {:label (tr "workspace.versions.autosaved.version"
- (ct/format-inst (:created-at entry) :localized-date))
+ {:label (let [day (ct/format-inst (:created-at entry) :localized-date)]
+ (if (= :repair (:kind entry))
+ (tr "workspace.versions.repair.version" day)
+ (tr "workspace.versions.autosaved.version" day)))
:snapshots (mapv :created-at (:snapshots entry))
:on-menu-click on-open-snapshot-menu}]
diff --git a/frontend/src/app/main/ui/workspace/tokens/management/token_pill.cljs b/frontend/src/app/main/ui/workspace/tokens/management/token_pill.cljs
index d98c481028..a54a932e42 100644
--- a/frontend/src/app/main/ui/workspace/tokens/management/token_pill.cljs
+++ b/frontend/src/app/main/ui/workspace/tokens/management/token_pill.cljs
@@ -109,61 +109,59 @@
(str/join ", " (map attribute-dictionary values)) ".")))
grouped-values)))
-(defn- generate-tooltip
- "Generates a tooltip for a given token"
- [is-viewer shape theme-token token half-applied no-valid-value ref-not-in-active-set error-message]
- (let [{:keys [name type resolved-value value]} token
- resolved-value-theme (:resolved-value theme-token)
- resolved-value (or resolved-value-theme resolved-value)
- {:keys [title] :as token-props} (dwta/get-token-properties theme-token)
+(defn- tooltip-info
+ "For an invalid token the tooltip is only its error message. Otherwise
+ it shows the token's name and values and, for viewers, the attributes
+ of `shape` the token is applied to."
+ [token resolved-token shape state is-viewer]
+ (let [{:keys [name type value]} token
+ {:keys [is-half-applied has-missing-reference has-invalid-value
+ error-message]} state
+ resolved-value (or (:resolved-value resolved-token) (:resolved-value token))
+ {:keys [title] :as token-props} (dwta/get-token-properties resolved-token)
applied-tokens (:applied-tokens shape)
- app-token-vals (set (vals applied-tokens))
app-token-keys (keys applied-tokens)
- is-applied? (contains? app-token-vals name)
-
-
- applied-to (if half-applied
- (partially-applied-attr app-token-keys is-applied? token-props)
- (tr "labels.all"))
- grouped-values (group-by dimensions-dictionary app-token-keys)
-
- name-line
- (mf/html [:* (dm/str (tr "workspace.tokens.token-name") ": ")
- [:span {:class (stl/css :token-pill-tooltip-name)} name]])
-
- rest-of-title (dm/str (tr "workspace.tokens.original-value" (dwtf/format-token-value value)) "\n"
- (tr "workspace.tokens.resolved-value" (dwtf/format-token-value resolved-value))
- (when (= (:type token) :number)
- (dm/str "\n" (tr "workspace.tokens.more-options"))))]
+ is-applied (contains? (set (vals applied-tokens)) name)]
(cond
- ;; If there are errors, show the appropriate message
- ref-not-in-active-set
- (tr "workspace.tokens.ref-not-valid" name)
+ has-missing-reference
+ {:message (tr "workspace.tokens.ref-not-valid" name)}
error-message
- error-message
+ {:message error-message}
- no-valid-value
- (tr "workspace.tokens.value-not-valid")
+ has-invalid-value
+ {:message (tr "workspace.tokens.value-not-valid")}
- ;; If the token is applied and the user is a is-viewer, show the details
- (and is-applied? is-viewer)
- (mf/html
- [:*
- name-line
- [:div rest-of-title]
- [:div (tr "workspace.tokens.applied-to")]
- [:div (if (= :dimensions type)
- (translate-and-format grouped-values)
- (str "- " title ": " applied-to))]])
-
- ;; Otherwise only show the base title
:else
+ {:name name
+ :value (dwtf/format-token-value value)
+ :resolved-value (dwtf/format-token-value resolved-value)
+ :has-more-options (= type :number)
+ :applied-to
+ (when (and is-applied is-viewer)
+ (if (= :dimensions type)
+ (translate-and-format (group-by dimensions-dictionary app-token-keys))
+ (str "- " title ": "
+ (if is-half-applied
+ (partially-applied-attr app-token-keys is-applied token-props)
+ (tr "labels.all")))))})))
+
+(defn- render-tooltip
+ [{:keys [message name value resolved-value has-more-options applied-to]}]
+ (or message
(mf/html
[:*
- name-line
- [:div rest-of-title]]))))
+ (dm/str (tr "workspace.tokens.token-name") ": ")
+ [:span {:class (stl/css :token-pill-tooltip-name)} name]
+ [:div (dm/str (tr "workspace.tokens.original-value" value) "\n"
+ (tr "workspace.tokens.resolved-value" resolved-value)
+ (when has-more-options
+ (dm/str "\n" (tr "workspace.tokens.more-options"))))]
+ (when applied-to
+ [:*
+ [:div (tr "workspace.tokens.applied-to")]
+ [:div applied-to]])])))
;; FIXME: the token thould already have precalculated references, so
;; we don't need to perform this regex operation on each rerender
@@ -195,12 +193,69 @@
(def token-types-with-status-icon
#{:color :border-radius :rotation :sizing :dimensions :opacity :spacing :stroke-width})
+(defn- pill-state
+ "Works out whether the token is applied to the selection, partially
+ applied, disabled or invalid. Without a selection it counts as fully
+ applied."
+ [token active-theme-tokens selected-shapes is-selected-inside-layout]
+ (let [{:keys [name value type]} token
+ errors (:errors (get active-theme-tokens name))
+ has-selected (seq selected-shapes)
+ tokenscript (contains? cf/flags :tokenscript)
+
+ attributes
+ (as-> (get dwta/token-properties type) $
+ (d/nilv (:all-attributes $) (:attributes $)))
+
+ full-applied
+ (or (not has-selected)
+ (applied-all-attributes? token selected-shapes attributes))
+
+ applied
+ (boolean (and has-selected
+ (cfo/shapes-token-applied? token selected-shapes attributes)))
+
+ half-applied (and applied (not full-applied))
+
+ missing-reference
+ (boolean
+ (if tokenscript
+ (wte/has-error-code? :error.style-dictionary/missing-reference errors)
+ (and (cfo/is-reference? token)
+ (not (contains-reference-value? value active-theme-tokens)))))
+
+ name-collision
+ (= :error.token/name-collision (:error/code (first errors)))
+
+ invalid-value (boolean (seq errors))]
+
+ {:is-applied applied
+ :is-half-applied half-applied
+ :is-disabled
+ (boolean
+ (and has-selected
+ (not applied)
+ (not (attributes-match-selection?
+ selected-shapes attributes
+ {:selected-inside-layout? is-selected-inside-layout}))))
+ :has-missing-reference missing-reference
+ :has-invalid-value invalid-value
+ ;; Tokenscript errors carry their own message, as in the edit form.
+ :error-message
+ (when (and invalid-value (or tokenscript name-collision))
+ (wte/resolve-error-message (first errors)))
+ :has-errors (or missing-reference invalid-value)
+ :status-icon-id
+ (cond
+ half-applied "token-status-partial"
+ full-applied "token-status-full"
+ :else "token-status-non-applied")}))
+
(mf/defc token-pill*
{::mf/wrap [mf/memo]}
[{:keys [on-click token on-context-menu selected-shapes is-selected-inside-layout active-theme-tokens can-edit]}]
- (let [{:keys [name value type]} token
- resolved-token (get active-theme-tokens (:name token))
- errors (:errors resolved-token)
+ (let [{:keys [name type]} token
+ resolved-token (get active-theme-tokens name)
pill-ref (mf/use-ref nil)
pill-id (mf/use-id)
@@ -208,59 +263,14 @@
tooltip-content* (mf/use-state "")
tooltip-content (deref tooltip-content*)
- has-selected? (pos? (count selected-shapes))
- is-reference? (cfo/is-reference? token)
contains-path? (str/includes? name ".")
+ is-viewer? (not can-edit)
- attributes (as-> (get dwta/token-properties type) $
- (d/nilv (:all-attributes $) (:attributes $)))
-
- full-applied?
- (if has-selected?
- (applied-all-attributes? token selected-shapes attributes)
- true)
-
- applied?
- (if has-selected?
- (cfo/shapes-token-applied? token selected-shapes attributes)
- false)
-
- half-applied?
- (and applied? (not full-applied?))
-
- disabled? (and
- has-selected?
- (not applied?)
- (not half-applied?)
- (not (attributes-match-selection? selected-shapes attributes {:selected-inside-layout? is-selected-inside-layout})))
-
-
- is-viewer? (not can-edit)
-
- tokenscript? (contains? cf/flags :tokenscript)
-
- ref-not-in-active-set
- (if tokenscript?
- (wte/has-error-code? :error.style-dictionary/missing-reference errors)
- (and is-reference?
- (not (contains-reference-value? value active-theme-tokens))))
-
- name-collision (->> errors
- (first)
- (:error/code)
- (= :error.token/name-collision))
-
- no-valid-value (seq errors)
-
- ;; Tokenscript errors carry their own message, as in the edit form.
- error-message
- (when (and no-valid-value (or tokenscript? name-collision))
- (wte/resolve-error-message (first errors)))
-
- errors?
- (or ref-not-in-active-set
- no-valid-value
- name-collision)
+ {:keys [is-applied is-disabled has-invalid-value error-message
+ has-errors status-icon-id]
+ :as state}
+ (mf/with-memo [token active-theme-tokens selected-shapes is-selected-inside-layout]
+ (pill-state token active-theme-tokens selected-shapes is-selected-inside-layout))
color
(when (cfo/color-token? token)
@@ -269,23 +279,6 @@
status-icon? (contains? token-types-with-status-icon type)
- on-click
- (mf/use-fn
- (mf/deps errors? on-click token)
- (fn [event]
- (dom/stop-propagation event)
- (when (and (not (seq errors)) on-click)
- (on-click event token))))
-
- token-status-id
- (cond
- half-applied?
- "token-status-partial"
- full-applied?
- "token-status-full"
- :else
- "token-status-non-applied")
-
on-context-menu
(mf/use-fn
(mf/deps can-edit on-context-menu token)
@@ -296,20 +289,19 @@
on-click
(mf/use-fn
- (mf/deps errors? on-click can-edit)
+ (mf/deps can-edit has-invalid-value on-click token)
(fn [event]
(dom/stop-propagation event)
- (when (and can-edit (not (seq errors)) on-click)
- (on-click event))))
+ (when (and can-edit (not has-invalid-value) on-click)
+ (on-click event token))))
on-hover
(mf/use-fn
- (mf/deps selected-shapes is-viewer? active-theme-tokens token half-applied? no-valid-value ref-not-in-active-set error-message)
+ (mf/deps token resolved-token selected-shapes state is-viewer?)
(fn [_]
- (let [theme-token (get active-theme-tokens name)
- title (generate-tooltip is-viewer? (first selected-shapes) theme-token token
- half-applied? no-valid-value ref-not-in-active-set error-message)]
- (reset! tooltip-content* title))))
+ (->> (tooltip-info token resolved-token (first selected-shapes) state is-viewer?)
+ (render-tooltip)
+ (reset! tooltip-content*))))
;; `tooltip-content` may hold rich (hiccup) content, so it's wrapped
;; in a function to satisfy the tooltip's `:content` schema; this
@@ -326,20 +318,20 @@
[:button {:ref pill-ref
:class (stl/css-case
:token-pill true
- :token-pill-no-icon (and (not status-icon?) (not errors?))
+ :token-pill-no-icon (and (not status-icon?) (not has-errors))
:token-pill-default can-edit
- :token-pill-disabled disabled?
- :token-pill-applied (and can-edit applied?)
- :token-pill-invalid (and can-edit errors?)
- :token-pill-invalid-applied (and applied? errors? can-edit)
+ :token-pill-disabled is-disabled
+ :token-pill-applied (and can-edit is-applied)
+ :token-pill-invalid (and can-edit has-errors)
+ :token-pill-invalid-applied (and is-applied has-errors can-edit)
:token-pill-viewer is-viewer?
:token-pill-applied-viewer (and is-viewer?
- applied?)
+ is-applied)
:token-pill-invalid-viewer (and is-viewer?
- errors?)
+ has-errors)
:token-pill-invalid-applied-viewer (and is-viewer?
- applied?))
+ is-applied))
:id (str "token-pill-" (:id token))
:type "button"
:on-focus on-hover
@@ -349,7 +341,7 @@
:on-context-menu on-context-menu}
(cond
- errors?
+ has-errors
[:> icon*
{:icon-id i/broken-link
:class (stl/css :token-pill-icon)
@@ -362,7 +354,7 @@
status-icon?
[:> token-status-icon*
- {:icon-id token-status-id
+ {:icon-id status-icon-id
:class (stl/css :token-pill-icon)}])
(if contains-path?
diff --git a/frontend/src/app/main/ui/workspace/viewport.cljs b/frontend/src/app/main/ui/workspace/viewport.cljs
index ad3e1b987f..9c3fcb77fd 100644
--- a/frontend/src/app/main/ui/workspace/viewport.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport.cljs
@@ -538,7 +538,9 @@
{:bounds vbox
:selected-shapes selected-shapes
:frame selected-frame
- :hover-shape @measure-hover
+ ;; The current shape: a rollback may have removed or changed it
+ ;; since the pointer last moved
+ :hover-shape (some->> @measure-hover :id (get base-objects))
:zoom zoom}])
;; Show distances during movement with ALT
diff --git a/frontend/src/app/main/ui/workspace/viewport/grid_layout_editor.cljs b/frontend/src/app/main/ui/workspace/viewport/grid_layout_editor.cljs
index 2f92b9e19e..c92f565ea3 100644
--- a/frontend/src/app/main/ui/workspace/viewport/grid_layout_editor.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport/grid_layout_editor.cljs
@@ -180,6 +180,12 @@
(when on-drag-delta (on-drag-delta event (gpt/to-vec start pos)))
(when on-drag-position (on-drag-position event pt))))))]
+ ;; Unmounted mid-drag, as when saves fail and edition ends, the drag
+ ;; never gets its release: its preview is dropped and nothing is committed
+ (mf/with-effect []
+ #(when (mf/ref-val dragging-ref)
+ (st/emit! (dwt/cancel-transform))))
+
{:handle-pointer-down handle-pointer-down
:handle-lost-pointer-capture handle-lost-pointer-capture
:handle-pointer-move handle-pointer-move}))
diff --git a/frontend/src/app/main/ui/workspace/viewport/guides.cljs b/frontend/src/app/main/ui/workspace/viewport/guides.cljs
index 69e0df5a31..47dae84486 100644
--- a/frontend/src/app/main/ui/workspace/viewport/guides.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport/guides.cljs
@@ -184,6 +184,16 @@
:new-position new-position
:new-frame-id new-frame-id))))))]
+ ;; A drag in progress when the workspace turns read-only (saves fail)
+ ;; is dropped, so the guide goes back and its release changes nothing
+ (mf/with-effect [read-only?]
+ (when read-only?
+ (mf/set-ref-val! dragging-ref false)
+ (mf/set-ref-val! start-ref nil)
+ (mf/set-ref-val! start-pos-ref nil)
+ (when (some? (:new-position @state))
+ (swap! state assoc :new-position nil))))
+
{:on-pointer-enter on-pointer-enter
:on-pointer-leave on-pointer-leave
:on-pointer-down on-pointer-down
diff --git a/frontend/src/app/main/ui/workspace/viewport/path_actions.cljs b/frontend/src/app/main/ui/workspace/viewport/path_actions.cljs
index 2ec5a82d17..c9981b0f6c 100644
--- a/frontend/src/app/main/ui/workspace/viewport/path_actions.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport/path_actions.cljs
@@ -11,53 +11,21 @@
[app.main.data.workspace.path.helpers :as path.helpers]
[app.main.data.workspace.path.shortcuts :as sc]
[app.main.store :as st]
- [app.main.ui.icons :as deprecated-icon]
+ [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]]
[app.util.timers :as ts]
[rumext.v2 :as mf]))
-(def ^:private pentool-icon
- (deprecated-icon/icon-xref :pentool (stl/css :pentool-icon :pathbar-icon)))
-
-(def ^:private move-icon
- (deprecated-icon/icon-xref :move (stl/css :move-icon :pathbar-icon)))
-
-(def ^:private merge-nodes-icon
- (deprecated-icon/icon-xref :merge-nodes (stl/css :merge-nodes-icon :pathbar-icon)))
-
-(def ^:private join-nodes-icon
- (deprecated-icon/icon-xref :join-nodes (stl/css :join-nodes-icon :pathbar-icon)))
-
-(def ^:private separate-nodes-icon
- (deprecated-icon/icon-xref :separate-nodes (stl/css :separate-nodes-icon :pathbar-icon)))
-
-(def ^:private to-corner-icon
- (deprecated-icon/icon-xref :to-corner (stl/css :to-corner-icon :pathbar-icon)))
-
-(def ^:private to-curve-icon
- (deprecated-icon/icon-xref :to-curve (stl/css :to-curve-icon :pathbar-icon)))
-
-(def ^:private snap-icon
- (deprecated-icon/icon-xref :snap (stl/css :snap-icon :pathbar-icon)))
-
;; Handler behavior icons: mirror, aligned, and independent.
-(def ^:private handler-mirror-icon
- (deprecated-icon/icon-xref :handlers-equal (stl/css :pathbar-icon)))
-
-(def ^:private handler-aligned-icon
- (deprecated-icon/icon-xref :handlers-mirror (stl/css :pathbar-icon)))
-
-(def ^:private handler-independent-icon
- (deprecated-icon/icon-xref :handlers-independent (stl/css :pathbar-icon)))
-
(defn- handler-type-icon [type]
(case type
- :mirror handler-mirror-icon
- :aligned handler-aligned-icon
- :independent handler-independent-icon
+ :mirror i/handlers-equal
+ :aligned i/handlers-mirror
+ :independent i/handlers-independent
;; Use the independent icon for mixed selections.
- :mixed handler-independent-icon
- handler-independent-icon))
+ :mixed i/handlers-independent
+ i/handlers-independent))
(defn toolbar-group-visibility
[structural-visible? shape-visible? handler-visible?]
@@ -69,11 +37,11 @@
(mf/defc topbar-button*
"A path node action button."
{::mf/private true}
- [{:keys [title on-click icon]}]
- [:button {:class (stl/css :topbar-btn)
- :title title
- :on-click on-click}
- icon])
+ [props]
+ (let [props (mf/spread-props props {:variant "ghost"
+ :tooltip-placement "bottom"
+ :tooltip-class (stl/css :topbar-btn)})]
+ [:> icon-button* props]))
(defn- cancel-timer!
[timer-ref*]
@@ -144,31 +112,31 @@
[:div {:class (stl/css :handler-menu)
:on-pointer-enter on-display-menu
:on-pointer-leave on-hide-menu}
- [:button {:class (stl/css :topbar-btn :handler-trigger)
- :title (tr "workspace.path.actions.handler-type")
- :aria-haspopup true
- :aria-expanded open?
- :on-click on-trigger-click}
- (handler-type-icon active-type)
- [:svg {:view-box "0 0 6 6"
- :aria-hidden true
- :class (stl/css :flyout-indicator)}
- [:path {:d "M4,2 L4,3.15 C4,3.62 3.62,4 3.15,4 L2,4"
- :stroke-linecap "round"}]]]
+ ;; Like the top toolbar flyouts: the menu opens on hover, so the
+ ;; trigger has no tooltip.
+ [:> icon-button* {:variant "ghost"
+ :class (stl/css :topbar-btn)
+ :flyout-indicator true
+ :has-tooltip false
+ :aria-label (tr "workspace.path.actions.handler-type")
+ :aria-haspopup true
+ :aria-expanded open?
+ :icon (handler-type-icon active-type)
+ :on-click on-trigger-click}]
[:div {:class (stl/css-case :handler-popover true :open open?)
:data-dont-clear-path true}
- [:button {:class (stl/css-case :is-toggled (= active-type :mirror) :topbar-btn true)
- :title (tr "workspace.path.actions.handler-mirror")
- :on-click #(select :mirror)}
- handler-mirror-icon]
- [:button {:class (stl/css-case :is-toggled (= active-type :aligned) :topbar-btn true)
- :title (tr "workspace.path.actions.handler-aligned")
- :on-click #(select :aligned)}
- handler-aligned-icon]
- [:button {:class (stl/css-case :is-toggled (= active-type :independent) :topbar-btn true)
- :title (tr "workspace.path.actions.handler-independent")
- :on-click #(select :independent)}
- handler-independent-icon]]]))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.handler-mirror")
+ :aria-pressed (= active-type :mirror)
+ :icon (handler-type-icon :mirror)
+ :on-click #(select :mirror)}]
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.handler-aligned")
+ :aria-pressed (= active-type :aligned)
+ :icon (handler-type-icon :aligned)
+ :on-click #(select :aligned)}]
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.handler-independent")
+ :aria-pressed (= active-type :independent)
+ :icon (handler-type-icon :independent)
+ :on-click #(select :independent)}]]]))
(mf/defc path-actions*
[{:keys [shape state]}]
@@ -266,14 +234,14 @@
:data-dont-clear-path true}
;; Mode: draw / move (always visible)
[:div {:class (stl/css :sub-actions-group)}
- [:button {:class (stl/css-case :is-toggled (= edit-mode :draw) :topbar-btn true)
- :title (tr "workspace.path.actions.draw-nodes" (sc/get-tooltip :draw-nodes))
- :on-click on-select-draw-mode}
- pentool-icon]
- [:button {:class (stl/css-case :is-toggled (= edit-mode :move) :topbar-btn true)
- :title (tr "workspace.path.actions.move-nodes" (sc/get-tooltip :move-nodes))
- :on-click on-select-edit-mode}
- move-icon]]
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.draw-nodes" (sc/get-tooltip :draw-nodes))
+ :aria-pressed (= edit-mode :draw)
+ :icon i/pentool
+ :on-click on-select-draw-mode}]
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.move-nodes" (sc/get-tooltip :move-nodes))
+ :aria-pressed (= edit-mode :move)
+ :icon i/move
+ :on-click on-select-edit-mode}]]
[:div {:class (stl/css :separator)}]
@@ -281,17 +249,17 @@
(when structural-visible?
[:div {:class (stl/css :sub-actions-group)}
(when (:merge-nodes enabled-buttons)
- [:> topbar-button* {:title (tr "workspace.path.actions.merge-nodes" (sc/get-tooltip :merge-nodes))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.merge-nodes" (sc/get-tooltip :merge-nodes))
:on-click on-merge-nodes
- :icon merge-nodes-icon}])
+ :icon i/merge-nodes}])
(when (:join-nodes enabled-buttons)
- [:> topbar-button* {:title (tr "workspace.path.actions.join-nodes" (sc/get-tooltip :join-nodes))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.join-nodes" (sc/get-tooltip :join-nodes))
:on-click on-join-nodes
- :icon join-nodes-icon}])
+ :icon i/join-nodes}])
(when (:separate-nodes enabled-buttons)
- [:> topbar-button* {:title (tr "workspace.path.actions.separate-nodes" (sc/get-tooltip :separate-nodes))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.separate-nodes" (sc/get-tooltip :separate-nodes))
:on-click on-separate-nodes
- :icon separate-nodes-icon}])])
+ :icon i/separate-nodes}])])
(when node-groups-separator-visible?
[:div {:class (stl/css :separator)}])
@@ -300,13 +268,13 @@
(when shape-visible?
[:div {:class (stl/css :sub-actions-group)}
(when (:make-corner enabled-buttons)
- [:> topbar-button* {:title (tr "workspace.path.actions.make-corner" (sc/get-tooltip :make-corner))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.make-corner" (sc/get-tooltip :make-corner))
:on-click on-make-corner
- :icon to-corner-icon}])
+ :icon i/to-corner}])
(when (:make-curve enabled-buttons)
- [:> topbar-button* {:title (tr "workspace.path.actions.make-curve" (sc/get-tooltip :make-curve))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.make-curve" (sc/get-tooltip :make-curve))
:on-click on-make-curve
- :icon to-curve-icon}])])
+ :icon i/to-curve}])])
;; Handler behaviour of the selected node(s)
(when handler-visible?
@@ -318,7 +286,7 @@
;; Toggle snap (always visible, pinned to the right)
[:div {:class (stl/css :sub-actions-group :snap-group)}
- [:button {:class (stl/css-case :is-toggled snap-toggled :topbar-btn true)
- :title (tr "workspace.path.actions.snap-nodes" (sc/get-tooltip :snap-nodes))
- :on-click on-toggle-snap}
- snap-icon]]]))
+ [:> topbar-button* {:aria-label (tr "workspace.path.actions.snap-nodes" (sc/get-tooltip :snap-nodes))
+ :aria-pressed (boolean snap-toggled)
+ :icon i/snap
+ :on-click on-toggle-snap}]]]))
diff --git a/frontend/src/app/main/ui/workspace/viewport/path_actions.scss b/frontend/src/app/main/ui/workspace/viewport/path_actions.scss
index 2bca2d1a11..6c3bf1e0c7 100644
--- a/frontend/src/app/main/ui/workspace/viewport/path_actions.scss
+++ b/frontend/src/app/main/ui/workspace/viewport/path_actions.scss
@@ -4,7 +4,6 @@
//
// Copyright (c) KALEIDOS SUBSIDIARY SL
-@use "refactor/common-refactor.scss" as deprecated;
@use "ds/_borders.scss" as *;
@use "ds/_sizes.scss" as *;
@@ -12,20 +11,22 @@
cursor: initial;
pointer-events: initial;
position: absolute;
+
+ // top and height stay physical: the transition below names them.
top: var(--sp-xl);
- left: 50%;
+ inset-inline-start: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
justify-content: flex-start;
// Keep the bar stable as actions change.
- width: $sz-430;
+ inline-size: $sz-430;
height: $sz-48;
padding: var(--sp-s);
border-radius: $br-8;
gap: var(--sp-s);
- border: $b-2 solid var(--panel-border-color);
+ border: $b-2 solid var(--color-background-quaternary);
z-index: var(--z-index-panels);
background-color: var(--color-background-primary);
transition:
@@ -45,15 +46,15 @@
// Pin the snap toggle to the right.
.snap-group {
- margin-left: auto;
+ margin-inline-start: auto;
}
.separator {
flex-shrink: 0;
- width: $sz-1;
- height: $sz-24;
+ inline-size: $sz-1;
+ block-size: $sz-24;
margin: 0 var(--sp-xs);
- background-color: var(--panel-border-color);
+ background-color: var(--color-background-quaternary);
}
.handler-menu {
@@ -62,34 +63,17 @@
align-items: center;
}
-// Handler behavior flyout trigger.
-.handler-trigger {
- position: relative;
-}
-
-// Flyout corner indicator.
-.flyout-indicator {
- position: absolute;
- inset-block-end: var(--sp-xs);
- inset-inline-end: var(--sp-xs);
- inline-size: $sz-6;
- block-size: $sz-6;
- stroke: var(--pathbar-icon-color);
- fill: none;
- pointer-events: none;
-}
-
.handler-popover {
position: absolute;
- top: calc(100% + var(--sp-s));
- left: 50%;
+ inset-block-start: calc(100% + var(--sp-s));
+ inset-inline-start: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
padding: var(--sp-xs);
gap: var(--sp-xxs);
border-radius: $br-8;
- border: $b-2 solid var(--panel-border-color);
+ border: $b-2 solid var(--color-background-quaternary);
background-color: var(--color-background-primary);
z-index: var(--z-index-dropdown);
@@ -109,28 +93,6 @@
}
.topbar-btn {
- --pathbar-icon-color: var(--color-foreground-secondary);
- --button-tertiary-background-color-hover: var(--color-background-tertiary);
-
- @extend %button-tertiary;
-
- height: $sz-32;
- width: $sz-32;
flex-shrink: 0;
- background-color: transparent;
- border-radius: $br-8;
- border: none;
margin: 0 var(--sp-xxs);
-
- &.is-toggled {
- --pathbar-icon-color: var(--button-radio-foreground-color-active);
-
- background-color: var(--button-radio-background-color-active);
- }
-
- .pathbar-icon {
- @extend %button-icon;
-
- stroke: var(--pathbar-icon-color);
- }
}
diff --git a/frontend/src/app/main/ui/workspace/viewport/top_bar.cljs b/frontend/src/app/main/ui/workspace/viewport/top_bar.cljs
index 7f59804825..bc0c0b0e61 100644
--- a/frontend/src/app/main/ui/workspace/viewport/top_bar.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport/top_bar.cljs
@@ -7,6 +7,7 @@
(ns app.main.ui.workspace.viewport.top-bar
(:require-macros [app.main.style :as stl])
(:require
+ [app.main.data.persistence :as dps]
[app.main.data.workspace :as dw]
[app.main.data.workspace.common :as dwc]
[app.main.refs :as refs]
@@ -29,18 +30,36 @@
(st/emit! :interrupt
(dw/set-options-mode :design)
(dwc/set-workspace-read-only false))))
- render-context-lost? (mf/deref refs/render-context-lost?)]
- [:div {:class (stl/css :viewport-actions)}
+ render-context-lost? (mf/deref refs/render-context-lost?)
+ save-locked? (some? (mf/deref refs/persistence-lock))
+ persistence (mf/deref refs/persistence)]
+ [:div {:class (stl/css-case :viewport-actions true
+ :viewport-actions-save-failed save-locked?)}
[:div {:class (stl/css :viewport-actions-container)}
- [:div {:class (stl/css :viewport-actions-title)}
+ [:div {:class (stl/css :viewport-actions-title)
+ :role (when save-locked? "status")}
[:> i18n/tr-html*
{:tag-name "span"
- :content (if render-context-lost?
+ :content (cond
+ save-locked?
+ (if (dps/save-retrying? persistence)
+ (tr "workspace.save-failure.retrying")
+ (tr "workspace.save-failure.stopped"))
+
+ render-context-lost?
(tr "workspace.top-bar.webgl-context-lost")
+
+ :else
(tr "workspace.top-bar.view-only"))}]]
- (if render-context-lost?
+ (cond
+ save-locked?
+ nil
+
+ render-context-lost?
[:> button* {:variant "primary" :on-click (fn [] (js/location.reload))}
(tr "workspace.top-bar.webgl-context-lost.reload")]
+
+ :else
[:> button* {:on-click on-close}
(tr "workspace.top-bar.read-only.done")])]]))
diff --git a/frontend/src/app/main/ui/workspace/viewport/top_bar.scss b/frontend/src/app/main/ui/workspace/viewport/top_bar.scss
index 07eb526fa0..2bb577514b 100644
--- a/frontend/src/app/main/ui/workspace/viewport/top_bar.scss
+++ b/frontend/src/app/main/ui/workspace/viewport/top_bar.scss
@@ -52,6 +52,26 @@
color: var(--color-foreground-secondary);
padding-inline-start: var(--sp-s);
inline-size: max-content;
+
+ strong {
+ font-weight: 700;
+ }
+}
+
+.viewport-actions-save-failed {
+ inline-size: max-content;
+ min-inline-size: min(#{$sz-400}, calc(100% - var(--sp-xl)));
+ max-inline-size: calc(100% - var(--sp-xl));
+
+ .viewport-actions-container {
+ block-size: auto;
+ min-block-size: $sz-48;
+ min-inline-size: 0;
+ }
+
+ .viewport-actions-title {
+ inline-size: auto;
+ }
}
.viewport-actions-no-rulers {
diff --git a/frontend/src/app/main/ui/workspace/viewport_wasm.cljs b/frontend/src/app/main/ui/workspace/viewport_wasm.cljs
index e338f2366b..cfa1a3d38d 100644
--- a/frontend/src/app/main/ui/workspace/viewport_wasm.cljs
+++ b/frontend/src/app/main/ui/workspace/viewport_wasm.cljs
@@ -835,7 +835,9 @@
{:bounds vbox
:selected-shapes selected-shapes
:frame selected-frame
- :hover-shape @measure-hover
+ ;; The current shape: a rollback may have removed or changed it
+ ;; since the pointer last moved
+ :hover-shape (some->> @measure-hover :id (get base-objects))
:zoom zoom}])
(when show-padding?
diff --git a/frontend/src/app/plugins/api.cljs b/frontend/src/app/plugins/api.cljs
index c2a745cf13..92ca262da5 100644
--- a/frontend/src/app/plugins/api.cljs
+++ b/frontend/src/app/plugins/api.cljs
@@ -65,6 +65,7 @@
;;
(defn create-shape
[plugin-id type]
+ (r/check-writable)
(let [page (dsh/lookup-page @st/state)
shape (cts/setup-shape {:type type
:x 0 :y 0
@@ -205,6 +206,7 @@
:replaceColor
(fn [shapes old-color new-color]
+ (r/check-writable)
(let [old-color (parser/parse-color-data old-color)
new-color (parser/parse-color-data new-color)]
(cond
@@ -261,6 +263,7 @@
:uploadMediaUrl
(fn [name url]
+ (r/check-writable)
(cond
(not (string? name))
(u/not-valid plugin-id :uploadMedia-name name)
@@ -274,12 +277,15 @@
(fn [resolve reject]
(->> (dwm/upload-media-url name file-id url)
(rx/take 1)
+ ;; Saves may have failed while the upload ran
+ (rx/tap (fn [_] (r/check-writable)))
(rx/map format/format-image)
(rx/tap #(st/emit! (se/event plugin-id "add-media")))
(rx/subs! resolve reject)))))))
:uploadMediaData
(fn [name data mime-type]
+ (r/check-writable)
(let [file-id (:current-file-id @st/state)]
(js/Promise.
(fn [resolve reject]
@@ -307,12 +313,15 @@
:on-image identity
:on-svg identity})
(rx/take 1)
+ ;; Saves may have failed while the upload ran
+ (rx/tap (fn [_] (r/check-writable)))
(rx/map format/format-image)
(rx/tap #(st/emit! (se/event plugin-id "add-media")))
(rx/subs! resolve reject))))))
:group
(fn [shapes]
+ (r/check-writable)
(let [valid-shapes? (and (array? shapes) (every? shape/shape-proxy? shapes))
file-id (:current-file-id @st/state)
page-id (:current-page-id @st/state)
@@ -343,6 +352,7 @@
:ungroup
(fn [group & rest]
+ (r/check-writable)
(let [valid-group? (shape/shape-proxy? group)
valid-rest? (every? shape/shape-proxy? rest)
shapes (when (and valid-group? valid-rest?) (concat [group] rest))
@@ -382,6 +392,7 @@
:createPath
(fn []
+ (r/check-writable)
(let [page (dsh/lookup-page @st/state)
shape (cts/setup-shape
{:type :path
@@ -399,6 +410,7 @@
:createText
(fn [text]
+ (r/check-writable)
(cond
(not (string? text))
(u/not-valid plugin-id :createText text)
@@ -436,6 +448,7 @@
:createShapeFromSvg
(fn [svg-string]
+ (r/check-writable)
(cond
(not (dwm/valid-svg-string? svg-string))
(u/not-valid plugin-id :createShapeFromSvg svg-string)
@@ -450,6 +463,7 @@
:createShapeFromSvgWithImages
(fn [svg-string]
+ (r/check-writable)
(js/Promise.
(fn [resolve reject]
(cond
@@ -464,12 +478,15 @@
page-id (:current-page-id @st/state)]
(st/emit! (dwm/create-svg-shape-with-images
file-id id "svg" svg-string (gpt/point 0 0)
- #(resolve (shape/shape-proxy plugin-id file-id page-id id))
- reject)
+ {;; Saves may have failed while the images uploaded
+ :check-writable r/check-writable
+ :on-success #(resolve (shape/shape-proxy plugin-id file-id page-id id))
+ :on-error reject})
(se/event plugin-id "create-shape" :type :text)))))))
:createBoolean
(fn [bool-type shapes]
+ (r/check-writable)
(let [bool-type (keyword bool-type)]
(cond
(not (contains? cts/bool-types bool-type))
@@ -599,6 +616,7 @@
:createPage
(fn []
+ (r/check-writable)
(let [file-id (:current-file-id @st/state)
id (uuid/next)]
(st/emit! (-> (dw/create-page {:page-id id :file-id file-id})
@@ -636,6 +654,7 @@
:alignHorizontal
(fn [shapes direction]
+ (r/check-writable)
(let [dir (case direction
"left" :hleft
"center" :hcenter
@@ -654,6 +673,7 @@
:alignVertical
(fn [shapes direction]
+ (r/check-writable)
(let [dir (case direction
"top" :vtop
"center" :vcenter
@@ -672,6 +692,7 @@
:distributeHorizontal
(fn [shapes]
+ (r/check-writable)
(cond
(or (not (array? shapes)) (not (every? shape/shape-proxy? shapes)))
(u/not-valid plugin-id :distributeHorizontal-shapes "Not valid shapes")
@@ -682,6 +703,7 @@
:distributeVertical
(fn [shapes]
+ (r/check-writable)
(cond
(or (not (array? shapes)) (not (every? shape/shape-proxy? shapes)))
(u/not-valid plugin-id :distributeVertical-shapes "Not valid shapes")
@@ -692,6 +714,7 @@
:flatten
(fn [shapes]
+ (r/check-writable)
(cond
(or (not (array? shapes)) (not (every? shape/shape-proxy? shapes)))
(u/not-valid plugin-id :flatten-shapes "Not valid shapes")
@@ -707,6 +730,7 @@
:createVariantFromComponents
(fn [shapes]
+ (r/check-writable)
(cond
(or (not (array? shapes))
(not (seq shapes))
diff --git a/frontend/src/app/plugins/events.cljs b/frontend/src/app/plugins/events.cljs
index 51ac7c596f..389e700a4c 100644
--- a/frontend/src/app/plugins/events.cljs
+++ b/frontend/src/app/plugins/events.cljs
@@ -8,6 +8,7 @@
(:require
[app.common.data.macros :as dm]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence :as dps]
[app.main.store :as st]
[app.plugins.file :as file]
[app.plugins.management :as management]
@@ -16,7 +17,9 @@
[app.plugins.shape :as shape]
[app.util.object :as obj]
[app.util.theme :as theme]
- [goog.functions :as gf]))
+ [beicon.v2.core :as rx]
+ [goog.functions :as gf]
+ [potok.v2.core :as ptk]))
(defmulti handle-state-change (fn [type _ _ _ _] type))
@@ -111,6 +114,25 @@
[props]
{:shape-id (-> (obj/get props "shapeId") parser/parse-id)})
+;; Stream subscriptions of the listeners that follow events, not state
+(defonce ^:private subscriptions (atom {}))
+
+(defn- format-rollback
+ [{:keys [file-ids page-ids shape-ids]}]
+ #js {:fileIds (apply array (map str file-ids))
+ :pageIds (apply array (map str page-ids))
+ :shapeIds (apply array (map str shape-ids))})
+
+(defn- subscribe-rollbacks
+ "Calls `callback` after each rollback of rejected changes, once the
+ reverted data is in the state. Not debounced: every rollback counts."
+ [callback]
+ (->> st/stream
+ (rx/filter (ptk/type? ::dps/rolled-back))
+ (rx/map (comp format-rollback deref))
+ (rx/observe-on :async)
+ (rx/subs! callback)))
+
(defn add-listener
[type plugin-id callback props]
(let [plugin-id (parser/parse-id plugin-id)
@@ -131,23 +153,28 @@
;; We also debounce the callbacks so we don't get too many at the same time
debounced-callback (gf/debounce safe-callback 10)]
- (add-watch
- st/state key
- (fn [_ _ old-val new-val]
- ;; The store notifies its watches with a plain iteration: a throw
- ;; here starves the watches registered after this one.
- (try
- (let [result (handle-state-change type plugin-id old-val new-val props)]
- (when (not= ::not-changed result)
- (if (contains? #{"workspacechange" "logout"} type)
- (safe-callback result)
- (debounced-callback result))))
- (catch :default cause
- (.error js/console cause)))))
+ (if (= "contentrollback" type)
+ (swap! subscriptions assoc key (subscribe-rollbacks safe-callback))
+ (add-watch
+ st/state key
+ (fn [_ _ old-val new-val]
+ ;; The store notifies its watches with a plain iteration: a throw
+ ;; here starves the watches registered after this one.
+ (try
+ (let [result (handle-state-change type plugin-id old-val new-val props)]
+ (when (not= ::not-changed result)
+ (if (contains? #{"workspacechange" "logout"} type)
+ (safe-callback result)
+ (debounced-callback result))))
+ (catch :default cause
+ (.error js/console cause))))))
;; return the generated key
key))
(defn remove-listener
[key]
+ (when-let [subscription (get @subscriptions key)]
+ (rx/dispose! subscription)
+ (swap! subscriptions dissoc key))
(remove-watch st/state key))
diff --git a/frontend/src/app/plugins/flex.cljs b/frontend/src/app/plugins/flex.cljs
index 57bf9f1953..0b5f9243b2 100644
--- a/frontend/src/app/plugins/flex.cljs
+++ b/frontend/src/app/plugins/flex.cljs
@@ -358,6 +358,9 @@
(not (r/check-permission plugin-id "content:write"))
(u/not-valid plugin-id :appendChild "Plugin doesn't have 'content:write' permission")
+ (u/non-main-into-variant-container? shape child)
+ (u/not-valid plugin-id :appendChild "Only main instances can be added to a variant container")
+
:else
(st/emit!
(dwsh/relocate-shapes #{child-id} id index)
diff --git a/frontend/src/app/plugins/grid.cljs b/frontend/src/app/plugins/grid.cljs
index f15980bf2a..8860aa5d58 100644
--- a/frontend/src/app/plugins/grid.cljs
+++ b/frontend/src/app/plugins/grid.cljs
@@ -574,6 +574,9 @@
(u/changes-component-copy-structure? objects shape child-shape)
(u/not-valid plugin-id :appendChild "Cannot change the structure of a component copy")
+ (u/non-main-into-variant-container? shape child)
+ (u/not-valid plugin-id :appendChild "Only main instances can be added to a variant container")
+
:else
(st/emit! (dwt/move-shapes-to-frame #{child-id} id nil [row column])
(ptk/data-event :layout/update {:ids [id]})))))))
diff --git a/frontend/src/app/plugins/history.cljs b/frontend/src/app/plugins/history.cljs
index 68eb122506..54996cddee 100644
--- a/frontend/src/app/plugins/history.cljs
+++ b/frontend/src/app/plugins/history.cljs
@@ -20,10 +20,12 @@
(obj/reify {:name "HistorySubcontext"}
:$plugin {:enumerable false :get (fn [] plugin-id)}
+ ;; Undo blocks write nothing, so they work in a read-only workspace:
+ ;; a block opened before a lock can still be closed
:undoBlockBegin
(fn []
(cond
- (not (r/check-permission plugin-id "content:write"))
+ (not (r/has-permission? plugin-id "content:write"))
(u/not-valid plugin-id :resize "Plugin doesn't have 'content:write' permission")
:else
@@ -34,7 +36,7 @@
:undoBlockFinish
(fn [block-id]
(cond
- (not (r/check-permission plugin-id "content:write"))
+ (not (r/has-permission? plugin-id "content:write"))
(u/not-valid plugin-id :resize "Plugin doesn't have 'content:write' permission")
(not block-id)
diff --git a/frontend/src/app/plugins/library.cljs b/frontend/src/app/plugins/library.cljs
index be94b45249..faec7fad16 100644
--- a/frontend/src/app/plugins/library.cljs
+++ b/frontend/src/app/plugins/library.cljs
@@ -936,7 +936,7 @@
:else
(let [id-ref (atom nil)]
- (st/emit! (-> (dwl/instantiate-component file-id id (gpt/point 0 0) {:id-ref id-ref :origin "plugin"})
+ (st/emit! (-> (dwl/instantiate-component file-id id (gpt/point 0 0) {:id-ref id-ref :origin "plugin" :frame-id uuid/zero})
(se/add-event plugin-id)))
(shape/shape-proxy plugin-id @id-ref))))
@@ -1392,6 +1392,8 @@
team-id (:current-team-id @st/state)
library-id (uuid/parse library-id)]
(->> (rp/cmd! :get-team-shared-files {:team-id team-id})
+ ;; Saves may have failed while the list loaded
+ (rx/tap (fn [_] (r/check-writable)))
(rx/subs!
(fn [shared-files]
;; Only published libraries of the team can be linked
diff --git a/frontend/src/app/plugins/management.cljs b/frontend/src/app/plugins/management.cljs
index 727939b8b7..91671991f8 100644
--- a/frontend/src/app/plugins/management.cljs
+++ b/frontend/src/app/plugins/management.cljs
@@ -90,6 +90,13 @@
(when (<= 1 (count value) 250)
value))))
+(defn- granted?
+ "True when the plugin was granted `permission`. Management calls act on
+ files through the backend, not on the open workspace, so the workspace's
+ read-only state does not apply to them."
+ [plugin-id permission]
+ (r/has-permission? plugin-id permission))
+
(defn- permission-error
[permission]
(js/Error. (str "Permission " permission " is not granted")))
@@ -110,7 +117,7 @@
"Resolves with the single value of the stream built by `make-stream` when
the plugin has `permission`."
[plugin-id permission make-stream]
- (if (r/check-permission plugin-id permission)
+ (if (granted? plugin-id permission)
(js/Promise.
(fn [resolve reject]
(rx/subs! resolve #(reject (backend-error %)) (make-stream))))
@@ -294,7 +301,7 @@
(fn [value]
(let [name (valid-name value)]
(cond
- (not (r/check-permission plugin-id "manage:teams"))
+ (not (granted? plugin-id "manage:teams"))
(u/not-valid plugin-id :name "Plugin doesn't have 'manage:teams' permission")
(nil? name)
@@ -340,7 +347,7 @@
(fn [value]
(let [name (valid-name value)]
(cond
- (not (r/check-permission plugin-id "manage:projects"))
+ (not (granted? plugin-id "manage:projects"))
(u/not-valid plugin-id :name "Plugin doesn't have 'manage:projects' permission")
(nil? name)
@@ -355,7 +362,7 @@
:set
(fn [value]
(cond
- (not (r/check-permission plugin-id "manage:projects"))
+ (not (granted? plugin-id "manage:projects"))
(u/not-valid plugin-id :pinned "Plugin doesn't have 'manage:projects' permission")
(not (boolean? value))
@@ -465,7 +472,7 @@
(fn [value]
(let [name (valid-name value)]
(cond
- (not (r/check-permission plugin-id "content:write"))
+ (not (granted? plugin-id "content:write"))
(u/not-valid plugin-id :name "Plugin doesn't have 'content:write' permission")
(nil? name)
@@ -480,7 +487,7 @@
:set
(fn [value]
(cond
- (not (r/check-permission plugin-id "library:write"))
+ (not (granted? plugin-id "library:write"))
(u/not-valid plugin-id :shared "Plugin doesn't have 'library:write' permission")
(not (boolean? value))
@@ -492,7 +499,7 @@
:open
(fn []
- (if (r/check-permission plugin-id "content:read")
+ (if (granted? plugin-id "content:read")
(open-file (str (:id @data)) #js {:teamId (str (:team-id @data))})
(js/Promise.reject (permission-error "content:read"))))
diff --git a/frontend/src/app/plugins/register.cljs b/frontend/src/app/plugins/register.cljs
index 0c591eeb28..3c919eed50 100644
--- a/frontend/src/app/plugins/register.cljs
+++ b/frontend/src/app/plugins/register.cljs
@@ -25,7 +25,9 @@
(def mcp-permissions
#{"user:read" "library:read" "library:write"
"comment:read" "comment:write" "content:read" "content:write"
- "allow:global" "manage:projects" "manage:teams" "manage:delete"})
+ "allow:global" "manage:projects" "manage:teams" "manage:delete"
+ ;; Keeps the rollbacks not reported yet across reloads
+ "allow:localstorage"})
;; Promise that resolves when plugins runtime is initialized.
;; Lives here to avoid circular dependency: workspace.mcp -> app.plugins -> app.plugins.api -> workspace
@@ -270,7 +272,8 @@
(.error js/console "Rollback install failed:" err2))))))
(.error js/console "Failed to remove plugin:" err))))))))
-(defn check-permission
+(defn has-permission?
+ "True when the plugin was granted `permission`."
[plugin-id permission]
(cond
(= plugin-id "00000000-0000-0000-0000-000000000000") true
@@ -278,6 +281,46 @@
:else (let [{:keys [permissions]} (dm/get-in @registry [:data plugin-id])]
(contains? permissions permission))))
+(defn- read-only-reason
+ "Why plugin writes must fail in `state`, or nil when they can go ahead.
+ The read-only flag alone is not a reason: the Inspect tab sets it too,
+ and it only hides the editing tools."
+ [state]
+ (let [wglobal (:workspace-global state)]
+ (cond
+ (some? (:persistence-lock wglobal))
+ "because changes cannot be saved right now"
+
+ (not (dm/get-in state [:permissions :can-edit]))
+ "because you cannot edit this file"
+
+ (some? (:preview-id wglobal))
+ "while a version is being previewed"
+
+ (dm/get-in state [:render-state :lost])
+ "because the canvas stopped rendering")))
+
+(defn check-writable
+ "Throws while saves are failing, the user cannot edit, a version is
+ being previewed or the render context is lost. A write made then would
+ be lost or edit the wrong data, so it fails whatever the plugin's
+ validation flag."
+ []
+ (when-let [reason (read-only-reason @st/state)]
+ (throw (ex-info (str "[PENPOT PLUGIN] The workspace is read-only " reason)
+ {:type ::read-only}))))
+
+(def ^:private write-permissions
+ #{"content:write" "library:write"})
+
+(defn check-permission
+ "True when the plugin was granted `permission`. A write permission also
+ runs `check-writable`, which throws while the workspace is read-only."
+ [plugin-id permission]
+ (when (contains? write-permissions permission)
+ (check-writable))
+ (has-permission? plugin-id permission))
+
(defn get-plugin-data
[state plugin-id]
(get-in state [:profile :props :plugins :data plugin-id]))
diff --git a/frontend/src/app/plugins/ruler_guides.cljs b/frontend/src/app/plugins/ruler_guides.cljs
index 56dd051f1e..701a6a41d5 100644
--- a/frontend/src/app/plugins/ruler_guides.cljs
+++ b/frontend/src/app/plugins/ruler_guides.cljs
@@ -124,6 +124,7 @@
:remove
(fn []
+ (r/check-writable)
(cond
(not (u/page-active? page-id))
(u/not-valid plugin-id :remove "Cannot modify a page that is not currently active")
diff --git a/frontend/src/app/plugins/shape.cljs b/frontend/src/app/plugins/shape.cljs
index 9a86ebd0d3..a313ae1ee6 100644
--- a/frontend/src/app/plugins/shape.cljs
+++ b/frontend/src/app/plugins/shape.cljs
@@ -365,6 +365,7 @@
(let [data (u/locate-shape file-id page-id id)]
(-> (obj/reify {:name "ShapeProxy"
+ :on-set u/check-shape-writable
:on-error (u/handle-error plugin-id)}
:$plugin {:enumerable false :get (fn [] plugin-id)}
:$id {:enumerable false :get (fn [] id)}
@@ -1041,6 +1042,7 @@
;; Methods
:resize
(fn [width height]
+ (u/check-shape-located file-id page-id id)
(cond
(or (not (sm/valid-safe-number? width)) (<= width 0))
(u/not-valid plugin-id :resize width)
@@ -1081,6 +1083,7 @@
:rotate
(fn [angle center]
+ (u/check-shape-located file-id page-id id)
(let [center (when center {:x (obj/get center "x") :y (obj/get center "y")})]
(cond
(not (sm/valid-safe-number? angle))
@@ -1263,6 +1266,9 @@
(u/changes-component-copy-structure? objects shape child-shape)
(u/not-valid plugin-id :appendChild "Cannot change the structure of a component copy")
+ (u/non-main-into-variant-container? shape child)
+ (u/not-valid plugin-id :appendChild "Only main instances can be added to a variant container")
+
:else
(st/emit!
(dwsh/relocate-shapes #{child-id} id index)
@@ -1302,6 +1308,9 @@
(u/changes-component-copy-structure? objects shape child-shape)
(u/not-valid plugin-id :insertChild "Cannot change the structure of a component copy")
+ (u/non-main-into-variant-container? shape child)
+ (u/not-valid plugin-id :insertChild "Only main instances can be added to a variant container")
+
:else
(st/emit!
(dwsh/relocate-shapes #{child-id} id index)
@@ -1463,18 +1472,22 @@
:bringForward
(fn []
+ (r/check-writable)
(st/emit! (dw/vertical-order-selected (z-order-location plugin-id file-id page-id id :up) [id])))
:sendBackward
(fn []
+ (r/check-writable)
(st/emit! (dw/vertical-order-selected (z-order-location plugin-id file-id page-id id :down) [id])))
:bringToFront
(fn []
+ (r/check-writable)
(st/emit! (dw/vertical-order-selected (z-order-location plugin-id file-id page-id id :top) [id])))
:sendToBack
(fn []
+ (r/check-writable)
(st/emit! (dw/vertical-order-selected (z-order-location plugin-id file-id page-id id :bottom) [id])))
;; COMPONENTS
diff --git a/frontend/src/app/plugins/text.cljs b/frontend/src/app/plugins/text.cljs
index 66b2f2fb88..0be157b613 100644
--- a/frontend/src/app/plugins/text.cljs
+++ b/frontend/src/app/plugins/text.cljs
@@ -431,6 +431,7 @@
:applyTypography
(fn [typography]
+ (r/check-writable)
(let [typography (u/proxy->library-typography typography)
attrs (-> typography
(assoc :typography-ref-file file-id)
diff --git a/frontend/src/app/plugins/utils.cljs b/frontend/src/app/plugins/utils.cljs
index 22f57d45fd..a9a6479de4 100644
--- a/frontend/src/app/plugins/utils.cljs
+++ b/frontend/src/app/plugins/utils.cljs
@@ -20,6 +20,7 @@
[app.main.data.helpers :as dsh]
[app.main.data.workspace.tokens.library-edit :as dwtl]
[app.main.store :as st]
+ [app.plugins.register :as r]
[app.util.object :as obj]
[cuerdas.core :as str]))
@@ -151,6 +152,29 @@
(when (and (some? file-id) (some? page-id) (some? id))
(locate-shape file-id page-id id))))
+(defn- shape-not-found
+ [id]
+ (ex-info (dm/str "[PENPOT PLUGIN] Shape not found: " id)
+ {:type ::shape-not-found}))
+
+(defn check-shape-located
+ "Throws when shape `id` no longer exists (removed by an undo, a peer or
+ a rejected save), so a write to it does not vanish silently. Always
+ throws, whatever the plugin's validation flag: `handle-error` lets this
+ error through."
+ [file-id page-id id]
+ (when (nil? (locate-shape file-id page-id id))
+ (throw (shape-not-found id))))
+
+(defn check-shape-writable
+ "Throws when the shape behind `proxy` no longer exists (see
+ `check-shape-located`) or the workspace is read-only (see
+ `r/check-writable`)."
+ [proxy]
+ (when (nil? (proxy->shape proxy))
+ (throw (shape-not-found (obj/get proxy "$id"))))
+ (r/check-writable))
+
(defn inside-component-copy?
"True when `shape` is nested inside a component copy. The copy root itself is
movable as a whole; its descendants are structural copy content and must not
@@ -581,6 +605,11 @@
(let [explain (-> cause ex-data ::sm/explain)
throw? (throw-validation-errors? plugin-id)]
(cond
+ ;; A write to a removed shape or a read-only workspace always
+ ;; reaches the plugin
+ (contains? #{::shape-not-found ::r/read-only} (-> cause ex-data :type))
+ (throw cause)
+
;; If it's a clojure error we throw as a validation error
(and throw? explain)
(throw-not-valid :error (error-messages explain))
@@ -604,3 +633,10 @@
[p]
(when-let [shape (proxy->shape p)]
(ctk/main-instance? shape)))
+
+(defn non-main-into-variant-container?
+ "True when `parent` is a variant container and `child` (a shape proxy)
+ is not a main instance."
+ [parent child]
+ (and (ctk/is-variant-container? parent)
+ (not (is-main-component-proxy? child))))
diff --git a/frontend/src/app/render_wasm/api.cljs b/frontend/src/app/render_wasm/api.cljs
index 8a4ad7d427..aab9321c6c 100644
--- a/frontend/src/app/render_wasm/api.cljs
+++ b/frontend/src/app/render_wasm/api.cljs
@@ -742,9 +742,14 @@
(let [text (apply str (map :text spans))]
(t/write-shape-text spans paragraph text)))))
-(defn set-shape-text-content
- "This function sets shape text content and returns a stream that loads the needed fonts asynchronously"
- [shape-id content]
+(defn- text-content-fonts
+ "Content fonts and fallback faces (emoji, Noto, ...) of a text content."
+ [content]
+ {:fonts (f/get-content-fonts content)
+ :fallback-fonts (fonts-from-text-content content false)})
+
+(defn- upload-text-content
+ [shape-id content {:keys [fonts fallback-fonts]}]
;; Cache content for text editor sync
(text-editor/cache-shape-text-content! shape-id content)
@@ -758,15 +763,17 @@
(set-shape-vertical-align (get content :vertical-align))
- (let [fonts (f/get-content-fonts content)
- fallback-fonts (fonts-from-text-content content false)
- all-fonts (concat fonts fallback-fonts)
- result (f/store-fonts all-fonts)]
+ (let [result (f/store-fonts (concat fonts fallback-fonts))]
(write-text-content! content)
(f/load-fallback-fonts-for-editor! fallback-fonts)
(h/call wasm/internal-module "_update_shape_text_layout")
result)))
+(defn set-shape-text-content
+ "This function sets shape text content and returns a stream that loads the needed fonts asynchronously"
+ [shape-id content]
+ (upload-text-content shape-id content (text-content-fonts content)))
+
(defn apply-styles-to-selection
"Apply style attrs to the currently selected text spans.
Updates the cached content, pushes to WASM, and returns {:shape-id :content} for saving.
@@ -858,9 +865,9 @@
(let [children (into [] (filter uuid?) children)]
(if (empty? children)
(h/call wasm/internal-module "_set_children_0")
- (let [heap (mem/get-heap-u32)
- size (mem/get-alloc-size children UUID-U8-SIZE)
- offset (mem/alloc->offset-32 size)]
+ (let [size (mem/get-alloc-size children UUID-U8-SIZE)
+ offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)]
(reduce
(fn [offset id]
(mem.h32/write-uuid offset heap id))
@@ -1523,16 +1530,10 @@
(def ^:private empty-text-font-state
{:font-index {} :pending-faces #{}})
-(defn- text-layout-fonts
- "Content and fallback faces (emoji, Noto, ...) that `set-shape-text-content`
- uploads, must match that path for pending-face tracking."
- [content]
- (into #{} (concat (f/get-content-fonts content)
- (fonts-from-text-content content false))))
-
(defn- text-font-face-keys-state
- "All font-face keys for a text content, and the subset not WASM-ready yet."
- [content]
+ "All font-face keys for the `text-content-fonts` of a text, and the subset
+ not WASM-ready yet."
+ [{:keys [fonts fallback-fonts]}]
(reduce
(fn [acc font]
(let [font-data (f/make-font-data font)
@@ -1543,7 +1544,7 @@
(cond-> pending?
(update :pending-font-face-keys conj key)))))
{:font-face-keys #{} :pending-font-face-keys #{}}
- (text-layout-fonts content)))
+ (into #{} (concat fonts fallback-fonts))))
(defn- acc-text-font-state
[{:keys [font-index pending-faces]} id font-face-keys pending-font-face-keys]
@@ -1560,7 +1561,7 @@
(if (cfh/text-shape? shape)
(let [content (ensure-text-content (:content shape))
{:keys [font-face-keys pending-font-face-keys]}
- (text-font-face-keys-state content)]
+ (text-font-face-keys-state (text-content-fonts content))]
(acc-text-font-state empty-text-font-state
(:id shape)
font-face-keys
@@ -1613,9 +1614,10 @@
(set-layout-data shape)))
(let [is-text? (= type :text)
+ text-fonts (when is-text? (text-content-fonts content))
{:keys [font-face-keys pending-font-face-keys]}
- (when is-text? (text-font-face-keys-state content))
- text-content-pending (when is-text? (set-shape-text-content id content))
+ (when is-text? (text-font-face-keys-state text-fonts))
+ text-content-pending (when is-text? (upload-text-content id content text-fonts))
pending-thumbnails (into [] (concat
text-content-pending
(when is-text? (set-shape-text-images id content true))
@@ -2060,8 +2062,8 @@
[entries]
(when (and (initialized?) (not ^boolean (empty? entries)))
(let [size (mem/get-alloc-size entries UUID-U8-SIZE)
- heap (mem/get-heap-u32)
- offset (mem/alloc->offset-32 size)]
+ offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)]
(reduce (fn [offset id]
(mem.h32/write-uuid offset heap id))
@@ -2084,8 +2086,8 @@
(when (and (initialized?) (seq shape-ids))
(let [ids (vec shape-ids)
size (mem/get-alloc-size ids UUID-U8-SIZE)
- heap (mem/get-heap-u32)
- offset (mem/alloc->offset-32 size)]
+ offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)]
(reduce (fn [offset id]
(mem.h32/write-uuid offset heap id))
offset
@@ -2143,10 +2145,10 @@
[entries snap-pixel? snap-ignore-axis]
(if-not (and (initialized?) (not ^boolean (empty? entries)))
[]
- (let [heapf32 (mem/get-heap-f32)
- heapu32 (mem/get-heap-u32)
- size (mem/get-alloc-size entries INPUT-MODIFIER-U8-SIZE)
- offset (mem/alloc->offset-32 size)]
+ (let [size (mem/get-alloc-size entries INPUT-MODIFIER-U8-SIZE)
+ offset (mem/alloc->offset-32 size)
+ heapf32 (mem/get-heap-f32)
+ heapu32 (mem/get-heap-u32)]
(reduce (fn [offset [id data]]
(let [transform (:transform data)
@@ -2161,6 +2163,8 @@
(let [precision (pixel-precision-mode snap-pixel? snap-ignore-axis)
offset (-> (h/call wasm/internal-module "_propagate_modifiers" precision)
(mem/->offset-32))
+ heapf32 (mem/get-heap-f32)
+ heapu32 (mem/get-heap-u32)
length (aget heapu32 offset)
max-offset (+ offset 1 (* length MODIFIER-U32-SIZE))
result (loop [result (transient [])
@@ -2180,8 +2184,7 @@
(when (and (initialized?) (not ^boolean (empty? entries)))
(let [size (mem/get-alloc-size entries UUID-U8-SIZE)
offset (mem/alloc->offset-32 size)
- heapu32 (mem/get-heap-u32)
- heapf32 (mem/get-heap-f32)]
+ heapu32 (mem/get-heap-u32)]
(reduce (fn [offset id]
(mem.h32/write-uuid offset heapu32 id))
@@ -2190,7 +2193,7 @@
(let [offset (-> (h/call wasm/internal-module "_get_selection_rect")
(mem/->offset-32))
- result (dr/read-selection-rect heapf32 offset)]
+ result (dr/read-selection-rect (mem/get-heap-f32) offset)]
(mem/free)
result))))
@@ -2759,8 +2762,8 @@
(defn calculate-bool*
[bool-type ids]
(let [size (mem/get-alloc-size ids UUID-U8-SIZE)
- heap (mem/get-heap-u32)
- offset (mem/alloc->offset-32 size)]
+ offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)]
(reduce (fn [offset id]
(mem.h32/write-uuid offset heap id))
@@ -2772,6 +2775,7 @@
(-> (h/call wasm/internal-module "_calculate_bool" (sr/translate-bool-type bool-type))
(mem/->offset-32))
+ heap (mem/get-heap-u32)
length (aget heap offset)
data (mem/slice heap
(+ offset 1)
@@ -2827,10 +2831,10 @@
[shape]
(when (initialized?)
(wselect/use-shape (:id shape))
- (let [heapf32 (mem/get-heap-f32)
- heapu32 (mem/get-heap-u32)
- offset (-> (h/call wasm/internal-module "_calculate_position_data")
+ (let [offset (-> (h/call wasm/internal-module "_calculate_position_data")
(mem/->offset-32))
+ heapf32 (mem/get-heap-f32)
+ heapu32 (mem/get-heap-u32)
length (aget heapu32 offset)
max-offset (+ offset 1 (* length POSITION-DATA-U32-SIZE))
@@ -3001,8 +3005,8 @@
(when (and (initialized?) (seq shape-ids))
(let [ids (vec shape-ids)
size (mem/get-alloc-size ids UUID-U8-SIZE)
- heap (mem/get-heap-u32)
offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)
_ (reduce (fn [offset id]
(mem.h32/write-uuid offset heap id))
@@ -3080,8 +3084,8 @@
(when (and (initialized?) (seq shape-ids))
(let [ids (vec shape-ids)
size (mem/get-alloc-size ids UUID-U8-SIZE)
- heap (mem/get-heap-u32)
offset (mem/alloc->offset-32 size)
+ heap (mem/get-heap-u32)
_ (reduce (fn [offset id]
(mem.h32/write-uuid offset heap id))
diff --git a/frontend/src/app/render_wasm/shape.cljs b/frontend/src/app/render_wasm/shape.cljs
index d94bd8d070..dfbcf37bb4 100644
--- a/frontend/src/app/render_wasm/shape.cljs
+++ b/frontend/src/app/render_wasm/shape.cljs
@@ -77,7 +77,17 @@
c/ICounted
(-count [_]
- (+ 1 (count delegate)))
+ (+ 2 (count delegate)))
+
+ c/IKVReduce
+ (-kv-reduce [_ f init]
+ (let [acc (f init :id id)]
+ (if (reduced? acc)
+ @acc
+ (let [acc (f acc :type type)]
+ (if (reduced? acc)
+ @acc
+ (reduce-kv f acc delegate))))))
c/ILookup
(-lookup [coll k]
@@ -354,6 +364,18 @@
(let [id (:id self)]
(.set changes id (conj* (.get changes id) k)))))
+(defn- assoc-delegate
+ "Keeps an array map delegate as an array map when adding a new key."
+ [delegate k v]
+ (if (and (instance? PersistentArrayMap delegate)
+ (not (contains? delegate k)))
+ (PersistentArrayMap. (meta delegate)
+ (inc (count delegate))
+ (doto (aclone (.-arr ^PersistentArrayMap delegate))
+ (.push k v))
+ nil)
+ (assoc delegate k v)))
+
(defn- impl-assoc
[self k v]
(track-change! self k)
@@ -369,7 +391,7 @@
(.-delegate ^ShapeProxy self))
(let [delegate (.-delegate ^ShapeProxy self)
- delegate' (assoc delegate k v)]
+ delegate' (assoc-delegate delegate k v)]
(if (identical? delegate' delegate)
self
(ShapeProxy. (.-id ^ShapeProxy self)
@@ -418,18 +440,19 @@
(next es))
(throw (js/Error. "conj on a map takes map entries or seqables of map entries"))))))))
-(def ^:private xf:without-id-and-type
- (remove (fn [kvpair]
- (let [k (key kvpair)]
- (or (= k :id)
- (= k :type))))))
-
(defn create-shape
- "Instantiate a shape from a map"
+ "Instantiate a shape from a map. The delegate is an array map because
+ it takes far less memory than a hash map for shape-sized maps."
[attrs]
- (ShapeProxy. (:id attrs)
- (:type attrs)
- (into {} xf:without-id-and-type attrs)))
+ (let [arr (reduce-kv (fn [arr k v]
+ (when-not (or (= k :id) (= k :type))
+ (.push arr k v))
+ arr)
+ #js []
+ attrs)]
+ (ShapeProxy. (:id attrs)
+ (:type attrs)
+ (PersistentArrayMap. nil (/ (alength arr) 2) arr nil))))
(t/add-handlers!
;; We only add a write handler, read handler uses the dynamic dispatch
diff --git a/frontend/src/app/render_wasm/text_editor.cljs b/frontend/src/app/render_wasm/text_editor.cljs
index ebfabdb07d..851f08fbb8 100644
--- a/frontend/src/app/render_wasm/text_editor.cljs
+++ b/frontend/src/app/render_wasm/text_editor.cljs
@@ -383,10 +383,9 @@
(wasm/ready?))
(let [encoder (js/TextEncoder.)
buf (.encode encoder text)
- heapu8 (mem/get-heap-u8)
size (mem/size buf)
offset (mem/alloc size)]
- (mem/write-buffer offset heapu8 buf))))
+ (mem/write-buffer offset (mem/get-heap-u8) buf))))
(defn text-editor-encode-text-post
[text]
@@ -506,10 +505,10 @@
(when (wasm/ready?)
(try
(let [byte-offset (mem/alloc 16)
- u32-offset (mem/->offset-32 byte-offset)
- heap (mem/get-heap-u32)]
+ u32-offset (mem/->offset-32 byte-offset)]
(h/call wasm/internal-module "_text_editor_get_active_shape_id" byte-offset)
- (let [a (aget heap u32-offset)
+ (let [heap (mem/get-heap-u32)
+ a (aget heap u32-offset)
b (aget heap (+ u32-offset 1))
c (aget heap (+ u32-offset 2))
d (aget heap (+ u32-offset 3))
@@ -526,10 +525,10 @@
(when (wasm/ready?)
(let [byte-offset (mem/alloc 16)
u32-offset (mem/->offset-32 byte-offset)
- heap (mem/get-heap-u32)
has-selection? (h/call wasm/internal-module "_text_editor_get_selection" byte-offset)]
(if has-selection?
- (let [result {:anchor-para (aget heap u32-offset)
+ (let [heap (mem/get-heap-u32)
+ result {:anchor-para (aget heap u32-offset)
:anchor-offset (aget heap (+ u32-offset 1))
:focus-para (aget heap (+ u32-offset 2))
:focus-offset (aget heap (+ u32-offset 3))}]
@@ -870,10 +869,10 @@
(let [id (uuid/get-u32 shape-id)
byte-offset (mem/alloc 16)
f32-offset (mem/->offset-32 byte-offset)
- heap (mem/get-heap-f32)
has-text? (h/call wasm/internal-module "_text_get_range_origin"
(aget id 0) (aget id 1) (aget id 2) (aget id 3)
start-para start-offset end-para end-offset byte-offset)
+ heap (mem/get-heap-f32)
result (when has-text?
{:x (aget heap f32-offset)
:y (aget heap (+ f32-offset 1))
diff --git a/frontend/src/app/util/code_gen/style_css_values.cljs b/frontend/src/app/util/code_gen/style_css_values.cljs
index 4052adba14..e35ef02c44 100644
--- a/frontend/src/app/util/code_gen/style_css_values.cljs
+++ b/frontend/src/app/util/code_gen/style_css_values.cljs
@@ -12,6 +12,7 @@
[app.common.files.helpers :as cfh]
[app.common.geom.matrix :as gmt]
[app.common.geom.shapes :as gsh]
+ [app.common.logging :as log]
[app.common.types.shape.layout :as ctl]
[app.main.ui.formats :as fmt]
[app.util.code-gen.common :as cgc]
@@ -24,12 +25,24 @@
:gradient fill-color-gradient
:image fill-image})
+(defn- missing-parent?
+ "True when the parent of `shape` is not in `objects`, which happens in a
+ damaged file; the position, relative to the parent, cannot be computed."
+ [objects shape]
+ (let [missing? (not (contains? objects (:parent-id shape)))]
+ (when missing?
+ (log/wrn :hint "shape parent not found"
+ :shape-id (dm/str (:id shape))
+ :parent-id (dm/str (:parent-id shape))))
+ missing?))
+
(defn get-shape-position
[shape objects coord]
(when (and (not (cfh/root-frame? shape))
(or (not (ctl/any-layout-immediate-child? objects shape))
- (ctl/position-absolute? shape)))
+ (ctl/position-absolute? shape))
+ (not (missing-parent? objects shape)))
(let [parent (get objects (:parent-id shape))
diff --git a/frontend/src/app/util/i18n.cljs b/frontend/src/app/util/i18n.cljs
index ce7712ae4e..d36b2872c7 100644
--- a/frontend/src/app/util/i18n.cljs
+++ b/frontend/src/app/util/i18n.cljs
@@ -55,7 +55,7 @@
{:label "आधुनिक मानक हिन्दी (community)" :value "hi"}
{:label "عربي/عربى (community)" :value "ar"}
{:label "فارسی (community)" :value "fa"}
- {:label "日本語 (Community)" :value "ja_jp"}
+ {:label "日本語 (Community)" :value "ja"}
{:label "简体中文 (community)" :value "zh_cn"}
{:label "繁體中文 (community)" :value "zh_hant"}])
diff --git a/frontend/src/app/util/object.cljc b/frontend/src/app/util/object.cljc
index 6d1b078df1..40ee9cd8e0 100644
--- a/frontend/src/app/util/object.cljc
+++ b/frontend/src/app/util/object.cljc
@@ -176,6 +176,7 @@
fn-expr (c/get params :fn)
schema-n (c/get params :schema)
wrap (c/get params :wrap)
+ on-set (c/get params :on-set)
schema-1 (c/get params :schema-1)
this? (c/get params :this false)
on-error (c/get params :on-error)
@@ -216,6 +217,10 @@
(-> (gensym (str "wrap-fn-" (str/slug pname) "-"))
(with-meta {:tag 'function}))
+ on-set-sym
+ (-> (gensym (str "on-set-fn-" (str/slug pname) "-"))
+ (with-meta {:tag 'function}))
+
val-sym
(gensym (str "val-" (str/slug pname) "-"))
@@ -232,6 +237,9 @@
(when wrap
[wrap-sym wrap])
+ (when (and set-expr on-set)
+ [on-set-sym on-set])
+
(when get-expr
[(make-sym pname "get-fn")
(if this?
@@ -258,6 +266,10 @@
(make-sym pname "set-fn")
`(fn [~val-sym]
+ ;; Runs outside the error handling, so what it throws
+ ;; always reaches the caller
+ ~@(when on-set
+ [`(~on-set-sym (~'js* "this"))])
~(wrap-error-handling
`(let [~this-sym (~'js* "this")
~fn-sym ~set-expr
@@ -411,6 +423,7 @@
(if (some? definition)
(let [definition (if (map? definition)
(c/merge {:wrap (:wrap tmeta)
+ :on-set (:on-set tmeta)
:on-error (:on-error tmeta)}
definition)
(-> {:enumerable false}
diff --git a/frontend/src/app/worker/index.cljs b/frontend/src/app/worker/index.cljs
index cafcf0c591..910fa74fae 100644
--- a/frontend/src/app/worker/index.cljs
+++ b/frontend/src/app/worker/index.cljs
@@ -7,24 +7,62 @@
(ns app.worker.index
"Page index management within the worker."
(:require
- [app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.files.changes :as ch]
[app.common.geom.rect :as grc]
[app.common.logging :as log]
[app.common.time :as ct]
+ [app.common.transit :as t]
[app.worker.impl :as impl]
[app.worker.selection :as selection]
[app.worker.snap :as snap]
+ [app.worker.trim :as trim]
[okulary.core :as l]))
(log/set-level! :info)
(defonce state (l/atom {:pages-index {}}))
+;; Changes that edit what the indexes read. Replaying one on a trimmed page
+;; needs the attributes it reads in `app.worker.trim`.
+(def index-change-types
+ #{:add-obj :mod-obj :del-obj :fix-obj :mov-objects :reg-objects
+ :reorder-children :set-guide :del-page})
+
+;; Changes that leave the indexes alone.
+(def skipped-change-types
+ #{:set-comment-thread-position :set-flow :set-default-grid
+ :add-page :mod-page :mov-page :set-plugin-data
+ :add-color :mod-color :del-color
+ :add-media :mod-media :del-media
+ :add-component :mod-component :del-component :restore-component :purge-component
+ :add-typography :mod-typography :del-typography
+ :set-tokens-lib :set-token :set-token-set :set-token-theme :set-tokens-status
+ :set-own-tokens-status :rename-token-set-group :move-token-set
+ :move-token-set-group :set-base-font-size :set-tokens-source})
+
+(defn- index-change?
+ [{:keys [type]}]
+ (cond
+ (contains? index-change-types type)
+ true
+
+ (contains? skipped-change-types type)
+ false
+
+ :else
+ (do (log/wrn :hint "change type unknown to the worker index, skipped" :type type)
+ false)))
+
+(defn- changed-object?
+ [old-object new-object]
+ (and (not (identical? old-object new-object))
+ (not= old-object new-object)))
+
(defmethod impl/handler :index/initialize
[{:keys [page] :as message}]
- (let [tpoint (ct/tpoint-ms)]
+ (let [tpoint (ct/tpoint-ms)
+ page (trim/trim-page page)]
(try
(swap! state update :pages-index assoc (:id page) page)
(swap! state update ::selection selection/add-page page)
@@ -41,6 +79,7 @@
(update :pages-index dissoc page-id)
(update ::selection dissoc page-id)
(update ::snap dissoc page-id)))
+ (t/clear-uuid-cache)
(log/dbg :hint "page index dropped" :id page-id ::log/sync? true)
nil)
@@ -49,7 +88,8 @@
(let [tpoint (ct/tpoint-ms)]
(try
(if-let [old-page (dm/get-in @state [:pages-index page-id])]
- (let [new-page (-> state
+ (let [changes (filterv index-change? changes)
+ new-page (-> state
(swap! ch/process-changes changes false)
(dm/get-in [:pages-index page-id]))]
(if (nil? new-page)
@@ -58,18 +98,20 @@
(update ::snap dissoc page-id)
(update ::selection dissoc page-id)))
- (let [text-rects (dm/get-in @state [::text-rect page-id])
+ (let [old-objects (:objects old-page)
+ ids (ch/get-candidate-object-ids old-objects (:objects new-page) page-id changes)
+ new-page (update new-page :objects #(trim/retrim-objects old-objects % ids))
+ new-objects (:objects new-page)
+ ids (into #{}
+ (filter #(changed-object? (get old-objects %) (get new-objects %)))
+ ids)
+ guides? (not (identical? (:guides old-page) (:guides new-page)))]
+ (swap! state #(cond-> (assoc-in % [:pages-index page-id] new-page)
+ (or (seq ids) guides?)
+ (update ::snap snap/update-page old-page new-page ids)
- ;; Update page objects with the text data
- new-page
- (reduce-kv
- (fn [page id data]
- (update-in page [:objects id] d/patch-object data))
- new-page
- text-rects)]
-
- (swap! state update ::snap snap/update-page old-page new-page)
- (swap! state update ::selection selection/update-page old-page new-page))))
+ (seq ids)
+ (update ::selection selection/update-page old-page new-page ids))))))
;; A later `:index/initialize` sends the whole page again
(log/dbg :hint "page not indexed, skipping update" :id page-id ::log/sync? true))
diff --git a/frontend/src/app/worker/messages.cljs b/frontend/src/app/worker/messages.cljs
index 209deb37ef..bbc10d2485 100644
--- a/frontend/src/app/worker/messages.cljs
+++ b/frontend/src/app/worker/messages.cljs
@@ -9,6 +9,7 @@
(:require
[app.common.data :as d]
[app.common.transit :as t]
+ [app.common.types.objects-map :as omap]
[app.util.object :as obj]))
(defn encode
@@ -16,7 +17,12 @@
Transit cannot carry `js/Blob`. If the payload map has `:blob`, or the
message already has a top-level `:blob`, that value is sent as a
- structured-clone field beside the Transit string — not inside it."
+ structured-clone field beside the Transit string — not inside it.
+
+ The same goes for the objects of a `:page` that are an `ObjectsMap`:
+ every shape in it is already a Transit string, so Transit would only
+ wrap those strings in a second layer of JSON. They travel as the
+ `pageObjects` field, a `js/Map` of id -> encoded shape."
[{:keys [sender-id reply-to payload buffer? blob completed error]}]
(let [;; Peel `:blob` out of map payloads before Transit (selection/snap
;; replies are vectors and other non-maps; leave them untouched).
@@ -25,16 +31,25 @@
payload (cond-> payload
(some? inline-blob)
(dissoc :blob))
+
+ page-objects (when (map? payload)
+ (let [objects (get-in payload [:page :objects])]
+ (when (omap/objects-map? objects)
+ objects)))
+ payload (cond-> payload
+ (some? page-objects)
+ (update :page dissoc :objects))
+
obj #js {:cmd (d/name (:cmd payload))
:senderId (when sender-id (str sender-id))
:replyTo (when reply-to (str reply-to))
- :payload (if (= :initialize-indices (:cmd payload))
- (:file-raw payload)
- (when (some? payload) (t/encode-str payload)))
+ :payload (when (some? payload) (t/encode-str payload))
:buffer (when (some? buffer?) buffer?)
:completed (when completed true)}]
(when (some? blob)
(obj/set! obj "blob" blob))
+ (when (some? page-objects)
+ (obj/set! obj "pageObjects" (omap/->js-map page-objects)))
(when (some? error)
(obj/set! obj "error" (clj->js error)))
obj))
@@ -48,25 +63,25 @@
(assoc :data nil)))))
(defn decode [^js data]
- (let [cmd (obj/get data "cmd")
- sender-id (obj/get data "senderId")
+ (let [sender-id (obj/get data "senderId")
reply-to (obj/get data "replyTo")
payload (obj/get data "payload")
buffer (obj/get data "buffer")
blob (obj/get data "blob")
+ page-objects (obj/get data "pageObjects")
completed (obj/get data "completed")
error (obj/get data "error")
decoded
(d/without-nils
{:sender-id (when sender-id (uuid sender-id))
:reply-to (when reply-to (uuid reply-to))
- :payload (if (= cmd "initialize-indices")
- {:cmd :initialize-indices
- :file-raw payload}
- (when (some? payload) (t/decode-str payload)))
+ :payload (when (some? payload) (t/decode-str payload))
:buffer? buffer
:completed completed
:error (js->error-map error)})]
(cond-> decoded
(some? blob)
- (update :payload assoc :blob blob))))
+ (update :payload assoc :blob blob)
+
+ (some? page-objects)
+ (assoc-in [:payload :page :objects] (omap/from-js-map page-objects)))))
diff --git a/frontend/src/app/worker/selection.cljs b/frontend/src/app/worker/selection.cljs
index d5a5ee06a0..1775bf0773 100644
--- a/frontend/src/app/worker/selection.cljs
+++ b/frontend/src/app/worker/selection.cljs
@@ -16,8 +16,7 @@
[app.common.geom.shapes.text :as gst]
[app.common.types.modifiers :as ctm]
[app.common.uuid :as uuid]
- [app.util.quadtree :as qdt]
- [clojure.set :as set]))
+ [app.util.quadtree :as qdt]))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; IMPL
@@ -107,22 +106,13 @@
(dissoc objects uuid/zero))]
{:index index :bounds bounds :parents-index parents-index :clip-index clip-index}))
-;; FIXME: optimize
(defn- update-index
- [{index :index :as data} old-objects new-objects]
- (let [object-changed?
- (fn [id]
- (not= (get old-objects id)
- (get new-objects id)))
-
- changed-ids
+ [{index :index :as data} new-objects object-ids]
+ (let [changed-ids
(into #{}
- (comp (filter #(not= % uuid/zero))
- (filter object-changed?)
+ (comp (remove #(= % uuid/zero))
(mapcat #(into [%] (cfh/get-children-ids new-objects %))))
-
- (set/union (set (keys old-objects))
- (set (keys new-objects))))
+ object-ids)
shapes
(->> changed-ids
@@ -272,13 +262,13 @@
(assoc state id (create-index objects)))
(defn update-page
- "Update page index on the state"
- [state old-page new-page]
+ "Update page index on the state. `object-ids` are the objects that
+ changed between `old-page` and `new-page`."
+ [state old-page new-page object-ids]
(let [page-id (get old-page :id)]
(update state page-id
(fn [index]
- (let [old-objects (:objects old-page)
- new-objects (:objects new-page)
+ (let [new-objects (:objects new-page)
old-bounds (:bounds index)
new-bounds (objects-bounds new-objects)]
@@ -287,7 +277,7 @@
;; re-create it.
(if (and (some? index)
(grc/contains-rect? old-bounds new-bounds))
- (update-index index old-objects new-objects)
+ (update-index index new-objects object-ids)
(create-index new-objects)))))))
(defn query
diff --git a/frontend/src/app/worker/snap.cljs b/frontend/src/app/worker/snap.cljs
index afc418b061..2065e78676 100644
--- a/frontend/src/app/worker/snap.cljs
+++ b/frontend/src/app/worker/snap.cljs
@@ -226,8 +226,9 @@
(assoc snap-data (:id page) page-data)))
(defn update-page
- "Updates a previously inserted page with new data"
- [snap-data old-page page]
+ "Updates a previously inserted page with new data. Only the objects in
+ `object-ids` are checked for changes."
+ [snap-data old-page page object-ids]
(if (contains? snap-data (:id page))
;; Update page
@@ -245,7 +246,7 @@
new-frames
new-shapes
new-guides]}
- (diff/calculate-page-diff old-page page snap-attrs)]
+ (diff/calculate-page-diff old-page page snap-attrs object-ids)]
(as-> page-data $
(reduce (partial update-shape objects) $ change-frame-shapes)
diff --git a/frontend/src/app/worker/trim.cljs b/frontend/src/app/worker/trim.cljs
new file mode 100644
index 0000000000..8c1aecda5b
--- /dev/null
+++ b/frontend/src/app/worker/trim.cljs
@@ -0,0 +1,103 @@
+;; 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 SUBSIDIARY SL
+
+(ns app.worker.trim
+ "Keeps only the shape attributes the worker reads: its selection and
+ snap indexes, and the change replay of `process-changes`."
+ (:require
+ [app.common.transit :as t]
+ [app.common.types.objects-map :as omap]
+ [app.common.types.shape :as cts]))
+
+;; The attributes the worker keeps. Add one when the selection or snap index,
+;; or a change type in `app.worker.index/index-change-types`, reads it.
+(def ^:private shape-attrs
+ [:id :type :parent-id :frame-id :shapes
+ :x :y :width :height :rotation :selrect :points
+ :transform :transform-inverse :flip-x :flip-y
+ :hidden :blocked :show-content :masked-group
+ ;; The replay refuses to edit copies or to nest a component in itself.
+ :component-id :shape-ref
+ ;; The replay rebuilds bool paths from rounded rects.
+ :r1 :r2 :r3 :r4
+ :stroke-width :bool-type :grids :layout])
+
+(def ^:private stroke-attrs [:stroke-width :stroke-alignment])
+
+(def ^:private position-data-attrs [:x :y :width :height])
+
+;; Selection only asks whether a shape has fills.
+(def ^:private some-fills [{}])
+
+(defn- trim-svg-attrs
+ [svg-attrs]
+ (let [style (get svg-attrs :style)]
+ (cond-> {}
+ (contains? svg-attrs :fill)
+ (assoc :fill (get svg-attrs :fill))
+
+ (contains? style :fill)
+ (assoc :style {:fill (get style :fill)}))))
+
+(defn trim-shape
+ [shape]
+ (let [type (get shape :type)
+ fills (get shape :fills)
+ strokes (get shape :strokes)
+ svg-attrs (some-> (get shape :svg-attrs) trim-svg-attrs not-empty)
+ content (get shape :content)
+ pos-data (get shape :position-data)]
+ (cts/map->Shape
+ (cond-> (select-keys shape shape-attrs)
+ (seq fills)
+ (assoc :fills some-fills)
+
+ (seq strokes)
+ (assoc :strokes (mapv #(select-keys % stroke-attrs) strokes))
+
+ (some? svg-attrs)
+ (assoc :svg-attrs svg-attrs)
+
+ (and (some? content) (or (= type :path) (= type :bool)))
+ (assoc :content content)
+
+ (and (some? pos-data) (= type :text))
+ (assoc :position-data (mapv #(select-keys % position-data-attrs) pos-data))))))
+
+(defn trim-objects
+ "Trims every object. An `ObjectsMap` is read from its encoded data, so
+ the decoded shapes are not kept in its cache."
+ [objects]
+ (if (omap/objects-map? objects)
+ (persistent!
+ (reduce-kv (fn [result id data]
+ (assoc! result id (trim-shape (t/decode-str data))))
+ (transient {})
+ (omap/get-data objects)))
+ (persistent!
+ (reduce-kv (fn [result id shape]
+ (assoc! result id (trim-shape shape)))
+ (transient {})
+ objects))))
+
+(defn retrim-objects
+ "Trims again the objects at `ids` that differ from `old-objects`: the
+ replay may have written attributes the worker does not keep."
+ [old-objects new-objects ids]
+ (reduce (fn [objects id]
+ (let [shape (get objects id)]
+ (cond-> objects
+ (and (some? shape) (not (identical? shape (get old-objects id))))
+ (assoc id (trim-shape shape)))))
+ new-objects
+ ids))
+
+(defn trim-page
+ [page]
+ (cond-> {:id (get page :id)
+ :objects (trim-objects (get page :objects))}
+ (contains? page :guides)
+ (assoc :guides (get page :guides))))
diff --git a/frontend/src/debug.cljs b/frontend/src/debug.cljs
index 7d71812c19..7a1abb89af 100644
--- a/frontend/src/debug.cljs
+++ b/frontend/src/debug.cljs
@@ -9,11 +9,14 @@
[app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.exceptions :as ex]
+ [app.common.files.changes-builder :as pcb]
[app.common.files.helpers :as cfh]
[app.common.files.repair :as cfr]
[app.common.files.validate :as cfv]
[app.common.json :as json]
[app.common.logging :as l]
+ [app.common.logic.libraries :as cll]
+ [app.common.path-names :as cpn]
[app.common.pprint :as pp]
[app.common.render-wasm.helpers :as wasm.h]
[app.common.render-wasm.mem :as wasm.mem]
@@ -28,6 +31,7 @@
[app.main.data.common :as dcm]
[app.main.data.dashboard.shortcuts]
[app.main.data.helpers :as dsh]
+ [app.main.data.persistence :as dps]
[app.main.data.preview :as dp]
[app.main.data.viewer.shortcuts]
[app.main.data.workspace :as dw]
@@ -614,6 +618,419 @@
[id shape-ref]
(st/emit! (set-shape-ref* id shape-ref)))
+;; --- Save faults
+
+(def ^:private rejecting-faults
+ "Debug faults the backend rejects a commit for."
+ #{"validation" "runtime" "ex-info" "assertion"})
+
+(def ^:private request-faults
+ "Debug faults that fail the whole save, as an infrastructure error does."
+ #{"sql" "io" "eof" "interrupted" "not-found" "stack-overflow"})
+
+(defn- debug-plugin-data-change
+ "A change that removes plugin data `key` of the file, which is never set,
+ so it changes no data."
+ [key]
+ {:type :set-plugin-data
+ :object-type :file
+ :namespace :penpot-debug
+ :key key
+ :value nil})
+
+(defn- save-fault-marker
+ "A change that makes the backend fail with `fault` when it applies it
+ (`debug-save-faults` backend flag). It changes no data."
+ [fault]
+ (debug-plugin-data-change (str "save-fault:" fault)))
+
+(defn- fault-error
+ "Why `fault` is not one of `faults`, or nil if it is."
+ [fault faults]
+ (when-not (contains? faults fault)
+ (str "unknown fault " fault ", expected one of "
+ (str/join ", " (sort faults)))))
+
+;; Armed `:hold` and `:faults` for update-file calls, and the `:original`
+;; method while they wrap it.
+(defonce ^:private save-hook (atom {}))
+
+(defn- mark-save
+ "Adds the fault armed for the file of `params` to the commit it names,
+ and counts the save against it."
+ [params]
+ (let [file-id (:id params)
+ [old _] (swap-vals! save-hook
+ (fn [{:keys [faults] :as hook}]
+ (let [{:keys [times]} (get faults file-id)]
+ (cond
+ (nil? times) hook
+ (> times 1) (update-in hook [:faults file-id :times] dec)
+ :else (update hook :faults dissoc file-id)))))]
+ (if-let [{:keys [fault commit]} (get-in old [:faults file-id])]
+ (let [marker (save-fault-marker fault)
+ groups (:changes-with-metadata params)]
+ (if (seq groups)
+ (update-in params [:changes-with-metadata (min commit (dec (count groups))) :changes]
+ conj marker)
+ (update params :changes (fnil conj []) marker)))
+ params)))
+
+(defn- hooked-update-file
+ "Sends an update-file call through `send` with the armed fault, and holds
+ its answer while saves are held."
+ [send id params]
+ (let [response (send id (mark-save params))]
+ (if-let [gate (dm/get-in @save-hook [:hold :gate])]
+ (rx/mapcat (fn [result]
+ (rx/map (constantly result) (rx/from gate)))
+ response)
+ response)))
+
+(defn- sync-save-hook
+ "Wraps update-file calls while a hold or a fault is armed, and unwraps
+ them when none is."
+ []
+ (let [{:keys [hold faults original]} @save-hook
+ armed? (or (some? hold) (seq faults))]
+ (cond
+ (and armed? (nil? original))
+ (let [original (get-method rp/cmd! :update-file)]
+ (swap! save-hook assoc :original original)
+ (-add-method rp/cmd! :update-file
+ (fn [id params] (hooked-update-file original id params))))
+
+ (and (not armed?) (some? original))
+ (do
+ (if (identical? original (get-method rp/cmd! :default))
+ (remove-method rp/cmd! :update-file)
+ (-add-method rp/cmd! :update-file original))
+ (swap! save-hook dissoc :original)))))
+
+(defn ^:export releaseSaves
+ "Answers the held saves now and stops holding new ones."
+ []
+ (when-let [{:keys [gate timer]} (:hold @save-hook)]
+ (js/clearTimeout timer)
+ (p/resolve gate nil))
+ (swap! save-hook dissoc :hold)
+ (sync-save-hook)
+ "saves are answered as they arrive")
+
+(defn ^:export holdSaves
+ "Holds the answers to the saves sent in the next `seconds` (default 5)
+ until then, or until `debug.releaseSaves()`. The backend applies each
+ save at once; only the tab waits, so edits made meanwhile stay pending
+ behind it, as with a slow backend.
+
+ debug.holdSaves()
+ debug.holdSaves(10)"
+ ([] (holdSaves 5))
+ ([seconds]
+ (releaseSaves)
+ (swap! save-hook assoc :hold {:gate (p/deferred)
+ :timer (js/setTimeout releaseSaves (* 1000 seconds))})
+ (sync-save-hook)
+ (str "holding the answers to saves for " seconds " seconds")))
+
+(defn ^:export failNextSave
+ "Makes the backend fail the next `times` saves (default 1) of a file (by
+ default the open one) with `fault`, from the commit at index `commit`
+ (default 0) on. Needs the `debug-save-faults` backend flag.
+
+ Faults 'validation', 'runtime', 'ex-info' and 'assertion' reject the
+ commits from that one on; 'sql', 'io', 'eof', 'interrupted', 'not-found'
+ and 'stack-overflow' fail the whole save, as an infrastructure error
+ does. Of these, 'sql', 'io' and 'interrupted' pass on their own (503,
+ retried); the rest do not. A retry is a new save and counts against
+ `times`.
+
+ debug.failNextSave({fault: 'sql'})
+ debug.failNextSave({fault: 'runtime', commit: 2, times: 3, fileId: '…'})"
+ [options]
+ (let [{:keys [fault times commit fileId]
+ :or {times 1 commit 0}} (js->clj options :keywordize-keys true)
+ file-id (if fileId (uuid/parse fileId) (:current-file-id @st/state))]
+ (or (fault-error fault (into rejecting-faults request-faults))
+ (do
+ (swap! save-hook assoc-in [:faults file-id]
+ {:fault fault :times times :commit commit})
+ (sync-save-hook)
+ (str "the next " times " saves of " file-id " fail with " fault
+ " from commit " commit " on")))))
+
+(defn ^:export clearSaveFaults
+ "Disarms every fault armed with `debug.failNextSave`."
+ []
+ (swap! save-hook dissoc :faults)
+ (sync-save-hook)
+ "no save fault armed")
+
+(defn- pending-of-file
+ "Applies `f` to the pending commits of `file-id`, queued and buffered."
+ [pstate file-id f]
+ (let [file? #(= file-id (:file-id %))
+ queued (filter #(file? (get-in pstate [:index %])) (:queue pstate))
+ buffered #(if (file? %) (f %) %)]
+ (as-> pstate $
+ (reduce (fn [pstate id] (update-in pstate [:index id :commits] #(mapv f %))) $ queued)
+ (update $ :buffer #(mapv buffered %)))))
+
+(defn ^:export failNextRollback
+ "Makes the undo of the commits pending now in the open file fail if a
+ rollback reverts them, so the rollback falls back to reloading the
+ file. Pair it with `debug.holdSaves` to have commits pending.
+
+ debug.holdSaves(); debug.commitInvalidChange(); debug.failNextRollback()"
+ []
+ (let [state @st/state
+ file-id (:current-file-id state)]
+ (if (empty? (concat (:queue (:persistence state)) (:buffer (:persistence state))))
+ "nothing is pending: hold the saves and commit something first"
+ (do
+ (st/emit!
+ (ptk/reify ::fail-next-rollback
+ ptk/UpdateEvent
+ (update [_ state]
+ ;; A change type with no handler, so applying it throws
+ (update state :persistence pending-of-file file-id
+ #(update % :undo-changes (fn [changes]
+ (into [{:type :debug-fail}] changes)))))))
+ "the next rollback of the pending commits fails and reloads the file"))))
+
+(defn- get-persistence-summary
+ "What is pending in the tab and what could block the user."
+ [state]
+ (let [{:keys [status queue index buffer saved remote-changes]} (:persistence state)
+ queued (count (mapcat #(get-in index [% :commits]) queue))
+ warn? (contains? @st/ongoing-tasks :persistence)
+ crash? (some? (:exception state))]
+ {:status status
+ :queued queued
+ :buffered (count buffer)
+ :saved (count saved)
+ :remoteChanges (count (mapcat val remote-changes))
+ :leaveWarning warn?
+ :undoItems (count (dm/get-in state [:workspace-undo :items]))
+ :edition (some-> (dm/get-in state [:workspace-local :edition]) str)
+ :crashed crash?
+ :held (some? (:hold @save-hook))
+ :faults (count (:faults @save-hook))
+ :clean (and (contains? #{nil :saved} status)
+ (zero? queued)
+ (empty? buffer)
+ (empty? saved)
+ (empty? remote-changes)
+ (not warn?)
+ (not crash?))}))
+
+(defn ^:export persistenceState
+ "The save state of the tab: what is pending, the leave-page warning, the
+ undo history, the edited shape and a crash. `clean` is true when nothing
+ is pending and nothing blocks the user."
+ []
+ (clj->js (get-persistence-summary @st/state)))
+
+;; --- Invalid changes
+
+(def ^:private invalid-change-kinds
+ "Ways to break page objects that backend validation rejects, with the
+ error code each raises."
+ {"parent" {:code :parent-not-found
+ :break (fn [objects shape]
+ (assoc-in objects [(:id shape) :parent-id] (uuid/next)))}
+ "child" {:code :child-not-found
+ :break (fn [objects shape]
+ (update-in objects [(:parent-id shape) :shapes] conj (uuid/next)))}})
+
+(defn- changed-ids
+ [objects objects']
+ (into [] (remove #(identical? (get objects %) (get objects' %))) (keys objects')))
+
+(defn- renamed-main-instances
+ "Main instances whose name differs between `objects` and `objects'`."
+ [objects objects']
+ (into []
+ (comp (map #(get objects' %))
+ (filter ctk/main-instance?)
+ (remove #(= (:name %) (:name (get objects (:id %))))))
+ (changed-ids objects objects')))
+
+(defn- rename-components
+ "Renames in `data` the components of the main instances renamed in
+ `objects'`."
+ [data objects objects']
+ (reduce (fn [data {:keys [component-id name]}]
+ (let [[path name] (cpn/split-group-name name)]
+ (update-in data [:components component-id] assoc :path path :name name)))
+ data
+ (renamed-main-instances objects objects')))
+
+(defn- objects-changes
+ "Changes for the shapes that differ between `objects` and `objects'`."
+ [origin page-id objects objects']
+ (-> (pcb/empty-changes origin page-id)
+ (pcb/with-objects objects)
+ (pcb/update-shapes (changed-ids objects objects') #(get objects' (:id %)))))
+
+(defn- commit-objects-change
+ "Commits the shapes that differ between `objects` and `objects'`. A
+ renamed main instance renames its component too, as validation requires.
+ `params` go to `commit-changes`."
+ [origin page-id data objects objects' params]
+ (dwc/commit-changes
+ (merge (reduce (fn [changes {:keys [component-id name]}]
+ (cll/generate-rename-component changes component-id name data))
+ (objects-changes origin page-id objects objects')
+ (renamed-main-instances objects objects'))
+ params)))
+
+(defn- objects-step
+ "A step that commits the shapes `f` changes in the page objects, with
+ `params` for `commit-changes`."
+ ([f] (objects-step f nil))
+ ([f params]
+ (fn [origin page-id data objects]
+ (let [objects' (f objects)]
+ [(rename-components data objects objects')
+ objects'
+ (commit-objects-change origin page-id data objects objects' params)]))))
+
+(defn- fault-step
+ "A step that commits a marker the backend fails on with `fault`, with
+ `params` for `commit-changes`."
+ [fault params]
+ (fn [origin _ data objects]
+ [data
+ objects
+ ;; A real undo change, so the commit gets an undo entry as others do
+ (dwc/commit-changes (merge {:origin origin
+ :redo-changes [(save-fault-marker fault)]
+ :undo-changes [(debug-plugin-data-change "save-fault-undo")]}
+ params))]))
+
+(defn ^:export commitInvalidChange
+ "Commits a change that the backend rejects, on the selected shape or the
+ first one of the page, with optional valid renames before and after it,
+ all in one save.
+
+ Kinds: 'parent' (the shape points to a missing parent, the default) and
+ 'child' (its parent lists a missing child). With `fault` ('validation',
+ 'runtime', 'ex-info' or 'assertion') the bad commit changes nothing and
+ the backend fails on it with that error instead (`debug-save-faults`
+ backend flag). With `undo: false` the bad commit gets no undo entry, so
+ rolling it back clears the whole undo history.
+
+ debug.commitInvalidChange()
+ debug.commitInvalidChange({kind: 'child', before: 2, after: 1})
+ debug.commitInvalidChange({fault: 'runtime', before: 1})
+ debug.commitInvalidChange({undo: false})"
+ ([] (commitInvalidChange nil))
+ ([options]
+ (let [{:keys [kind fault before after undo]
+ :or {kind "parent" before 0 after 0 undo true}} (js->clj options :keywordize-keys true)
+
+ state @st/state
+ objects (dsh/lookup-page-objects state)
+ shape-id (or (first (dm/get-in state [:workspace-local :selected]))
+ (first (dm/get-in objects [uuid/zero :shapes])))
+ shape (get objects shape-id)
+ {:keys [code break]} (get invalid-change-kinds kind)]
+
+ (cond
+ (nil? break)
+ (str "unknown kind " kind ", expected one of "
+ (str/join ", " (keys invalid-change-kinds)))
+
+ (and (some? fault) (fault-error fault rejecting-faults))
+ (fault-error fault rejecting-faults)
+
+ (nil? shape)
+ "select a shape, or open a page that has one"
+
+ :else
+ (let [rename (fn [label]
+ (objects-step #(assoc-in % [shape-id :name] (str (:name shape) " [" label "]"))))
+ steps (concat (map #(rename (str "before " (inc %))) (range before))
+ [(if fault
+ (fault-step fault {:save-undo? undo})
+ (objects-step #(break % shape) {:save-undo? undo}))]
+ (map #(rename (str "after " (inc %))) (range after)))]
+ (st/emit!
+ (ptk/reify ::commit-invalid-change
+ ptk/WatchEvent
+ (watch [it state _]
+ (let [page-id (:current-page-id state)
+ commits (->> steps
+ (reduce (fn [[data objects commits] step]
+ (let [[data objects commit] (step it page-id data objects)]
+ [data objects (conj commits commit)]))
+ [(dsh/lookup-file-data state) (dsh/lookup-page-objects state) []])
+ (last))]
+ (rx/concat
+ (rx/from commits)
+ ;; Saves once all commits are buffered and the 200ms pending debounce passed
+ (->> (rx/timer 300)
+ (rx/map (constantly ::dps/force-persist))))))))
+ (str "committed " (+ before 1 after) " changes on '" (:name shape)
+ "'; commit " (inc before) " should fail with " (or fault (name code))))))))
+
+(defn- broken-component-change
+ "A change that points the component of `shape`, or the first one of the
+ file, to a main instance that does not exist."
+ [data shape]
+ (when-let [component-id (or (:component-id shape)
+ (:id (first (ctkl/components-seq data))))]
+ {:type :mod-component
+ :id component-id
+ :main-instance-id (uuid/next)}))
+
+(defn ^:export saveBrokenData
+ "Saves, skipping backend validation, data that fails it: the kinds of
+ `debug.commitInvalidChange` on the selected shape or the first one of the
+ page, or 'component' (the component of the selected shape, or the first
+ of the file, points to a missing main instance). Then reloads the tab so
+ it opens the broken file. Undo with `debug.repair()`.
+
+ debug.saveBrokenData({kind: 'child'})
+ debug.saveBrokenData({kind: 'component'})"
+ ([] (saveBrokenData nil))
+ ([options]
+ (let [{:keys [kind] :or {kind "parent"}} (js->clj options :keywordize-keys true)
+ state @st/state
+ file (dsh/lookup-file state)
+ page-id (:current-page-id state)
+ objects (dsh/lookup-page-objects state)
+ shape (get objects (or (first (dm/get-in state [:workspace-local :selected]))
+ (first (dm/get-in objects [uuid/zero :shapes]))))
+ break (get-in invalid-change-kinds [kind :break])
+ changes (cond
+ (= "component" kind)
+ (some-> (broken-component-change (:data file) shape) vector)
+
+ (and (some? break) (some? shape))
+ (:redo-changes (objects-changes nil page-id objects (break objects shape))))]
+ (cond
+ (not (:clean (get-persistence-summary state)))
+ "wait until every change is saved"
+
+ (empty? changes)
+ (str "nothing to break: kinds are " (str/join ", " (keys invalid-change-kinds))
+ " and component, and they need a shape or a component")
+
+ :else
+ (do
+ (->> (rp/cmd! :update-file {:id (:id file)
+ :revn (:revn file)
+ :vern (:vern file)
+ :session-id (:session-id state)
+ :features (:features state)
+ :changes changes
+ :skip-validate true})
+ (rx/subs! (fn [_] (dom/reload-current-window))
+ (fn [cause] (ex/print-throwable cause))))
+ (str "saving broken " kind " data, then reloading"))))))
+
(defn ^:export network-averages
[]
(.log js/console (clj->js @http/network-averages)))
diff --git a/frontend/test/frontend_tests/composable_tests/interpreter.cljs b/frontend/test/frontend_tests/composable_tests/interpreter.cljs
index 905604466c..80934441cb 100644
--- a/frontend/test/frontend_tests/composable_tests/interpreter.cljs
+++ b/frontend/test/frontend_tests/composable_tests/interpreter.cljs
@@ -399,14 +399,15 @@
(rx/map deref)
(rx/filter #(= :local (:source %)))
(rx/mapcat
- (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before]}]
+ (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before translation?]}]
(if (and save-undo? (seq undo-changes))
(rx/of (dwu/append-undo
{:undo-changes undo-changes
:redo-changes redo-changes
:undo-group undo-group
:tags tags
- :selected-before selected-before}
+ :selected-before selected-before
+ :translation (boolean translation?)}
stack-undo?))
(rx/empty))))
(rx/take-until stopper-s))))))
diff --git a/frontend/test/frontend_tests/data/auth_test.cljs b/frontend/test/frontend_tests/data/auth_test.cljs
new file mode 100644
index 0000000000..ded18ce8d7
--- /dev/null
+++ b/frontend/test/frontend_tests/data/auth_test.cljs
@@ -0,0 +1,184 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.auth-test
+ (:require
+ [app.common.uuid :as uuid]
+ [app.main.data.auth :as da]
+ [app.main.data.event :as ev]
+ [app.main.data.team :as dtm]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [potok.v2.core :as ptk]))
+
+;; --- Event runtime helpers
+
+(defn- ^:async watch-events
+ "Runs the `watch` method of `event` with an empty state and the given
+ input `stream`, and returns the events it emits."
+ [event stream]
+ (let [events (atom [])]
+ (await (async/observe (ptk/watch event {} stream)
+ :on-next #(swap! events conj %)))
+ @events))
+
+(defn- find-data-event
+ "First `ptk/data-event` in `events` whose `::ev/name` is `name`."
+ [events name]
+ (some (fn [event]
+ (when (and (= :app.main.data.event/event (ptk/type event))
+ (= name (::ev/name (deref event))))
+ event))
+ events))
+
+(defn- navigate-events
+ [events]
+ (filter #(= :app.main.router/navigate (ptk/type %)) events))
+
+
+(t/deftest auth-origin-keeps-only-the-fields-that-apply
+ (t/is (= {:source "login" :auth-backend "penpot"}
+ (da/auth-origin {:source "login" :auth-backend "penpot"})))
+ (t/is (= {:source "register" :auth-backend "google"
+ :activation "email-verification"}
+ (da/auth-origin {:source "register" :auth-backend "google"
+ :activation "email-verification"})))
+ (t/is (= {:source "register" :auth-backend "penpot"
+ :from-invitation true}
+ (da/auth-origin {:source "register" :auth-backend "penpot"
+ :from-invitation true}))))
+
+(t/deftest auth-origin-rejects-values-outside-the-vocabulary
+ (t/is (thrown? js/Error
+ (da/auth-origin {:source "login-with-token"
+ :auth-backend "penpot"})))
+ (t/is (thrown? js/Error
+ (da/auth-origin {:source "login"
+ :auth-backend "foo"}))))
+
+(t/deftest origin-meta-omits-the-fields-that-do-not-apply
+ (let [origin-meta @#'da/origin-meta]
+ (t/is (= {::ev/source "login"}
+ (origin-meta {:source "login"})))
+ (t/is (= {::ev/source "register" ::ev/activation "immediate"}
+ (origin-meta {:source "register" :activation "immediate"})))))
+
+(t/deftest iss-maps-to-an-origin
+ (let [iss->origin @#'da/iss->origin]
+ (t/is (= {:source "login"} (iss->origin :auth)))
+ (t/is (= {:source "register" :activation "email-verification"}
+ (iss->origin :verify-email)))
+ (t/is (nil? (iss->origin :unknown)))))
+
+(t/deftest profile-origin-composes-the-event-props
+ (let [profile-origin @#'da/profile-origin]
+ (t/is (= {:source "login" :auth-backend "google"
+ :from-invitation false}
+ (profile-origin
+ (with-meta {:auth-backend "google"} {::ev/source "login"}))))
+ (t/is (= {:source "login" :auth-backend "google"
+ :from-invitation true}
+ (profile-origin
+ (with-meta {:auth-backend "google" :invitation-token "tok"}
+ {::ev/source "login"}))))
+ (t/is (= {:source "register" :auth-backend "penpot"
+ :activation "email-verification"
+ :from-invitation false}
+ (profile-origin
+ (with-meta {:auth-backend "penpot"}
+ {::ev/source "register" ::ev/activation "email-verification"}))))))
+
+(t/deftest with-register-origin-attaches-the-invitation-token
+ (let [with-register-origin @#'da/with-register-origin
+ profile (with-register-origin {:id "x"} "tok")]
+ (t/is (= {:id "x" :invitation-token "tok"} profile))
+ (t/is (= {::ev/source "register" ::ev/activation "immediate"}
+ (meta profile)))))
+
+(t/deftest with-register-origin-keeps-the-profile-without-a-token
+ (let [with-register-origin @#'da/with-register-origin
+ profile (with-register-origin {:id "x"} nil)]
+ (t/is (= {:id "x"} profile))
+ (t/is (not (contains? profile :invitation-token)))
+ (t/is (= {::ev/source "register" ::ev/activation "immediate"}
+ (meta profile)))))
+
+(t/deftest invitation-nav-only-emits-with-an-invitation-token
+ (let [get-invitation-nav @#'da/get-invitation-nav
+ collect (fn [profile]
+ (let [events (atom [])]
+ (rx/subs! #(swap! events conj %)
+ (get-invitation-nav profile))
+ @events))]
+ (t/is (= [] (collect {:auth-backend "penpot"})))
+ (let [events (collect {:auth-backend "penpot"
+ :invitation-token "tok"})
+ event (deref (first events))]
+ (t/is (= 1 (count events)))
+ (t/is (= :auth-verify-token (:id event)))
+ (t/is (= {:token "tok"} (:params event))))))
+
+;; --- logged-in: the invitation does not wait for the teams
+
+(t/deftest ^:async logged-in-with-invitation-navigates-to-token-verification
+ (let [logged-in @#'da/logged-in
+ origin-meta @#'da/origin-meta
+ profile (with-meta {:id (uuid/next)
+ :auth-backend "penpot"
+ :invitation-token "tok"}
+ (origin-meta {:source "login"}))
+ ;; The teams arrive: the invitation must not be diverted to the
+ ;; default team dashboard.
+ teams-fetched (ptk/data-event ::dtm/teams-fetched [])
+ events (await (watch-events (logged-in profile)
+ (rx/of teams-fetched)))
+ navs (navigate-events events)
+ nav (some-> (first navs) deref)
+ signin (some-> (find-data-event events "signin") deref)]
+ (t/is (= 1 (count navs)))
+ (t/is (= :auth-verify-token (:id nav)))
+ (t/is (= {:token "tok"} (:params nav)))
+ (t/is (not-any? #(= :app.main.data.common/go-to-dashboard-recent (ptk/type %))
+ events))
+ (t/is (true? (:from-invitation signin)))))
+
+(t/deftest ^:async logged-in-without-invitation-goes-to-the-dashboard
+ (let [logged-in @#'da/logged-in
+ origin-meta @#'da/origin-meta
+ profile (with-meta {:id (uuid/next) :auth-backend "penpot"}
+ (origin-meta {:source "login"}))
+ teams-fetched (ptk/data-event ::dtm/teams-fetched [])
+ events (await (watch-events (logged-in profile)
+ (rx/of teams-fetched)))]
+ (t/is (empty? (navigate-events events)))
+ (t/is (some #(= :app.main.data.common/go-to-dashboard-recent (ptk/type %))
+ events))))
+
+;; --- login-from-token: the invitation token survives the decoration
+
+(t/deftest ^:async login-from-token-with-invitation-keeps-the-token
+ (let [[event] (await (watch-events
+ (da/login-from-token
+ {:profile {:id (uuid/next) :auth-backend "penpot"}
+ :iss :auth
+ :invitation-token "tok"})
+ (rx/empty)))
+ events (await (watch-events event (rx/empty)))
+ signin (some-> (find-data-event events "signin") deref)]
+ (t/is (= :app.main.data.auth/logged-in (ptk/type event)))
+ (t/is (= "login" (:source signin)))
+ (t/is (true? (:from-invitation signin)))))
+
+(t/deftest ^:async login-from-token-without-invitation-has-no-invitation
+ (let [[event] (await (watch-events
+ (da/login-from-token
+ {:profile {:id (uuid/next) :auth-backend "penpot"}
+ :iss :auth})
+ (rx/empty)))
+ events (await (watch-events event (rx/empty)))
+ signin (some-> (find-data-event events "signin") deref)]
+ (t/is (false? (:from-invitation signin)))))
diff --git a/frontend/test/frontend_tests/data/comments_batches_test.cljs b/frontend/test/frontend_tests/data/comments_batches_test.cljs
new file mode 100644
index 0000000000..7bab3fa964
--- /dev/null
+++ b/frontend/test/frontend_tests/data/comments_batches_test.cljs
@@ -0,0 +1,95 @@
+;; 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/.
+
+(ns frontend-tests.data.comments-batches-test
+ (:require
+ [app.common.uuid :as uuid]
+ [app.main.data.comments :as dcmt]
+ [app.main.data.notifications :as ntf]
+ [app.main.repo :as rp]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [potok.v2.core :as ptk]))
+
+(defn- comment-threads-state
+ [n]
+ {:comment-threads (into {} (map (fn [_] [(uuid/next) {:id (uuid/next)}]) (range n)))})
+
+(t/deftest mark-all-threads-batches-splits-the-ids
+ (t/is (= [] (dcmt/mark-all-threads-batches [])))
+ (t/is (= [[1 2 3]] (dcmt/mark-all-threads-batches [1 2 3])))
+ (t/is (= [500 1] (mapv count (dcmt/mark-all-threads-batches (range 501))))))
+
+(t/deftest ^:async mark-all-threads-as-read-sends-the-ids-in-batches
+ (let [calls (atom [])
+ state (comment-threads-state 1200)
+ event (dcmt/mark-all-threads-as-read (uuid/next))]
+
+ (await
+ (mock/with-mocks*
+ {rp/cmd! (mock/stub
+ (fn [cmd params]
+ (swap! calls conj [cmd params])
+ (rx/of nil)))}
+ (await (async/observe (ptk/watch event state nil)))))
+
+ (t/is (= 3 (count @calls)))
+ (t/is (every? #(= :mark-all-threads-as-read (first %)) @calls))
+ (t/is (= [500 500 200] (mapv (comp count :threads second) @calls)))))
+
+(t/deftest ^:async mark-all-threads-as-read-sends-a-single-batch
+ (let [calls (atom [])
+ state (comment-threads-state 10)
+ event (dcmt/mark-all-threads-as-read (uuid/next))]
+
+ (await
+ (mock/with-mocks*
+ {rp/cmd! (mock/stub
+ (fn [cmd params]
+ (swap! calls conj [cmd params])
+ (rx/of nil)))}
+ (await (async/observe (ptk/watch event state nil)))))
+
+ (t/is (= 1 (count @calls)))
+ (t/is (= 10 (count (:threads (second (first @calls))))))))
+
+(t/deftest ^:async mark-all-threads-as-read-refreshes-the-unread-list-after-a-batch-fails
+ (let [calls (atom [])
+ state (comment-threads-state 1200)
+ event (dcmt/mark-all-threads-as-read (uuid/next))
+ seen (atom [])
+ errors (atom [])]
+
+ (await
+ (mock/with-mocks*
+ {rp/cmd! (mock/stub
+ (fn [cmd params]
+ (swap! calls conj [cmd params])
+ (if (= 2 (count @calls))
+ (rx/throw (ex-info "boom" {}))
+ (rx/of nil))))}
+ (await (async/observe (ptk/watch event state nil)
+ :on-next #(swap! seen conj (ptk/type %))
+ :on-error #(swap! errors conj %)))))
+
+ (t/is (= 2 (count @calls))
+ "the pipeline stops at the batch that fails")
+ (t/is (= [::dcmt/retrieve-unread-comment-threads] @seen)
+ "the unread list is re-read and no success toast is emitted")
+ (t/is (= [{:type :comment-error}] @errors))))
+
+(t/deftest ^:async mark-all-threads-as-read-refreshes-and-shows-the-success-toast
+ (let [state (comment-threads-state 600)
+ event (dcmt/mark-all-threads-as-read (uuid/next))
+ seen (atom [])]
+
+ (await
+ (mock/with-mocks*
+ {rp/cmd! (mock/stub (fn [_ _] (rx/of nil)))}
+ (await (async/observe (ptk/watch event state nil)
+ :on-next #(swap! seen conj (ptk/type %))))))
+
+ (t/is (= [::dcmt/retrieve-unread-comment-threads ::ntf/show] @seen))))
diff --git a/frontend/test/frontend_tests/data/dashboard_test.cljs b/frontend/test/frontend_tests/data/dashboard_test.cljs
index d0d2ba677c..2283d06825 100644
--- a/frontend/test/frontend_tests/data/dashboard_test.cljs
+++ b/frontend/test/frontend_tests/data/dashboard_test.cljs
@@ -11,7 +11,9 @@
[app.main.data.common :as dcm]
[app.main.data.dashboard :as dd]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as dps]
[app.main.data.project :as dpj]
+ [app.main.data.team :as dtm]
[app.main.data.websocket :as dws]
[app.main.repo :as rp]
[app.main.router :as rt]
@@ -48,7 +50,8 @@
rt/get-current-href (mock/stub (constantly current-url))}
(await (async/observe (ptk/watch event state nil)
:on-next (fn [ev]
- (t/is (= ::ntf/show (ptk/type ev)))))))
+ (t/is (contains? #{::ntf/show ::dtm/fetch-teams}
+ (ptk/type ev)))))))
(.then (fn [_] @tr-calls))))) (t/deftest ^:async team-org-change-toast-names-team-when-joining-org
(let [tr-calls (await (tr-args-for-team-org-toast
"dashboard.team-belong-organization"
@@ -63,6 +66,38 @@
(t/is (= [["dashboard.team-no-longer-belong-organization" ["Team-Apple" "OrgA"]]]
tr-calls))))
+(t/deftest ^:async team-org-change-keeps-restrictions-met-of-the-same-organization
+ (let [team-id (uuid/next)
+ organization-id (uuid/next)
+ state {:teams {team-id {:id team-id
+ :organization {:id organization-id
+ :name "Acme"
+ :restrictions-met {:send-invitations false}}}}}
+ event (dcm/handle-change-team-organization
+ {:team {:id team-id
+ :organization {:id organization-id
+ :name "Acme 2"
+ :permissions {:send-invitations "owners"}}}
+ :notification nil})]
+ (await (mock/with-mocks*
+ {cf/flags (conj cf/flags :admin-console)}
+ (let [organization (get-in (ptk/update event state) [:teams team-id :organization])]
+ (t/is (= "Acme 2" (:name organization)))
+ (t/is (= {:send-invitations false} (:restrictions-met organization))))))))
+
+(t/deftest ^:async team-org-change-refetches-teams-for-the-current-profile
+ (let [team-id (uuid/next)
+ state {:teams {team-id {:id team-id}}}
+ event (dcm/handle-change-team-organization
+ {:team {:id team-id :organization {:id (uuid/next) :name "Acme"}}
+ :notification nil})
+ types (atom [])]
+ (await (mock/with-mocks*
+ {cf/flags (conj cf/flags :admin-console)}
+ (await (async/observe (ptk/watch event state nil)
+ :on-next #(swap! types conj (ptk/type %))))))
+ (t/is (= [::dtm/fetch-teams] @types))))
+
(t/deftest ^:async duplicated-project-has-a-file-count-and-is-unpinned
(let [id (uuid/next)
copy-id (uuid/next)
@@ -268,3 +303,76 @@
(rx/dispose! store)
(done'))
done))))
+
+;; Scenario: the user duplicates a file whose workspace still has a change
+;; waiting to be saved. Proves: the copy is requested once the save is done,
+;; and only then is the user told, with a warning that the copy misses what
+;; could not be saved, never replaced by the success toast.
+(t/deftest ^:async duplicating-a-file-waits-for-its-pending-changes
+ (let [file-id (uuid/next)
+ commit-id (uuid/next)
+ calls (atom [])
+ answer (rx/subject)
+ store (ptk/store {:state {:files {}
+ :persistence {:queue (conj #queue [] commit-id)
+ :index {commit-id {:id commit-id :file-id file-id}}}}})]
+ (await
+ (mock/with-mocks*
+ {dps/force-persist-files-and-wait (mock/stub (fn [file-ids _]
+ (swap! calls conj [:wait file-ids])
+ (rx/empty)))
+ rp/cmd! (mock/stub (fn [cmd _]
+ (swap! calls conj [cmd])
+ (->> answer (rx/take 1) (rx/observe-on :async))))
+ i18n/tr (fn ([key] (str "translated:" key)) ([key & _] (str "translated:" key)))}
+ (ptk/emit! store (dd/duplicate-files [{:id file-id :name "File"}]))
+ (await (async/wait-for #(= 2 (count @calls)) "the copy is requested"))
+ (t/is (= [[:wait #{file-id}] [:duplicate-file]] @calls))
+ (t/is (nil? (:notification @store)) "nothing is told before the copy exists")
+ (rx/push! answer {:id (uuid/next)})
+ (await (async/wait-for #(some? (:notification @store)) "the user is told"))
+ (await (async/settle))
+ (t/is (= "translated:dashboard.duplicate-unsaved-changes"
+ (get-in @store [:notification :content])))
+ (t/is (= :warning (get-in @store [:notification :level])))))))
+
+;; Scenario: the user duplicates a file with everything saved. Proves: the
+;; success toast shows once the copy exists, not when it is requested.
+(t/deftest ^:async duplicating-a-saved-file-tells-once-the-copy-exists
+ (let [file-id (uuid/next)
+ answer (rx/subject)
+ sent (atom 0)
+ store (ptk/store {:state {:files {}}})]
+ (await
+ (mock/with-mocks*
+ {dps/force-persist-files-and-wait (mock/stub (fn [_ _] (rx/empty)))
+ rp/cmd! (mock/stub (fn [_ _]
+ (swap! sent inc)
+ (->> answer (rx/take 1) (rx/observe-on :async))))
+ i18n/tr (fn ([key] (str "translated:" key)) ([key & _] (str "translated:" key)))}
+ (ptk/emit! store (dd/duplicate-files [{:id file-id :name "File"}]))
+ (await (async/wait-for #(= 1 @sent) "the copy is requested"))
+ (t/is (nil? (:notification @store)))
+ (rx/push! answer {:id (uuid/next)})
+ (await (async/wait-for #(some? (:notification @store)) "the user is told"))
+ (t/is (= "translated:dashboard.success-duplicate-file"
+ (get-in @store [:notification :content])))
+ (t/is (= :success (get-in @store [:notification :level])))))))
+
+;; Scenario: the server fails to copy the file. Proves: no success toast
+;; claims a copy that does not exist.
+(t/deftest ^:async a-failed-copy-tells-no-success
+ (let [errors (atom [])
+ store (ptk/store {:state {:files {}}
+ :on-error #(swap! errors conj %)})]
+ (await
+ (mock/with-mocks*
+ {dps/force-persist-files-and-wait (mock/stub (fn [_ _] (rx/empty)))
+ rp/cmd! (mock/stub (fn [_ _]
+ (->> (rx/throw (ex-info "copy failed" {:type :internal}))
+ (rx/observe-on :async))))
+ i18n/tr (fn ([key] (str "translated:" key)) ([key & _] (str "translated:" key)))}
+ (ptk/emit! store (dd/duplicate-files [{:id (uuid/next) :name "File"}]))
+ (await (async/wait-for #(seq @errors) "the copy fails"))
+ (await (async/settle))
+ (t/is (nil? (:notification @store)))))))
diff --git a/frontend/test/frontend_tests/data/event_test.cljs b/frontend/test/frontend_tests/data/event_test.cljs
index 9add050dd4..04a184e94f 100644
--- a/frontend/test/frontend_tests/data/event_test.cljs
+++ b/frontend/test/frontend_tests/data/event_test.cljs
@@ -6,12 +6,14 @@
(ns frontend-tests.data.event-test
(:require
+ [app.common.uuid :as uuid]
[app.main.data.event :as ev]
[app.main.repo :as rp]
[beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.async :as async]
- [frontend-tests.helpers.mock :as mock]))
+ [frontend-tests.helpers.mock :as mock]
+ [potok.v2.core :as ptk]))
(t/deftest events-enabled?-truth-table
(t/testing "enabled when audit-log is present"
@@ -41,3 +43,39 @@
{rp/cmd! (mock/stub (fn [_cmd] (rx/throw (ex-info "boom" {}))))}
(await (async/->promise (ev/fetch-environment-data)))))]
(t/is (= {:flags #{:telemetry}} data))))
+
+(t/deftest snapshot-performance-info-counts-libraries
+ (let [file-id (uuid/next)
+ lib-id (uuid/next)
+ other-id (uuid/next)
+ unlinked (uuid/next)
+ sized (fn [n] (zipmap (repeatedly n uuid/next) (repeat {})))
+ data (fn [components colors typographies]
+ {:components (sized components)
+ :colors (sized colors)
+ :typographies (sized typographies)})
+ state {:files
+ {file-id {:id file-id
+ :data (-> (data 1 1 1)
+ (assoc :pages-index (zipmap (repeatedly 2 uuid/next)
+ [{:objects (sized 4)}
+ {:objects (sized 2)}])))}
+ lib-id {:id lib-id
+ :library-of file-id
+ :data (data 2 3 1)}
+ other-id {:id other-id
+ :library-of file-id
+ :data (data 1 2 2)}
+ unlinked {:id unlinked
+ :library-of (uuid/next)
+ :data (data 3 3 3)}}}
+ state' (ptk/update (#'ev/snapshot-performance-info {:file-id file-id}) state)
+ counters (get-in state' [:performance-info :counters])]
+
+ (t/testing "counts shapes of the current file"
+ (t/is (= 6 (:total-shapes counters))))
+
+ (t/testing "sums the data of the file and its libraries, not other files"
+ (t/is (= 4 (:total-components counters)))
+ (t/is (= 6 (:total-colors counters)))
+ (t/is (= 4 (:total-typographies counters))))))
diff --git a/frontend/test/frontend_tests/data/exports_assets_test.cljs b/frontend/test/frontend_tests/data/exports_assets_test.cljs
index 4673b13411..18277c2f37 100644
--- a/frontend/test/frontend_tests/data/exports_assets_test.cljs
+++ b/frontend/test/frontend_tests/data/exports_assets_test.cljs
@@ -454,3 +454,49 @@
selected (de/collect-export-objects state exports)]
(t/is (= #{root child} (set (keys selected))))
(t/is (not (contains? selected other)))))
+
+;; Scenario: a shape is drawn in the browser while its file has a change not
+;; saved yet. Proves: the export waits for the save first, and the user is
+;; told the export includes changes the server does not have.
+(t/deftest ^:async client-export-waits-for-the-save-and-warns-of-unsaved-changes
+ (let [file-id (uuid/next)
+ calls (atom [])
+ store (export-store (assoc (unsaved-state file-id) :features #{"render-wasm/v1"})
+ (atom []))]
+ (await
+ (mock/with-mocks*
+ {dwp/force-persist-files-and-wait (mock/stub (fn [file-ids _]
+ (swap! calls conj [:wait file-ids])
+ (rx/empty)))
+ wasm.api/export-target (mock/stub (constantly :client))
+ de/collect-export-objects (mock/stub (fn [_ _] {}))
+ mw/ask-many! (mock/stub (fn [_]
+ (swap! calls conj [:export])
+ (rx/empty)))
+ i18n/tr (mock/stub #(str "translated:" %))
+ st/ongoing-tasks (atom #{})}
+ (ptk/emit! store (de/request-simple-export {:export (assoc export :file-id file-id)}))
+ (await (async/wait-for #(= 2 (count @calls)) "the export runs"))
+ (t/is (= [[:wait #{file-id}] [:export]] @calls)
+ "the export starts once the save is done")
+ (t/is (= "translated:workspace.export.unsaved-changes-included"
+ (get-in @store [:notification :content])))))))
+
+;; Scenario: a shape is drawn in the browser with every change saved.
+;; Proves: no warning is shown.
+(t/deftest ^:async client-export-shows-no-warning-when-the-file-is-saved
+ (let [exported (atom false)
+ store (export-store (wasm-state) (atom []))]
+ (await
+ (mock/with-mocks*
+ {dwp/force-persist-files-and-wait (mock/stub (fn [_ _] (rx/empty)))
+ wasm.api/export-target (mock/stub (constantly :client))
+ de/collect-export-objects (mock/stub (fn [_ _] {}))
+ mw/ask-many! (mock/stub (fn [_]
+ (reset! exported true)
+ (rx/empty)))
+ st/ongoing-tasks (atom #{})}
+ (ptk/emit! store (de/request-simple-export {:export (assoc export :file-id (uuid/next))}))
+ (await (async/wait-for #(true? @exported) "the export runs"))
+ (await (async/settle))
+ (t/is (nil? (:notification @store)))))))
diff --git a/frontend/test/frontend_tests/data/persistence_commits_test.cljs b/frontend/test/frontend_tests/data/persistence_commits_test.cljs
new file mode 100644
index 0000000000..2a85f3e4f3
--- /dev/null
+++ b/frontend/test/frontend_tests/data/persistence_commits_test.cljs
@@ -0,0 +1,175 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.persistence-commits-test
+ "Tests for the pure commit bookkeeping of persistence
+ (`app.main.data.persistence.commits`)."
+ (:require
+ [app.common.uuid :as uuid]
+ [app.main.data.persistence.commits :as pcm]
+ [cljs.test :as t :include-macros true]))
+
+(defn- commit
+ [file-id undo-group]
+ {:id (uuid/next)
+ :file-id file-id
+ :file-revn 0
+ :file-vern 0
+ :features #{}
+ :source :local
+ :undo-group undo-group
+ :redo-changes [{:type :mod-page :id (uuid/next) :name "redo"}]
+ :undo-changes [{:type :mod-page :id (uuid/next) :name "undo"}]
+ :remote-seq 0})
+
+(defn- queued
+ "Persistence state with `entries` queued, in order."
+ [& entries]
+ {:queue (into #queue [] (map :id) entries)
+ :index (into {} (map (juxt :id identity)) entries)})
+
+(t/deftest a-queue-entry-keeps-only-what-a-save-needs
+ (let [file-id (uuid/next)
+ c1 (commit file-id (uuid/next))
+ c2 (commit file-id (uuid/next))
+ entry (pcm/queue-entry [c1 c2])]
+ (t/is (= (:id c1) (:id entry)))
+ (t/is (= file-id (:file-id entry)))
+ (t/is (not (contains? entry :redo-changes)))
+ (t/is (= [(:id c1) (:id c2)] (mapv :id (:commits entry))))
+ (t/is (not (contains? (first (:commits entry)) :source)))))
+
+(t/deftest pending-commits-are-the-queued-then-the-buffered-of-one-file
+ (let [file-id (uuid/next)
+ other-id (uuid/next)
+ c1 (commit file-id nil)
+ c2 (commit other-id nil)
+ c3 (commit file-id nil)
+ pstate (assoc (queued (pcm/queue-entry [c1]) (pcm/queue-entry [c2]))
+ :buffer [c3])]
+ (t/is (= [(:id c1) (:id c3)] (mapv :id (pcm/pending-commits pstate file-id))))))
+
+(t/deftest a-rollback-plan-reverts-whole-undo-groups-across-files
+ (let [file-id (uuid/next)
+ lib-id (uuid/next)
+ group (uuid/next)
+ kept (commit file-id (uuid/next))
+ bad (commit file-id (uuid/next))
+ lib-1 (commit lib-id (uuid/next))
+ lib-2 (commit lib-id (uuid/next))
+ linked (commit lib-id group)
+ later (commit file-id group)
+ saved (assoc (commit lib-id group) :file-id lib-id)
+ head (pcm/queue-entry [kept bad])
+ pstate (-> (queued head (pcm/queue-entry [lib-1 linked lib-2]))
+ (assoc :buffer [later]
+ :saved [saved]))
+ plan (pcm/rollback-plan pstate head {:commit-ids [(:id bad)]})]
+ (t/testing "this file reverts from the rejected commit on"
+ (t/is (= [(:id bad) (:id later)]
+ (mapv :id (get-in plan [:files file-id :reverted])))))
+ (t/testing "the library reverts from the commit that shares a group on"
+ (t/is (= [(:id linked) (:id lib-2)]
+ (mapv :id (get-in plan [:files lib-id :reverted]))))
+ (t/is (= [(:id lib-1)] (mapv :id (get-in plan [:files lib-id :redo])))))
+ (t/testing "saved commits of a reverted group are compensated"
+ (t/is (= [(:id saved)] (mapv :id (:compensate plan)))))
+ (t/is (= {:reverted 5 :files 2} (pcm/rollback-summary plan)))
+
+ (t/testing "the rolled back commits leave the queue and the buffer"
+ (let [pstate' (pcm/without-rolled-back pstate head plan)]
+ (t/is (= [(:id kept)] (mapv :id (get-in pstate' [:index (:id head) :commits]))))
+ (t/is (= [(:id lib-1)]
+ (mapv :id (get-in pstate' [:index (:id lib-1) :commits]))))
+ (t/is (empty? (:buffer pstate')))
+ (t/is (empty? (:saved pstate')))))))
+
+(t/deftest an-entry-left-without-commits-leaves-the-queue
+ (let [file-id (uuid/next)
+ lib-id (uuid/next)
+ group (uuid/next)
+ bad (commit file-id group)
+ linked (commit lib-id group)
+ head (pcm/queue-entry [bad])
+ lib (pcm/queue-entry [linked])
+ pstate (queued head lib)
+ plan (pcm/rollback-plan pstate head {:commit-ids [(:id bad)]})
+ pstate' (pcm/without-rolled-back pstate head plan)]
+ (t/is (= [(:id head)] (vec (:queue pstate'))) "the in-flight entry stays until it is discarded")
+ (t/is (not (contains? (:index pstate') (:id lib))))))
+
+(t/deftest compensation-undoes-newest-first
+ (let [c1 {:redo-changes [:r1] :undo-changes [:u1]}
+ c2 {:redo-changes [:r2] :undo-changes [:u2]}]
+ (t/is (= {:redo-changes [:u2 :u1] :undo-changes [:r1 :r2]}
+ (pcm/compensation-changes [c1 c2])))))
+
+(t/deftest a-rollback-plan-names-the-index-before-the-oldest-reverted-undo
+ (let [file-id (uuid/next)
+ bad (commit file-id (uuid/next))
+ undo-1 (assoc (commit file-id (uuid/next)) :undo-index 4)
+ undo-2 (assoc (commit file-id (uuid/next)) :undo-index 3)
+ head (pcm/queue-entry [bad undo-1])
+ pstate (assoc (queued head) :buffer [undo-2])]
+ (t/is (= 4 (:undo-index (pcm/rollback-plan pstate head {:commit-ids [(:id bad) (:id undo-1)]}))))
+ (t/is (nil? (:undo-index (pcm/rollback-plan (queued (pcm/queue-entry [bad]))
+ (pcm/queue-entry [bad])
+ {:commit-ids [(:id bad)]}))))))
+
+(t/deftest saved-commits-are-kept-while-a-pending-commit-shares-their-group
+ (let [file-id (uuid/next)
+ group (uuid/next)
+ shared (commit file-id group)
+ alone (commit file-id (uuid/next))
+ pending (commit file-id group)
+ old (commit file-id (uuid/next))
+ entry (pcm/queue-entry [shared alone])
+ pstate (pcm/keep-saved-commits {:queue #queue [] :index {} :buffer [pending] :saved [old]}
+ entry)]
+ (t/is (= [(:id shared)] (mapv :id (:saved pstate))))
+ (t/is (= file-id (:file-id (first (:saved pstate))))
+ "a saved commit carries the file it was saved to")))
+
+(t/deftest remote-changes-older-than-the-oldest-pending-commit-are-forgotten
+ (let [file-id (uuid/next)
+ pending (assoc (commit file-id nil) :remote-seq 2)
+ pstate {:queue #queue [] :index {} :buffer [pending]
+ :remote-changes {file-id [{:seq 1 :changes [:old]} {:seq 3 :changes [:new]}]}}]
+ (t/is (= [{:seq 3 :changes [:new]}]
+ (get-in (pcm/prune-remote-changes pstate file-id) [:remote-changes file-id])))
+ (t/is (not (contains? (:remote-changes (pcm/prune-remote-changes (dissoc pstate :buffer) file-id))
+ file-id))
+ "a file with nothing pending keeps no remote changes")))
+
+(t/deftest a-release-plan-reverts-every-pending-commit-of-the-file-and-its-groups
+ (let [file-id (uuid/next)
+ lib-id (uuid/next)
+ group (uuid/next)
+ edit (commit file-id (uuid/next))
+ linked (commit file-id group)
+ lib (commit lib-id group)
+ pstate (assoc (queued (pcm/queue-entry [edit linked]))
+ :buffer [lib])
+ plan (pcm/release-plan pstate file-id)]
+ (t/is (= [(:id edit) (:id linked)] (mapv :id (get-in plan [:files file-id :reverted]))))
+ (t/is (empty? (get-in plan [:files file-id :redo])))
+ (t/is (= [(:id lib)] (mapv :id (get-in plan [:files lib-id :reverted])))
+ "the rest of the undo group goes too")))
+
+(t/deftest rollback-targets-name-the-files-pages-and-page-shapes-of-the-reverted-changes
+ (let [[f1 f2 p1 p2 p3 s1 s2 s3 s4 s5 c1] (repeatedly 11 uuid/next)
+ plan {:files {f1 {:reverted [{:redo-changes [{:type :add-obj :page-id p1 :id s1}
+ {:type :mov-objects :page-id p1 :shapes [s2 s3]}
+ {:type :mod-obj :component-id (uuid/next) :id s4}
+ {:type :mod-page :id p2}
+ {:type :set-comment-thread-position :page-id p1
+ :comment-thread-id c1}]}]}}
+ :compensate [{:file-id f2 :redo-changes [{:type :del-obj :page-id p3 :id s5}]}]}]
+ (t/is (= {:file-ids #{f1 f2}
+ :page-ids #{p1 p2 p3}
+ :shape-ids #{s1 s2 s3 s5}
+ :comment-thread-ids #{c1}}
+ (pcm/rollback-targets plan)))))
diff --git a/frontend/test/frontend_tests/data/persistence_lock_test.cljs b/frontend/test/frontend_tests/data/persistence_lock_test.cljs
new file mode 100644
index 0000000000..41ec6d38f9
--- /dev/null
+++ b/frontend/test/frontend_tests/data/persistence_lock_test.cljs
@@ -0,0 +1,209 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.persistence-lock-test
+ "Tests for the commits made while saves fail and the workspace is
+ locked (`app.main.data.persistence.lock`): user edits are refused, the
+ undo of rolled-back commits and derived data still commit."
+ (:require
+ [app.common.test-helpers.components :as cthc]
+ [app.common.test-helpers.compositions :as ctho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.persistence :as dps]
+ [app.main.data.persistence.lock :as plk]
+ [app.main.data.workspace :as dw]
+ [app.main.data.workspace.libraries :as dwl]
+ [app.main.data.workspace.undo :as dwu]
+ [app.main.repo :as rp]
+ [app.render-wasm.api :as wasm.api]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.persistence :as thp]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each {:before cthi/reset-idmap!})
+
+(defn- server-error
+ "A save answer that fails for good: an unexpected server error."
+ []
+ (rp/handle-response {:status 500
+ :body {:type :server-error :code :unhandled}
+ :uri "https://penpot.example.com/api/main/methods/update-file"}))
+
+(defn- answers
+ "A transport that gives each save, in order, the next of `responses`
+ (functions returning the answer's observable)."
+ [& responses]
+ (let [pending (atom responses)]
+ (fn [_ _]
+ (let [respond (first @pending)]
+ (swap! pending rest)
+ (respond)))))
+
+(defn- saved
+ [revn]
+ #(rx/of {:revn revn}))
+
+(def ^:private lock
+ "The lock a failed save leaves, set by hand."
+ #(assoc-in % [:workspace-global :persistence-lock] {:read-only? false}))
+
+(defn- record-commits
+ "Records, for each commit on `store`, whether the workspace was locked
+ when it was made. Answers the subscription and the atom."
+ [store]
+ (let [made (atom [])
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! (fn [_] (swap! made conj (plk/locked? @store)))))]
+ [sub made]))
+
+;; Scenario: a save fails for good and the workspace locks; the user then
+;; renames the shape through some UI the lock did not hide. Proves: the
+;; edit makes no commit, so nothing queues behind the failed save and the
+;; shape keeps its name.
+(t/deftest ^:async an-edit-while-locked-makes-no-commit
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ [sub made] (record-commits store)]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "B"))
+ (thp/rename-commit file-id page-id shape-id "A" "B")
+ ::dps/force-persist)
+ (await (async/wait-for #(plk/locked? @store) "the failed save locks the workspace"))
+ (reset! made [])
+ (ptk/emit! store
+ (dch/commit-changes {:redo-changes [(thp/rename page-id shape-id "C")]
+ :undo-changes [(thp/rename page-id shape-id "B")]})
+ ::dps/force-persist)
+ (await (async/settle))
+ (rx/dispose! sub)
+ (t/is (empty? @made) "no commit is made")
+ (t/is (= "B" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (empty? (get-in @store [:persistence :buffer])))
+ (t/is (= 1 (count (get-in @store [:persistence :queue])))
+ "the queue holds only the failed edit")))
+ (answers server-error))))
+
+;; Scenario: the user presses Ctrl+Z while the workspace is locked.
+;; Proves: the history stays where it was, since its commit would be
+;; refused after the index moved.
+(t/deftest ^:async undo-and-redo-do-nothing-while-locked
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-rect :rect1 :name "A"))
+ store (ths/setup-store file {:renderer :svg})
+ page-id (cthf/current-page-id file)
+ rect-id (cthi/id :rect1)
+ rename (fn [from to]
+ (dch/commit-changes {:redo-changes [(thp/rename page-id rect-id to)]
+ :undo-changes [(thp/rename page-id rect-id from)]}))
+ group (uuid/next)
+ entry {:undo-changes [(thp/rename page-id rect-id "A")]
+ :redo-changes [(thp/rename page-id rect-id "B")]
+ :undo-group group
+ :undo-groups #{group}
+ :tags #{}}
+ name-of #(:name (cths/get-shape (ths/get-file-from-state @store) :rect1))]
+ (ptk/emit! store (rename "A" "B") #(assoc % :workspace-undo {:items [entry] :index 0}))
+ (await (async/wait-for #(= "B" (name-of)) "the shape is renamed"))
+ (ptk/emit! store lock dwu/undo)
+ (await (async/settle))
+ (t/is (= "B" (name-of)) "undo changes nothing")
+ (t/is (= 0 (get-in @store [:workspace-undo :index])))
+ (ptk/emit! store #(update % :workspace-global dissoc :persistence-lock) dwu/undo)
+ (await (async/wait-for #(= "A" (name-of)) "undo works once unlocked"))
+ (ptk/emit! store lock dwu/redo)
+ (await (async/settle))
+ (t/is (= "A" (name-of)) "redo changes nothing")
+ (t/is (= -1 (get-in @store [:workspace-undo :index])))))
+
+;; Scenario: one action renames a shape in a library and in this file;
+;; the library's save lands, this file's fails for good and the workspace
+;; locks. Edit rights come back with a role change, which releases the
+;; failed edit while the lock still holds. Proves: the undo of the
+;; library's saved rename still commits and is saved, so the library goes
+;; back with the released edit.
+(t/deftest ^:async a-release-undoes-saved-commits-while-locked
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id store requests]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ lshape-id (uuid/next)
+ group (uuid/next)
+ linked (ptk/data-event ::dch/commit
+ (assoc @(thp/rename-commit lib-id page-id lshape-id "X" "Y")
+ :undo-group group))
+ commit (ptk/data-event ::dch/commit
+ (assoc @(thp/rename-commit file-id page-id shape-id "A" "B")
+ :undo-group group))
+ [sub made] (record-commits store)]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "B")
+ (thp/file-data page-id lshape-id "Y")))
+ (ptk/emit! store linked commit ::dps/force-persist)
+ (await (async/wait-for #(plk/locked? @store) "this file's failed save locks the workspace"))
+ (reset! made [])
+ (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/wait-for #(seq @made) "the library's rename is undone"))
+ (t/is (= [true] @made) "the undo commits while the lock holds")
+ (t/is (= "X" (thp/shape-name store lib-id page-id lshape-id)))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id)))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the undo is saved"))
+ (rx/dispose! sub)
+ (t/is (= 3 (count @requests)))
+ (t/is (= lib-id (get-in (nth @requests 2) [1 :id])))
+ (t/is (not (plk/locked? @store)))))
+ (answers (saved 1) server-error (saved 2)))))
+
+;; Scenario: texts without layout data are measured while the workspace is
+;; locked, as on a reload during the lock. Proves: the derived layout still
+;; commits, so the text and its layout data stay in step.
+(t/deftest ^:async text-layout-data-commits-while-locked
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-text :text1 "hello"))
+ store (ths/setup-store file {:renderer :svg})
+ position-data [{:x 0 :y 0 :width 80 :height 16 :fills [] :text "hello"}]
+ [sub made] (record-commits store)]
+ (await
+ (mock/with-mocks*
+ {wasm.api/calculate-position-data (mock/stub (fn [_] position-data))}
+ (ptk/emit! store lock (dw/update-page-position-data))
+ (await (async/wait-for #(seq @made) "the layout data is committed"))))
+ (rx/dispose! sub)
+ (t/is (= [true] @made))
+ (t/is (= position-data
+ (:position-data (cths/get-shape (ths/get-file-from-state @store) :text1))))))
+
+;; Scenario: a main component changes while the workspace is locked, by the
+;; undo of a rolled-back commit. Proves: its modification time still
+;; commits, so other files see the component changed again.
+(t/deftest ^:async a-component-touch-commits-while-locked
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-simple-component :component1 :main-root :main-child))
+ comp-id (cthi/id :component1)
+ ;; No modification time yet, so the touch shows whatever the clock
+ file (update-in file [:data :components comp-id] dissoc :modified-at)
+ store (ths/setup-store file {:renderer :svg})
+ [sub made] (record-commits store)]
+ (ptk/emit! store lock (dwl/touch-component comp-id))
+ (await (async/wait-for #(seq @made) "the touch is committed"))
+ (rx/dispose! sub)
+ (t/is (= [true] @made))
+ (t/is (some? (:modified-at (cthc/get-component (ths/get-file-from-state @store) :component1))))))
diff --git a/frontend/test/frontend_tests/data/persistence_retry_test.cljs b/frontend/test/frontend_tests/data/persistence_retry_test.cljs
index 1eba1bd1b5..1f79811018 100644
--- a/frontend/test/frontend_tests/data/persistence_retry_test.cljs
+++ b/frontend/test/frontend_tests/data/persistence_retry_test.cljs
@@ -15,7 +15,6 @@
(:require
[app.common.time :as ct]
[app.common.uuid :as uuid]
- [app.main.data.changes :as dch]
[app.main.data.event :as ev]
[app.main.data.persistence :as dps]
[app.main.errors :as errors]
@@ -27,62 +26,9 @@
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.async :as async]
[frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.persistence :refer [local-commit with-persistence]]
[potok.v2.core :as ptk]))
-(defn- local-commit
- "Builds a synthetic local commit event for `file-id`: a page edit as redo,
- no undo, from the `:local` source."
- [file-id]
- (ptk/data-event ::dch/commit
- {:id (uuid/next)
- :file-id file-id
- :file-revn 0
- :file-vern 0
- :source :local
- :features #{}
- :redo-changes [{:type :mod-page :id (uuid/next) :name "Edited"}]
- :undo-changes []}))
-
-(defn- with-persistence
- "Async fixture for the persistence tests: mocks the transport, flash and
- the leave-page task set (`:tasks`), and runs `f` with persistence
- initialized.
-
- Evaluates to a promise resolving once `f` settles and teardown completes;
- `await` it from an `^:async` test.
-
- By default the transport responds through the `:response` subject. Pass a
- `respond` function (`(fn [cmd params] observable)`) to drive the transport
- response directly instead. Delivery through the subject is asynchronous
- (`observe-on :async`): await each effect — via `wait-for` — before
- asserting it."
- [f & [respond]]
- (let [file-id (uuid/next)
- response (rx/subject)
- failures (atom [])
- requests (atom [])
- tasks (atom #{})
- store (ptk/store {:state {:current-file-id file-id
- :permissions {:can-edit true}
- :files {file-id {:id file-id :revn 0}}}
- :on-error #(t/is false (str %))})]
- (mock/with-mocks*
- {rp/cmd! (mock/stub (fn [cmd params]
- (swap! requests conj [cmd params])
- (if respond
- (respond cmd params)
- (->> response (rx/take 1) (rx/observe-on :async)))))
- errors/flash (fn [& {:keys [cause]}]
- (swap! failures conj cause))
- st/ongoing-tasks tasks}
- (try
- (ptk/emit! store (dps/initialize-persistence))
- (await (f {:file-id file-id :response response :failures failures
- :requests requests :store store :tasks tasks}))
- (finally
- (rx/dispose! store)
- (rx/end! response))))))
-
(defn- instant-backoff
"Timer double: the backoff delays fire at once and the slow cycle never
does, so a failure that outlasts the backoff settles in `:error`."
@@ -242,6 +188,42 @@
:code :idle-in-transaction-timeout
:hint "The transaction was idle too long and was cancelled"}})))
+;; Scenario: every save answer is a 429, the profile's save permit being
+;; held by another save. The connection is fine. Proves: the reconnect
+;; notice and, once the backoff is spent, the slow-cycle notice both say the
+;; server is busy instead of that the connection was lost.
+(t/deftest ^:async a-busy-server-gets-its-own-retry-notices
+ (let [timer-s (rx/subject)
+ hints (atom [])]
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id requests store]}]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (fn [ms]
+ (if (= ms dps/slow-retry-delay-ms)
+ (rx/subject)
+ timer-s)))
+ errors/flash (fn [& {:keys [hint]}]
+ (swap! hints conj hint)
+ (js/Promise.resolve nil))
+ i18n/tr (fn ([key] (str "translated:" key)) ([key & _] (str "translated:" key)))}
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(= 1 (get-in @store [:persistence :attempts]))
+ "the first answer starts the retries"))
+ (t/is (= "translated:errors.save-retrying-busy"
+ (get-in @store [:notification :content])))
+ (doseq [n [2 3 4]]
+ (rx/push! timer-s :tick)
+ (await (async/wait-for #(= n (count @requests)) "the retry is sent")))
+ (await (async/wait-for #(seq @hints) "the slow-cycle notice"))
+ (t/is (= ["translated:errors.save-still-retrying-busy"] @hints))
+ (rx/end! timer-s))))
+ (fn [_ _]
+ (rp/handle-response {:status 429
+ :body nil
+ :uri "https://penpot.example.com/api/main/methods/update-file"}))))))
+
;; Scenario: the backend fails the save for any other reason. Proves: only
;; the busy-server codes retry; a server defect stops saving at once.
(t/deftest ^:async other-server-errors-stay-terminal
@@ -685,6 +667,44 @@
(rx/throw (ex-info "offline" {:type :offline}))
(rx/of {:revn 1})))))))
+;; Scenario: the network stays down past the backoff, so the slow cycle
+;; takes over. The workspace stays read-only through each slow attempt,
+;; including while one is in flight, and goes back to editable once one
+;; lands. Proves: the lock follows the failure, not the status flips of
+;; the slow cycle.
+(t/deftest ^:async the-slow-cycle-keeps-the-workspace-locked-until-a-save-lands
+ (let [calls (atom 0)
+ cycles (atom [])
+ attempt-s (rx/subject)]
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (slow-cycle-timer cycles))}
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(and (= 1 (count @cycles))
+ (some? (get-in @store [:workspace-global :persistence-lock])))
+ "the spent backoff locks the workspace"))
+ (t/is (true? (get-in @store [:workspace-global :read-only?])))
+ (t/is (dps/save-retrying? (:persistence @store)))
+
+ (rx/push! (last @cycles) :tick)
+ (await (async/wait-for #(= 5 @calls) "the slow attempt is sent"))
+ (await (async/settle))
+ (t/is (= :saving (get-in @store [:persistence :status])))
+ (t/is (some? (get-in @store [:workspace-global :persistence-lock]))
+ "a slow attempt in flight keeps the lock")
+
+ (rx/push! attempt-s {:revn 1})
+ (await (async/wait-for #(nil? (get-in @store [:workspace-global :persistence-lock]))
+ "the landed save lifts the lock"))
+ (t/is (false? (get-in @store [:workspace-global :read-only?]))))))
+ (fn [_ _]
+ (if (< (swap! calls inc) 5)
+ (rx/throw (ex-info "offline" {:type :offline}))
+ (->> attempt-s (rx/take 1) (rx/observe-on :async))))))))
+
;; Scenario: a gateway error outlasts the backoff, then the proxy recovers.
;; Proves: each gateway status takes the slow cycle and saves the held edit.
(t/deftest ^:async a-gateway-error-arms-the-slow-cycle
@@ -737,7 +757,8 @@
;; Scenario: a gateway answers 504 only after its own timeout, while the
;; backend may still be applying the save. Proves: slow failures below the
;; limit still arm the slow cycle; at the limit the save stops being sent,
-;; and opening a file releases it instead of sending it again.
+;; even with backoff retries left, and recovery releases it instead of
+;; sending it again.
(t/deftest ^:async slow-failures-stop-the-slow-cycle-at-the-limit
(doseq [[slow-count armed?] [[(dec dps/max-slow-failures) true]
[dps/max-slow-failures false]]]
@@ -755,7 +776,8 @@
(await (async/wait-for #(= :error (get-in @store [:persistence :status]))
(str slow-count " slow failures spend the backoff")))
(await (async/settle))
- (t/is (= 4 (count @requests)))
+ (t/is (= (if armed? 4 slow-count) (count @requests))
+ "the backoff sends no attempt past the limit")
(t/is (= slow-count (get-in @store [:persistence :slow-failures])))
(t/is (= (if armed? 1 0) (count @cycles))
(str slow-count " slow failures " (if armed? "arm" "do not arm") " the slow cycle"))
@@ -764,7 +786,7 @@
(ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
(await (async/wait-for #(empty? (get-in @store [:persistence :queue]))
"recovery releases the held edit"))
- (t/is (= 4 (count @requests)) "the released edit is not sent again")))))
+ (t/is (= slow-count (count @requests)) "the released edit is not sent again")))))
(fn [_ _]
(when (<= (swap! calls inc) slow-count)
(swap! clock + dps/slow-failure-ms))
@@ -792,9 +814,48 @@
"the attempt fails"))
(await (async/settle))
(t/is (= 1 (count @cycles)) "no further cycle is armed")
- (t/is (= 1 (count (get-in @store [:persistence :queue])))))))
+ (t/is (= 1 (count (get-in @store [:persistence :queue]))))
+ (t/is (not (dps/save-retrying? (:persistence @store)))
+ "the stopped cycle no longer reads as retrying"))))
(fn [_ _] (rx/throw (ex-info "offline" {:type :offline})))))))
+;; Scenario: the backoff fails fast (offline), then every slow-cycle attempt
+;; fails slowly until the limit. Proves: the cycle stops at the limit and
+;; the failure no longer reads as retrying, so the banner shows the stopped
+;; copy.
+(t/deftest ^:async a-slow-cycle-stopped-at-the-limit-is-no-longer-retrying
+ (let [clock (atom 0)
+ calls (atom 0)
+ cycles (atom [])]
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id requests store]}]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (slow-cycle-timer cycles))
+ ct/now (mock/stub #(ct/inst @clock))}
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @cycles)) "the fast backoff arms the slow cycle"))
+ (doseq [n (range 1 dps/max-slow-failures)]
+ (rx/push! (last @cycles) :tick)
+ (await (async/wait-for #(= (inc n) (count @cycles))
+ (str "slow failure " n " arms the next cycle"))))
+ (t/is (dps/save-retrying? (:persistence @store)))
+ (rx/push! (last @cycles) :tick)
+ (await (async/wait-for #(= (+ 4 dps/max-slow-failures) (count @requests))
+ "the last slow attempt is sent"))
+ (await (async/wait-for #(= :error (get-in @store [:persistence :status]))
+ "the last slow attempt fails"))
+ (await (async/settle))
+ (t/is (= dps/max-slow-failures (count @cycles)) "no further cycle is armed")
+ (t/is (nil? (get-in @store [:persistence :recovering])))
+ (t/is (not (dps/save-retrying? (:persistence @store)))))))
+ (fn [_ _]
+ ;; The four backoff sends fail at once, the slow-cycle ones slowly
+ (when (> (swap! calls inc) 4)
+ (swap! clock + dps/slow-failure-ms))
+ (rx/throw (ex-info "offline" {:type :offline})))))))
+
;; Scenario: the backoff is spent and the user leaves the workspace, which
;; stops the slow cycle, then opens a file again. Recovery sends the queue
;; once more instead of releasing it, and it saves. Proves: edits held by a
@@ -823,6 +884,35 @@
(rx/throw (ex-info "offline" {:type :offline}))
(rx/of {:revn 1})))))))
+;; Scenario: saves keep failing on a transport error, so the slow cycle
+;; holds the edit, and the user is made a viewer; the role event comes again
+;; while the user is still a viewer. Proves: the edit stays queued and the
+;; leave warning stays on until edit rights return, instead of being dropped
+;; while the canvas still shows it.
+(t/deftest ^:async a-viewer-keeps-the-edit-held-by-the-slow-cycle
+ (let [cycles (atom [])]
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id requests store]}]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (slow-cycle-timer cycles))}
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @cycles)) "the slow cycle is armed"))
+ (ptk/emit! store
+ #(assoc-in % [:permissions :can-edit] false)
+ (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/wait-for #(= :save-permission-denied
+ (get-in @store [:persistence :error :code]))
+ "the viewer cannot send the edit"))
+ (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/settle))
+ (t/is (= :error (get-in @store [:persistence :status])))
+ (t/is (= 1 (count (get-in @store [:persistence :queue])))
+ "the edit stays queued while the user is a viewer")
+ (t/is (= 4 (count @requests)) "a viewer sends nothing"))))
+ (fn [_ _] (rx/throw (ex-info "offline" {:type :offline})))))))
+
;; Leaving the workspace tests.
;; Scenario: a save fails on a transport error and the user leaves the
diff --git a/frontend/test/frontend_tests/data/persistence_rollback_test.cljs b/frontend/test/frontend_tests/data/persistence_rollback_test.cljs
new file mode 100644
index 0000000000..3efff3cb85
--- /dev/null
+++ b/frontend/test/frontend_tests/data/persistence_rollback_test.cljs
@@ -0,0 +1,843 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.persistence-rollback-test
+ "Tests for the rollback of a save the server partly rejected
+ (`app.main.data.persistence`): which commits are reverted, how peers'
+ changes survive, and how the UI state follows. The pure plan behind it
+ is tested in `frontend-tests.data.persistence-commits-test`."
+ (:require
+ [app.common.geom.point :as gpt]
+ [app.common.time :as ct]
+ [app.common.types.shape :as cts]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.modal :as-alias modal]
+ [app.main.data.persistence :as dps]
+ [app.main.data.workspace :as dw]
+ [app.main.data.workspace.comments :as dwcm]
+ [app.main.data.workspace.undo :as dwu]
+ [app.main.errors :as errors]
+ [app.util.i18n :as i18n]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.persistence :as thp]
+ [potok.v2.core :as ptk]))
+
+(defn- grouped
+ "`commit` with its undo group set to `group`: one action that makes
+ several commits gives them the same undo group."
+ [commit group]
+ (ptk/data-event ::dch/commit (assoc @commit :undo-group group)))
+
+(defn- add-shape-commit
+ "A local commit of `file-id` that adds `shape` to the root of `page-id`."
+ [file-id page-id {:keys [id] :as shape}]
+ (ptk/data-event ::dch/commit
+ {:id (uuid/next)
+ :file-id file-id
+ :file-revn 0
+ :file-vern 0
+ :source :local
+ :features #{}
+ :undo-group (uuid/next)
+ :redo-changes [{:type :add-obj :id id :page-id page-id
+ :parent-id uuid/zero :frame-id uuid/zero :obj shape}]
+ :undo-changes [{:type :del-obj :id id :page-id page-id}]}))
+
+(defn- sent-changes
+ "The changes of each group of the `n`th save request."
+ [requests n]
+ (mapv :changes (get-in (nth @requests n) [1 :changes-with-metadata])))
+
+;; Scenario: the first save carries two commits; while it is in flight a
+;; third one is queued, an edit of another file is queued too, and a fourth
+;; one waits in the buffer. The server keeps the first commit and rejects
+;; the second. The file goes back to the first commit: the rejected one and
+;; every later one of that file are undone and dropped from the queue, the
+;; buffer and the undo history, while the other file's edit is still sent.
+;; Proves: a rejection leaves the file as the server holds it and the queue
+;; keeps going.
+(t/deftest ^:async a-rejected-save-undoes-the-rejected-commit-and-every-later-one
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store failures]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ other-id (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (thp/rename-commit file-id page-id shape-id "B" "C")
+ commit3 (thp/rename-commit file-id page-id shape-id "C" "D")
+ commit4 (thp/rename-commit file-id page-id shape-id "D" "E")
+ other (thp/local-commit other-id)]
+ ;; The local data already holds the four renames
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "E"))
+ #(-> %
+ (assoc-in [:files other-id] {:id other-id :revn 0})
+ (assoc :workspace-undo {:items (mapv thp/undo-entry [commit1 commit2 commit3 commit4])
+ :index 3})
+ (assoc-in [:workspace-local :selected] #{shape-id})))
+ (ptk/emit! store commit1 commit2 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the first two commits are sent"))
+ (ptk/emit! store commit3 other ::dps/force-persist)
+ (await (async/wait-for #(= 3 (count (get-in @store [:persistence :queue])))
+ "the third commit and the other file's edit are queued"))
+ (ptk/emit! store commit4)
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "the fourth commit is buffered"))
+
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(= 2 (count @requests)) "the other file's edit is sent next"))
+
+ (t/is (= "B" (thp/shape-name store file-id page-id shape-id))
+ "the file holds the commits the server kept")
+ (t/is (= [other-id] (mapv #(get-in @store [:persistence :index % :file-id])
+ (get-in @store [:persistence :queue])))
+ "only the other file's edit is still queued")
+ (t/is (empty? (get-in @store [:persistence :buffer])))
+ (t/is (= [(:undo-group @commit1)]
+ (mapv :undo-group (get-in @store [:workspace-undo :items]))))
+ (t/is (= 0 (get-in @store [:workspace-undo :index])))
+ (t/is (= 1 (count @failures)) "the user is told once")
+ (t/is (= other-id (get-in (second @requests) [1 :id])))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; Scenario: an edit is buffered while a save is in flight and the save comes
+;; back rejected, so the rollback drops the edit; the 200 ms pending notice
+;; of that edit fires afterwards. Proves: with nothing left to save the
+;; notice is ignored and the status stays :saved, so waiters such as "Pin
+;; this version" are not left hanging.
+(t/deftest ^:async a-pending-notice-after-a-rollback-leaves-the-status-saved
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (thp/rename-commit file-id page-id shape-id "B" "C")]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "C")))
+ (ptk/emit! store commit1 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the first commit is sent"))
+ (ptk/emit! store commit2)
+ (rx/push! response (thp/rejection (:id @commit1)))
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :buffer])))
+ "the rollback drops both commits"))
+ ;; The notice the dropped edit scheduled
+ (ptk/emit! store (#'dps/update-status :pending))
+ (await (async/settle))
+ (t/is (= :saved (get-in @store [:persistence :status]))))))))
+
+;; Scenario: two edits wait in the buffer, the second one changing the
+;; opacity, when a peer's opacity change arrives. The server keeps the first
+;; edit and rejects the second. The server holds the peer's opacity, so the
+;; local file must too, not the opacity from before the rejected edit.
+;; Proves: the rollback applies the peer's changes again over the undone
+;; commits.
+(t/deftest ^:async a-rollback-keeps-a-peer-change-to-the-same-attribute
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (thp/attr-commit file-id page-id shape-id :opacity 0.5 0.9)]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "B" :opacity 0.9)))
+ (ptk/emit! store commit1 commit2)
+ (await (async/wait-for #(= 2 (count (get-in @store [:persistence :buffer])))
+ "both edits are buffered"))
+ (ptk/emit! store (thp/remote-commit file-id 1 [(thp/set-attr page-id shape-id :opacity 0.3)]))
+ (await (async/settle))
+ (t/is (= 0.9 (thp/shape-attr store file-id page-id shape-id :opacity))
+ "the local edit stays on top of the peer's while pending")
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the edits are sent"))
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the rollback settles"))
+ (t/is (= 0.3 (thp/shape-attr store file-id page-id shape-id :opacity))
+ "the peer's opacity, as on the server")
+ (t/is (= "B" (thp/shape-name store file-id page-id shape-id))
+ "the kept edit stays"))))))
+
+;; Scenario: a peer's opacity change arrives while an opacity edit is
+;; pending; that edit is saved (on the server it lands after the peer's).
+;; Later two new edits are sent and the second is rejected. The rollback
+;; must not apply the old peer change again, which would undo the saved
+;; edit. Proves: remote changes older than the oldest pending commit are
+;; forgotten once the commits pending before them are saved.
+(t/deftest ^:async a-rollback-ignores-peer-changes-older-than-the-pending-commits
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit0 (thp/attr-commit file-id page-id shape-id :opacity 0.5 0.7)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (thp/rename-commit file-id page-id shape-id "B" "C")]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "A" :opacity 0.7)))
+ (ptk/emit! store commit0)
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer])) "the edit is buffered"))
+ (ptk/emit! store (thp/remote-commit file-id 1 [(thp/set-attr page-id shape-id :opacity 0.3)]))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the opacity edit is sent"))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the opacity edit is saved"))
+ (t/is (empty? (get-in @store [:persistence :remote-changes file-id]))
+ "nothing pending, nothing kept")
+ (ptk/emit! store
+ #(assoc-in % [:files file-id :data :pages-index page-id :objects shape-id :name] "C")
+ commit1 commit2 ::dps/force-persist)
+ (await (async/wait-for #(= 2 (count @requests)) "the renames are sent"))
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(= "B" (thp/shape-name store file-id page-id shape-id))
+ "the rejected rename is undone"))
+ (t/is (= 0.7 (thp/shape-attr store file-id page-id shape-id :opacity))
+ "the saved opacity edit stays"))))))
+
+;; Undo groups across files and saves.
+
+;; Scenario: one action makes a commit in this file and one in a library
+;; (as updating a main component from a copy does). The library also has an
+;; unrelated edit before the action and another after it. This file's save
+;; comes back with the action's commit rejected while the library's commits
+;; are still queued. Proves: the rejection reverts the whole action, so the
+;; library drops its commit of the action and every later one, and keeps
+;; the edit made before it.
+(t/deftest ^:async a-rejection-reverts-the-pending-commits-of-the-same-action-in-other-files
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ lshape-id (uuid/next)
+ group (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (grouped (thp/rename-commit file-id page-id shape-id "B" "C") group)
+ before (thp/rename-commit lib-id page-id lshape-id "X" "Y")
+ linked (grouped (thp/rename-commit lib-id page-id lshape-id "Y" "Z") group)
+ after (thp/rename-commit lib-id page-id lshape-id "Z" "W")]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "C")
+ (thp/file-data page-id lshape-id "W")))
+ (ptk/emit! store commit1 commit2 before linked after ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "this file's save is sent"))
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(= 2 (count @requests)) "the library's save is sent next"))
+ (t/is (= "B" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (= "Y" (thp/shape-name store lib-id page-id lshape-id))
+ "the library goes back to the edit made before the action")
+ (t/is (= lib-id (get-in (second @requests) [1 :id])))
+ (t/is (= [[(thp/rename page-id lshape-id "Y")]] (sent-changes requests 1))
+ "only the library's edit made before the action is saved")
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; Scenario: one action makes a commit in a library and one in this file.
+;; The library's is saved first; then this file's save comes back with the
+;; action's commit rejected. The library's commit can no longer be dropped.
+;; Proves: a new commit undoes the saved part of the rejected action.
+(t/deftest ^:async a-rejection-undoes-the-saved-commits-of-the-same-action-with-a-new-commit
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ lshape-id (uuid/next)
+ group (uuid/next)
+ linked (grouped (thp/rename-commit lib-id page-id lshape-id "X" "Y") group)
+ commit (grouped (thp/rename-commit file-id page-id shape-id "A" "B") group)]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "B")
+ (thp/file-data page-id lshape-id "Y")))
+ (ptk/emit! store linked commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the library's save is sent first"))
+ (t/is (= lib-id (get-in (first @requests) [1 :id])))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= 2 (count @requests)) "this file's save is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "a new commit undoes the library's"))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 3 (count @requests)) "the new commit is sent"))
+ (t/is (= lib-id (get-in (nth @requests 2) [1 :id])))
+ (t/is (= [[(thp/rename page-id lshape-id "X")]] (sent-changes requests 2)))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (= "X" (thp/shape-name store lib-id page-id lshape-id)))
+ (rx/push! response {:revn 2})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; Scenario: as above, while the user has an undo transaction open. Proves:
+;; the undo commit gets its own group, not the transaction's, so a later
+;; rejection in the transaction does not revert it.
+(t/deftest ^:async the-undo-of-a-saved-commit-stays-out-of-an-open-transaction
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ lshape-id (uuid/next)
+ group (uuid/next)
+ linked (grouped (thp/rename-commit lib-id page-id lshape-id "X" "Y") group)
+ commit (grouped (thp/rename-commit file-id page-id shape-id "A" "B") group)]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "B")
+ (thp/file-data page-id lshape-id "Y")))
+ (ptk/emit! store linked commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the library's save is sent first"))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= 2 (count @requests)) "this file's save is sent"))
+ (ptk/emit! store (dwu/start-undo-transaction (js/Symbol) :timeout 0))
+ (let [tx-group (get-in @store [:workspace-undo :transaction :commit-group])]
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "a new commit undoes the library's"))
+ (t/is (some? tx-group))
+ (t/is (not= tx-group (get-in @store [:persistence :buffer 0 :undo-group])))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 3 (count @requests)) "the new commit is sent"))
+ (rx/push! response {:revn 2})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains"))))))))
+
+;; Scenario: as above, but the library is no longer loaded when this file's
+;; save comes back. Proves: the undo of the library's saved commit is still
+;; sent, without touching local data the library no longer has.
+(t/deftest ^:async a-rejection-queues-the-undo-of-a-saved-commit-of-a-file-not-loaded
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ lshape-id (uuid/next)
+ group (uuid/next)
+ linked (grouped (thp/rename-commit lib-id page-id lshape-id "X" "Y") group)
+ commit (grouped (thp/rename-commit file-id page-id shape-id "A" "B") group)]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "B")
+ (thp/file-data page-id lshape-id "Y")))
+ (ptk/emit! store linked commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the library's save is sent first"))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= 2 (count @requests)) "this file's save is sent"))
+ (ptk/emit! store #(update % :files dissoc lib-id))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(= 3 (count @requests)) "the undo is queued and sent"))
+ (t/is (= lib-id (get-in (nth @requests 2) [1 :id])))
+ (t/is (= [[(thp/rename page-id lshape-id "X")]] (sent-changes requests 2)))
+ (t/is (empty? (get-in @store [:persistence :buffer])))
+ (t/is (nil? (get-in @store [:files lib-id])) "no local data is made up")
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id)))
+ (rx/push! response {:revn 2})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; Scenario: one action makes two commits in this file and the save keeps
+;; the first and rejects the second. Proves: the kept commit of the action
+;; is undone too, with a new commit, so no action is left half done.
+(t/deftest ^:async a-rejection-undoes-the-kept-commits-of-the-same-action
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ group (uuid/next)
+ commit1 (grouped (thp/rename-commit file-id page-id shape-id "A" "B") group)
+ commit2 (grouped (thp/attr-commit file-id page-id shape-id :opacity 1 0.5) group)]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "B" :opacity 0.5)))
+ (ptk/emit! store commit1 commit2 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the action is sent"))
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "a new commit undoes the kept one"))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 2 (count @requests)) "the new commit is sent"))
+ (t/is (= [[(thp/rename page-id shape-id "A")]] (sent-changes requests 1)))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (= 1 (thp/shape-attr store file-id page-id shape-id :opacity)))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; Scenario: applying a token to five shapes makes three commits inside one
+;; undo transaction, all sent in one save; the server keeps the first two
+;; and rejects the third. Proves: the whole action is reverted, the kept
+;; commits by a new commit, so opacity and applied tokens are back to their
+;; starting values on every shape.
+(t/deftest ^:async a-rejection-reverts-every-commit-of-an-undo-transaction
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-ids (into [] (repeatedly 5 uuid/next))
+ shapes (map #(cts/setup-shape {:id % :type :rect :name "R" :opacity 1
+ :parent-id uuid/zero :frame-id uuid/zero})
+ shape-ids)
+ apply-to (fn [ids]
+ (dch/commit-changes
+ {:redo-changes (into []
+ (mapcat (fn [id]
+ [(thp/set-attr page-id id :opacity 0.5)
+ (thp/set-attr page-id id :applied-tokens {:opacity "half"})]))
+ ids)
+ :undo-changes (into []
+ (mapcat (fn [id]
+ [(thp/set-attr page-id id :opacity 1)
+ (thp/set-attr page-id id :applied-tokens nil)]))
+ ids)}))
+ tx-id (js/Symbol)]
+ (ptk/emit! store (thp/open-file file-id page-id
+ {:pages [page-id]
+ :pages-index {page-id {:id page-id
+ :name "Page"
+ :objects (into {uuid/zero (cts/setup-shape {:id uuid/zero :type :frame
+ :shapes shape-ids})}
+ (map (juxt :id identity))
+ shapes)}}}))
+ (ptk/emit! store
+ (dwu/start-undo-transaction tx-id :timeout 0)
+ (apply-to (subvec shape-ids 0 2))
+ (apply-to (subvec shape-ids 2 4))
+ (apply-to (subvec shape-ids 4 5))
+ (dwu/commit-undo-transaction tx-id)
+ ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the action is sent"))
+ (let [groups (get-in (first @requests) [1 :changes-with-metadata])]
+ (t/is (= 3 (count groups)) "the save carries the three commits")
+ (rx/push! response (thp/rejection (:commit-id (nth groups 2)))))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "a new commit undoes the kept ones"))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 2 (count @requests)) "the new commit is sent"))
+ (doseq [id shape-ids]
+ (t/is (= 1 (thp/shape-attr store file-id page-id id :opacity)))
+ (t/is (nil? (thp/shape-attr store file-id page-id id :applied-tokens))))
+ (t/is (= #{1}
+ (into #{}
+ (comp (mapcat :changes)
+ (mapcat :operations)
+ (filter #(= :opacity (:attr %)))
+ (map :val))
+ (get-in (second @requests) [1 :changes-with-metadata])))
+ "the new commit puts the kept opacity back on the server")
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the queue drains")))))))
+
+;; UI state after a rollback.
+
+;; Scenario: the rejected commit added the text being edited. Proves: the
+;; rollback leaves edition mode, so the editor does not keep pointing at a
+;; shape that no longer exists.
+(t/deftest ^:async a-rollback-leaves-the-edition-of-a-removed-shape
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ text-id (uuid/next)
+ text (cts/setup-shape {:id text-id :type :text :parent-id uuid/zero :frame-id uuid/zero})
+ commit (add-shape-commit file-id page-id text)]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (-> (thp/file-data page-id shape-id "A")
+ (thp/add-shape page-id text)))
+ #(assoc-in % [:workspace-local :edition] text-id))
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the new text is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(nil? (get-in @store [:workspace-local :edition]))
+ "the rollback leaves edition mode"))
+ (t/is (nil? (thp/shape-attr store file-id page-id text-id :id))))))))
+
+;; Scenario: the user edits the nodes of a saved path and the rejected commit
+;; changed that path. The path editor works on its own copy of the shape,
+;; which still holds the rejected content. Proves: the rollback leaves the
+;; edition and drops that copy, so the editor neither shows nor saves the
+;; reverted content.
+(t/deftest ^:async a-rollback-leaves-the-edition-of-a-changed-path
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit (thp/rename-commit file-id page-id shape-id "A" "B")]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "B"))
+ #(-> %
+ (assoc-in [:workspace-local :edition] shape-id)
+ (assoc-in [:workspace-local :edit-path shape-id]
+ {:edit-mode :move :old-content [:rejected]})
+ (assoc-in [:workspace-drawing :object]
+ {:id shape-id :content [:rejected]})))
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the edit is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(nil? (get-in @store [:workspace-local :edition]))
+ "the rollback leaves edition mode"))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (nil? (get-in @store [:workspace-local :edit-path shape-id]))
+ "the editor's state is dropped")
+ (t/is (nil? (get-in @store [:workspace-drawing :object]))
+ "the editor's copy of the path is dropped")
+ (await (async/settle))
+ (t/is (= 1 (count @requests)) "closing the editor saves nothing"))))))
+
+;; Scenario: a rollback changes a shape other than the one being edited.
+;; Proves: the edition stays open.
+(t/deftest ^:async a-rollback-keeps-the-edition-of-an-unchanged-shape
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ other-id (uuid/next)
+ other (cts/setup-shape {:id other-id :type :rect :name "Other"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ commit (thp/rename-commit file-id page-id shape-id "A" "B")]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (-> (thp/file-data page-id shape-id "B")
+ (thp/add-shape page-id other)))
+ #(assoc-in % [:workspace-local :edition] other-id))
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the edit is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(= "A" (thp/shape-name store file-id page-id shape-id))
+ "the rollback lands"))
+ (await (async/settle))
+ (t/is (= other-id (get-in @store [:workspace-local :edition]))))))))
+
+;; Scenario: the color picker is open on a new rectangle when the save that
+;; created it is rejected. Proves: the rollback closes the picker, which
+;; would otherwise edit a shape that no longer exists.
+(t/deftest ^:async a-rollback-closes-the-color-picker-of-a-removed-shape
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ rect-id (uuid/next)
+ rect (cts/setup-shape {:id rect-id :type :rect :parent-id uuid/zero :frame-id uuid/zero})
+ commit (add-shape-commit file-id page-id rect)]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (-> (thp/file-data page-id shape-id "A")
+ (thp/add-shape page-id rect)))
+ #(-> %
+ (assoc-in [:workspace-local :selected] #{rect-id})
+ (assoc ::modal/modal {:id (uuid/next) :type :colorpicker :props {}})))
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the new rectangle is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(empty? (get-in @store [:workspace-local :selected]))
+ "the rollback deselects the removed shape"))
+ (t/is (nil? (::modal/modal @store)) "the color picker is closed"))))))
+
+;; Scenario: the user undoes a rename with Ctrl+Z and the server rejects the
+;; commit the undo makes. Proves: the rollback puts the rename back on
+;; screen and the history back where it was, instead of clearing it.
+(t/deftest ^:async a-rejected-undo-puts-the-change-and-the-history-back
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ item (thp/undo-entry (thp/rename-commit file-id page-id shape-id "A" "B"))]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "B"))
+ #(assoc % :workspace-undo {:items [item] :index 0}))
+ (ptk/emit! store dwu/undo)
+ (await (async/wait-for #(= "A" (thp/shape-name store file-id page-id shape-id))
+ "the rename is undone"))
+ (t/is (= -1 (get-in @store [:workspace-undo :index])))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the undo is sent"))
+ (rx/push! response (thp/rejection
+ (get-in (first @requests) [1 :changes-with-metadata 0 :commit-id])))
+ (await (async/wait-for #(= "B" (thp/shape-name store file-id page-id shape-id))
+ "the rename is back"))
+ (t/is (= [item] (get-in @store [:workspace-undo :items])) "the history stays")
+ (t/is (= 0 (get-in @store [:workspace-undo :index])) "it points at the rename again")
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the rollback settles")))))))
+
+;; Version restores.
+
+(defn- restore-version
+ "The load of `file-id` that a peer's restore causes: another version
+ with `data`."
+ [file-id data]
+ (#'dw/bundle-fetched {:file {:id file-id :revn 0 :vern 1 :data data}
+ :file-id file-id
+ :thumbnails {}}))
+
+;; Scenario: the undo of a rejected rename cannot be applied, so the
+;; rollback reloads the file. Proves: `::rolled-back` waits for the
+;; reloaded data, so a listener that reads the listed shapes sees the
+;; server data, never the rejected one.
+(t/deftest ^:async a-rollback-that-reloads-the-file-is-reported-after-the-reload
+ (let [reloads (atom 0)
+ original (get-method ptk/resolve ::dw/reload-current-file)]
+ (-add-method ptk/resolve ::dw/reload-current-file
+ (fn [_ _]
+ (swap! reloads inc)
+ (ptk/data-event ::reloaded {})))
+ (try
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ ;; A change type with no handler, so its undo throws
+ commit (ptk/data-event ::dch/commit
+ (update @(thp/rename-commit file-id page-id shape-id "A" "B")
+ :undo-changes #(into [{:type :debug-fail}] %)))
+ seen (atom [])
+ sub (->> (ptk/input-stream store)
+ (rx/filter (ptk/type? ::dps/rolled-back))
+ (rx/subs! (fn [event]
+ (swap! seen conj
+ [(:shape-ids @event)
+ (thp/shape-name store file-id page-id shape-id)]))))]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "B")))
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the rename is sent"))
+ (rx/push! response (thp/rejection (:id @commit)))
+ (await (async/wait-for #(= 1 @reloads) "the rollback reloads the file"))
+ (await (async/settle))
+ (t/is (empty? @seen) "nothing is reported before the reload")
+ (ptk/emit! store (#'dw/bundle-fetched {:file {:id file-id :revn 0
+ :data (thp/file-data page-id shape-id "A")}
+ :file-id file-id
+ :thumbnails {}}))
+ (await (async/wait-for #(seq @seen) "the rollback is reported"))
+ (t/is (= [[#{shape-id} "A"]] @seen) "the listener reads the reloaded data")
+ (rx/dispose! sub)))))
+ (finally
+ (-add-method ptk/resolve ::dw/reload-current-file original)))))
+
+;; Scenario: a save of two renames is in flight and a third rename waits in
+;; the queue when a peer restores an earlier version; the file reloads to
+;; it and a peer's change to it arrives. The answer then comes: the server
+;; kept the first rename and rejected the second, before the restore.
+;; Proves: neither the peer's change, the answer nor its rollback replays
+;; the renames on the reloaded data, the user gets no rejection warning,
+;; and the queued rename, made on the replaced version, is dropped unsent.
+(t/deftest ^:async an-answer-from-before-a-restore-leaves-the-reloaded-file-alone
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store failures]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")
+ commit2 (thp/rename-commit file-id page-id shape-id "B" "C")
+ commit3 (thp/rename-commit file-id page-id shape-id "C" "D")]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "D"))
+ #(assoc-in % [:files file-id :vern] 0))
+ (ptk/emit! store commit1 commit2 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the first two renames are sent"))
+ (ptk/emit! store commit3 ::dps/force-persist)
+ (await (async/wait-for #(= 2 (count (get-in @store [:persistence :queue])))
+ "the third rename is queued"))
+
+ (ptk/emit! store (restore-version file-id (thp/file-data page-id shape-id "Restored")))
+ (ptk/emit! store (thp/remote-commit file-id 1 [(thp/set-attr page-id shape-id :opacity 0.5)]))
+ (await (async/settle))
+ (t/is (= "Restored" (thp/shape-name store file-id page-id shape-id))
+ "a peer's change does not replay the renames")
+ (rx/push! response (thp/rejection (:id @commit2)))
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "the queue drains"))
+ (t/is (= "Restored" (thp/shape-name store file-id page-id shape-id))
+ "the file keeps the restored version")
+ (t/is (= 0.5 (thp/shape-attr store file-id page-id shape-id :opacity)))
+ (t/is (empty? @failures) "no rejection warning for a replaced version")
+ (t/is (= 1 (count @requests)) "the rename made on the replaced version is not sent"))))))
+
+;; Scenario: a save is in flight when a peer restores an earlier version and
+;; the file reloads; the server handled the save after the restore, so it
+;; refuses it for its old version. Proves: the failure of a save made on a
+;; replaced version drops it instead of halting the queue and locking the
+;; workspace.
+(t/deftest ^:async a-save-refused-after-a-restore-is-dropped
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store failures]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "B"))
+ #(assoc-in % [:files file-id :vern] 0))
+ (ptk/emit! store (thp/rename-commit file-id page-id shape-id "A" "B") ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the rename is sent"))
+ (ptk/emit! store (restore-version file-id (thp/file-data page-id shape-id "Restored")))
+ (rx/error! response (ex-info "A different version has been restored for the file."
+ {:type :validation :code :vern-conflict}))
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "the refused save is dropped"))
+ (t/is (empty? @failures))
+ (t/is (nil? (get-in @store [:workspace-global :persistence-lock])))
+ (t/is (= "Restored" (thp/shape-name store file-id page-id shape-id))))))))
+
+(defn- comment-thread
+ "A comment thread of `file-id` on `page-id`, pinned on `frame-id`."
+ [file-id page-id frame-id position]
+ {:id (uuid/next) :page-id page-id :file-id file-id :project-id (uuid/next)
+ :owner-id (uuid/next) :file-name "File" :seqn 1 :content "Note"
+ :participants #{} :created-at (ct/now) :modified-at (ct/now)
+ :position position :frame-id frame-id})
+
+;; Scenario: comment #1 sits on board Y. During a save Y is moved, which
+;; moves pin #1 in the same action, and board R is drawn and gets comment
+;; #2. The server rejects the move, so the move, the pin move and R are
+;; rolled back. Comment positions are saved by their own requests, so the
+;; server already holds the moved pin and #2 on R. Proves: pin #1 goes back
+;; to its spot on screen and on the server, and #2, whose board is gone,
+;; moves to the page root, as deleting the board does.
+(t/deftest ^:async a-rollback-puts-comment-pins-back-and-detaches-them-from-removed-boards
+ (let [answer (rx/subject)
+ respond (fn [cmd _]
+ (if (= :update-file cmd)
+ (->> answer (rx/take 1) (rx/observe-on :async))
+ (rx/of nil)))]
+ (await
+ (thp/with-persistence
+ (^:async fn [{:keys [file-id requests store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ board-y (cts/setup-shape {:id (uuid/next) :type :frame :name "Y"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ board-r (cts/setup-shape {:id (uuid/next) :type :frame :name "R"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ [p0 p1 p2] [(gpt/point 610 10) (gpt/point 760 10) (gpt/point 20 20)]
+ thread-1 (comment-thread file-id page-id (:id board-y) p1)
+ thread-2 (comment-thread file-id page-id (:id board-r) p2)
+ group (uuid/next)
+ move (grouped (thp/rename-commit file-id page-id (:id board-y) "Y" "Y moved") group)
+ pin (grouped (ptk/data-event
+ ::dch/commit
+ {:id (uuid/next) :file-id file-id :file-revn 0 :file-vern 0
+ :source :local :features #{}
+ :redo-changes [{:type :set-comment-thread-position :page-id page-id
+ :comment-thread-id (:id thread-1)
+ :frame-id (:id board-y) :position p1}]
+ :undo-changes [{:type :set-comment-thread-position :page-id page-id
+ :comment-thread-id (:id thread-1)
+ :frame-id (:id board-y) :position p0}]})
+ group)
+ draw (add-shape-commit file-id page-id board-r)
+ data (-> (thp/file-data page-id shape-id "A")
+ (thp/add-shape page-id (assoc board-y :name "Y moved"))
+ (thp/add-shape page-id board-r)
+ (assoc-in [:pages-index page-id :comment-thread-positions]
+ {(:id thread-1) {:frame-id (:id board-y) :position p1}
+ (:id thread-2) {:frame-id (:id board-r) :position p2}}))
+ sent (fn [cmd] (into [] (comp (filter #(= cmd (first %))) (map second)) @requests))]
+ ;; The local data and the rendered pins already hold the edits
+ (ptk/emit! store
+ (thp/open-file file-id page-id data)
+ #(assoc % :comment-threads {(:id thread-1) thread-1 (:id thread-2) thread-2})
+ (dwcm/watch-comment-thread-position-changes (rx/subject)))
+ (ptk/emit! store move pin draw ::dps/force-persist)
+ (await (async/wait-for #(seq (sent :update-file)) "the edits are sent"))
+ (rx/push! answer (thp/rejection (:id @move)))
+ (await (async/wait-for #(seq (sent :update-comment-thread-frame))
+ "the rollback updates the comments"))
+ (t/is (nil? (thp/shape-attr store file-id page-id (:id board-r) :id)) "R is gone")
+ (t/is (= p0 (get-in @store [:comment-threads (:id thread-1) :position]))
+ "pin #1 is back on screen")
+ (t/is (= [{:id (:id thread-1) :position p0 :frame-id (:id board-y)}]
+ (sent :update-comment-thread-position))
+ "and on the server")
+ (t/is (= uuid/zero (get-in @store [:comment-threads (:id thread-2) :frame-id]))
+ "comment #2 leaves the removed board")
+ (t/is (= p2 (get-in @store [:comment-threads (:id thread-2) :position]))
+ "and keeps its spot")
+ (t/is (= [{:id (:id thread-2) :frame-id uuid/zero}]
+ (sent :update-comment-thread-frame)))
+ (rx/end! answer)))
+ respond))))
+
+
+(defn- rejection-notice
+ "Saves a rename of the open file and answers it with `answer` applied to
+ a rejection of it, after `prepare` updates the state (given the file
+ id) while the save is in flight. Resolves with the params the notice was
+ flashed with; `tr` answers each key with its arguments."
+ [prepare answer]
+ (let [flashes (atom [])]
+ (-> (thp/with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (await
+ (mock/with-mocks*
+ {errors/flash (fn [& {:as params}]
+ (swap! flashes conj params)
+ (js/Promise.resolve nil))
+ i18n/tr (fn ([key] [key]) ([key & args] (into [key] args)))}
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit1 (thp/rename-commit file-id page-id shape-id "A" "B")]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "B")))
+ (ptk/emit! store commit1 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the rename is sent"))
+ (ptk/emit! store #(prepare % file-id))
+ (rx/push! response (answer (thp/rejection (:id @commit1))))
+ (await (async/wait-for #(seq @flashes) "the notice is flashed")))))))
+ (.then (fn [_] (first @flashes))))))
+
+;; Scenario: an edit made while the save was in flight is undone with the
+;; rejected one. Proves: the notice says the latest changes were undone,
+;; and goes away by itself.
+(t/deftest ^:async a-rejection-notice-says-the-latest-changes-were-undone
+ (let [{:keys [hint tag timeout]} (await (rejection-notice (fn [state _] state) identity))]
+ (t/is (= ["errors.save-rejected-changes-undone"] hint))
+ (t/is (= dps/rejected-tag tag))
+ (t/is (some? timeout))))
+
+;; Scenario: the user went to another file before the answer came back.
+;; Proves: the notice names the file it is about.
+(t/deftest ^:async a-rejection-in-a-file-not-open-names-it
+ (let [{:keys [hint]} (await (rejection-notice
+ (fn [state file-id]
+ (-> state
+ (assoc-in [:files file-id :name] "Brand kit")
+ (assoc :current-file-id (uuid/next))))
+ identity))]
+ (t/is (= ["errors.save-rejected-changes-undone-in-file" "Brand kit"] hint))))
+
+;; Scenario: the page holds data that was invalid before the change, so the
+;; backend flags the rejection. Proves: the notice says the data is damaged.
+(t/deftest ^:async a-rejection-on-damaged-data-says-so
+ (let [{:keys [hint]} (await (rejection-notice
+ (fn [state _] state)
+ #(assoc-in % [:rejected :preexisting-damage] true)))]
+ (t/is (= ["errors.save-rejected-damaged-data"] hint))))
+
+;; Scenario: the repair notice of the open file is still on screen when a
+;; save of it comes back rejected. The store holds one toast. Proves: the
+;; notice tells both, and stays like the repair notice did.
+(t/deftest ^:async a-rejection-keeps-the-repair-notice-on-screen
+ (let [{:keys [hint tag timeout]}
+ (await (rejection-notice
+ (fn [state _]
+ (assoc state :notification {:content "repaired" :tag dps/file-repaired-tag}))
+ identity))]
+ (t/is (= ["workspace.notifications.file-repaired-changes-undone"] hint))
+ (t/is (= dps/repaired-rejected-tag tag))
+ (t/is (nil? timeout))))
diff --git a/frontend/test/frontend_tests/data/persistence_test.cljs b/frontend/test/frontend_tests/data/persistence_test.cljs
index de85818c38..544a41ee03 100644
--- a/frontend/test/frontend_tests/data/persistence_test.cljs
+++ b/frontend/test/frontend_tests/data/persistence_test.cljs
@@ -9,7 +9,8 @@
read-only saves, the stalled-save watchdog, the core save pipeline
(queueing, failures, recovery), and the transient/terminal failure
classification. Retry-episode behavior lives in
- `frontend-tests.data.persistence-retry-test`.
+ `frontend-tests.data.persistence-retry-test`, the rollback of a partly
+ rejected save in `frontend-tests.data.persistence-rollback-test`.
The watchdog and read-only tests are fully async: `mock/with-mocks*`
installs the doubles, `^:async` bodies `await` observable effects (never
@@ -23,8 +24,10 @@
[app.main.data.changes :as dch]
[app.main.data.event :as ev]
[app.main.data.persistence :as dps]
+ [app.main.data.persistence.commits :as pcm]
[app.main.data.render-wasm :as drw]
[app.main.data.workspace :as dw]
+ [app.main.data.workspace.common :as dwc]
[app.main.errors :as errors]
[app.main.refs :as refs]
[app.main.repo :as rp]
@@ -34,6 +37,7 @@
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.async :as async]
[frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.persistence :as thp :refer [local-commit with-persistence]]
[okulary.core :as l]
[potok.v2.core :as ptk]))
@@ -58,20 +62,17 @@
:pages-index {page-id {:id page-id :name "Page"
:objects {uuid/zero
(cts/setup-shape {:id uuid/zero :type :frame})}}}}}
- rename (fn [name]
- {:type :mod-obj :id shape-id :page-id page-id
- :operations [{:type :set :attr :name :val name}]})
pstate {:status status
:error {:cause-type cause-type :commit-id first-id}
:queue (into #queue [] [first-id next-id other-id])
:index {first-id {:file-id file-id :file-vern 0
- :redo-changes [{:type :add-obj :id shape-id :obj shape
- :page-id page-id :parent-id uuid/zero
- :frame-id uuid/zero}]}
+ :commits [{:redo-changes [{:type :add-obj :id shape-id :obj shape
+ :page-id page-id :parent-id uuid/zero
+ :frame-id uuid/zero}]}]}
next-id {:file-id file-id :file-vern 0
- :redo-changes [(rename "Retained rectangle")]}
+ :commits [{:redo-changes [(thp/rename page-id shape-id "Retained rectangle")]}]}
other-id {:file-id (uuid/next) :file-vern 0
- :redo-changes [(rename "Another file")]}}}
+ :commits [{:redo-changes [(thp/rename page-id shape-id "Another file")]}]}}}
state {:persistence pstate}
loaded (ptk/update (#'dw/bundle-fetched {:file file :file-id file-id :thumbnails {}})
state)
@@ -80,8 +81,36 @@
(when restored?
(t/is (= "Retained rectangle" (:name restored))
"queued edits apply in order and exclude other files"))
- (t/is (identical? pstate (:persistence loaded))
- "restoring the editor must preserve the save queue")))))
+ (if (zero? vern)
+ (t/is (identical? pstate (:persistence loaded))
+ "restoring the editor must preserve the save queue")
+ (t/is (= [[] [] (get-in pstate [:index other-id :commits])]
+ (mapv #(get-in loaded [:persistence :index % :commits]) [first-id next-id other-id]))
+ "the commits made on the replaced version are forgotten"))))))
+
+;; Scenario: a file loads again while an edit of it waits in the buffer.
+;; Proves: buffered edits apply too, after the queued ones, and those of
+;; other files do not.
+(t/deftest reopening-restores-the-buffered-edits-after-the-queued-ones
+ (let [file-id (uuid/next)
+ page-id (uuid/next)
+ commit-id (uuid/next)
+ file {:id file-id
+ :vern 0
+ :data {:pages [page-id]
+ :pages-index {page-id {:id page-id :name "Page"
+ :objects {uuid/zero
+ (cts/setup-shape {:id uuid/zero :type :frame})}}}}}
+ pstate {:status :saving
+ :queue (into #queue [] [commit-id])
+ :index {commit-id {:file-id file-id :file-vern 0
+ :commits [{:redo-changes [(thp/rename page-id uuid/zero "Queued")]}]}}
+ :buffer [{:file-id file-id :file-vern 0 :redo-changes [(thp/rename page-id uuid/zero "Buffered")]}
+ {:file-id (uuid/next) :file-vern 0 :redo-changes [(thp/rename page-id uuid/zero "Another file")]}]}
+ loaded (ptk/update (#'dw/bundle-fetched {:file file :file-id file-id :thumbnails {}})
+ {:persistence pstate})]
+ (t/is (= "Buffered"
+ (get-in loaded [:files file-id :data :pages-index page-id :objects uuid/zero :name])))))
;; Scenario: a queued edit no longer applies to the data the server sent, so
;; replaying it throws. Proves: the file still opens, as the server sent it,
@@ -98,27 +127,13 @@
pstate {:status :saving
:queue (into #queue [] [commit-id])
:index {commit-id {:file-id file-id :file-vern 0
- :redo-changes [{:type :mod-obj :id uuid/zero :page-id page-id
- :operations [{:type :no-longer-supported}]}]}}}
+ :commits [{:redo-changes [{:type :mod-obj :id uuid/zero :page-id page-id
+ :operations [{:type :no-longer-supported}]}]}]}}}
loaded (ptk/update (#'dw/bundle-fetched {:file file :file-id file-id :thumbnails {}})
{:persistence pstate})]
(t/is (identical? data (get-in loaded [:files file-id :data])))
(t/is (identical? pstate (:persistence loaded)))))
-(defn- local-commit
- "Builds a synthetic local commit event for `file-id`: a page edit as redo,
- no undo, from the `:local` source."
- [file-id]
- (ptk/data-event ::dch/commit
- {:id (uuid/next)
- :file-id file-id
- :file-revn 0
- :file-vern 0
- :source :local
- :features #{}
- :redo-changes [{:type :mod-page :id (uuid/next) :name "Edited"}]
- :undo-changes []}))
-
(defn- ^:async run-read-only-phases
"Drives the read-only save scenario presuming asynchronous APIs: every
phase emits its triggers, awaits the transport round-trip, and only
@@ -508,46 +523,8 @@
;;
;; Same async pattern as the watchdog tests: triggers stay bare, every
;; assert block is preceded by `wait-for` on its leading signal (or a bare
-;; `settle` tick when it asserts only absence).
-(defn- with-persistence
- "Async fixture for the persistence tests: mocks the transport, flash and
- the leave-page task set (`:tasks`), and runs `f` with persistence
- initialized.
-
- Evaluates to a promise resolving once `f` settles and teardown completes;
- `await` it from an `^:async` test.
-
- By default the transport responds through the `:response` subject. Pass a
- `respond` function (`(fn [cmd params] observable)`) to drive the transport
- response directly instead. Delivery through the subject is asynchronous
- (`observe-on :async`): await each effect — via `wait-for` — before
- asserting it."
- [f & [respond]]
- (let [file-id (uuid/next)
- response (rx/subject)
- failures (atom [])
- requests (atom [])
- tasks (atom #{})
- store (ptk/store {:state {:current-file-id file-id
- :permissions {:can-edit true}
- :files {file-id {:id file-id :revn 0}}}
- :on-error #(t/is false (str %))})]
- (mock/with-mocks*
- {rp/cmd! (mock/stub (fn [cmd params]
- (swap! requests conj [cmd params])
- (if respond
- (respond cmd params)
- (->> response (rx/take 1) (rx/observe-on :async)))))
- errors/flash (fn [& {:keys [cause]}]
- (swap! failures conj cause))
- st/ongoing-tasks tasks}
- (try
- (ptk/emit! store (dps/initialize-persistence))
- (await (f {:file-id file-id :response response :failures failures
- :requests requests :store store :tasks tasks}))
- (finally
- (rx/dispose! store)
- (rx/end! response))))))
+;; `settle` tick when it asserts only absence). The fixture is
+;; `with-persistence` (`frontend-tests.helpers.persistence`).
;; Scenario: edit permission is revoked with an edit queued. The save fails
;; without sending anything, the queue keeps the edit and the user is
@@ -583,10 +560,12 @@
(await (async/wait-for #(and (= :error (get-in @store [:persistence :status]))
(= 1 (count (get-in @store [:persistence :queue]))))
"the save fails terminally"))
- ;; The user acts again: a team-role change is one of the two real
+ ;; Edit rights come back: a team-role change is one of the two real
;; recovery triggers (the other is opening a file, whose event does
;; real work and is not usable as a bare signal here).
- (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (ptk/emit! store
+ #(assoc-in % [:permissions :can-edit] true)
+ (ptk/data-event :app.main.data.common/change-team-role))
(await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
(empty? (get-in @store [:persistence :queue])))
"re-entering the file settles the queue"))
@@ -596,6 +575,125 @@
"the edit that cannot be saved is not replayed on re-entry")
(t/is (= 1 (count @failures)) "the user is still notified exactly once")))))
+;; Scenario: the user renames a shape and is made a viewer before the save,
+;; so it fails for lost permission; the role event comes again, then edit
+;; rights return. Proves: the edit is kept while the user is a viewer, and
+;; released with edit rights back, the file goes back to the server's data
+;; and the history loses the edit, so the canvas never shows a change the
+;; server does not have.
+(t/deftest ^:async regaining-edit-rights-reverts-the-released-edit
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id requests failures store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ commit (thp/rename-commit file-id page-id shape-id "A" "B")]
+ (ptk/emit! store
+ (thp/open-file file-id page-id (thp/file-data page-id shape-id "B"))
+ #(assoc % :workspace-undo {:items [(thp/undo-entry commit)] :index 0})
+ commit
+ #(assoc-in % [:permissions :can-edit] false)
+ ::dps/force-persist)
+ (await (async/wait-for #(= :error (get-in @store [:persistence :status]))
+ "lost permission fails the save"))
+
+ (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/settle))
+ (t/is (= 1 (count (get-in @store [:persistence :queue])))
+ "a viewer keeps the edit")
+ (t/is (= "B" (thp/shape-name store file-id page-id shape-id)))
+ (t/is (= 2 (count @failures))
+ "the count notice shows again over the role change notice")
+
+ (ptk/emit! store
+ #(assoc-in % [:permissions :can-edit] true)
+ (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "edit rights back release the edit"))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id))
+ "the file shows the server's data")
+ (t/is (empty? (get-in @store [:workspace-undo :items]))
+ "the released edit leaves the history")
+ (t/is (empty? @requests) "the released edit is not sent"))))))
+
+;; Answers every save with an unexpected server error, a terminal failure.
+(defn- server-error
+ [_ _]
+ (rp/handle-response {:status 500
+ :body {:type :server-error :code :unhandled}
+ :uri "https://penpot.example.com/api/main/methods/update-file"}))
+
+;; Scenario: the user is in the Inspect tab (read-only) when a save fails
+;; terminally, then goes back to Design while the dialog is up. The
+;; workspace stays read-only until the failure is released, and then takes
+;; the mode the user last asked for. Proves: the lock does not lose the
+;; read-only mode the workspace had.
+(t/deftest ^:async a-failed-save-locks-the-workspace-until-it-recovers
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (ptk/emit! store #(assoc-in % [:workspace-global :read-only?] true)
+ (local-commit file-id)
+ ::dps/force-persist)
+ (await (async/wait-for #(some? (get-in @store [:workspace-global :persistence-lock]))
+ "the failed save locks the workspace"))
+ (t/is (true? (get-in @store [:workspace-global :read-only?])))
+ (t/is (true? (get-in @store [:workspace-global :persistence-lock :read-only?])))
+
+ (ptk/emit! store (dwc/set-workspace-read-only false))
+ (await (async/wait-for #(false? (get-in @store [:workspace-global :persistence-lock :read-only?]))
+ "the requested mode is kept for later"))
+ (t/is (true? (get-in @store [:workspace-global :read-only?]))
+ "the workspace stays read-only while saves fail")
+
+ (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/wait-for #(nil? (get-in @store [:workspace-global :persistence-lock]))
+ "recovery lifts the lock"))
+ (t/is (false? (get-in @store [:workspace-global :read-only?]))
+ "the workspace takes the mode the user asked for"))
+ server-error)))
+
+;; Scenario: the user is made a viewer while an edit waits to be saved. The
+;; save fails for lost permission, but the workspace is already read-only
+;; for a viewer: no lock and no dialog, only the failure toast. Proves: a
+;; viewer is never blocked from looking at the file.
+(t/deftest ^:async a-viewer-is-not-locked-by-a-failed-save
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id failures store]}]
+ (ptk/emit! store (local-commit file-id)
+ #(assoc-in % [:permissions :can-edit] false)
+ ::dps/force-persist)
+ (await (async/wait-for #(= :error (get-in @store [:persistence :status]))
+ "lost permission fails the save"))
+ (await (async/settle))
+ (t/is (nil? (get-in @store [:workspace-global :persistence-lock])))
+ (t/is (nil? (get-in @store [:workspace-global :read-only?])))
+ (t/is (= 1 (count @failures)) "the user is told by the toast")))))
+
+;; Scenario: saves fail, then the WebGL context is lost, then saves recover
+;; before the context comes back. Proves: lifting the save lock does not
+;; unlock a workspace the lost context still holds read-only.
+(t/deftest ^:async a-lost-render-context-outlasts-the-save-lock
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(some? (get-in @store [:workspace-global :persistence-lock]))
+ "the failed save locks the workspace"))
+ (ptk/emit! store (drw/context-lost)
+ (ptk/data-event :app.main.data.common/change-team-role))
+ (await (async/wait-for #(nil? (get-in @store [:workspace-global :persistence-lock]))
+ "recovery lifts the save lock"))
+ (t/is (true? (get-in @store [:workspace-global :read-only?]))
+ "the lost context keeps the workspace read-only")
+
+ (ptk/emit! store (drw/context-restored))
+ (await (async/wait-for #(false? (get-in @store [:workspace-global :read-only?]))
+ "the restored context brings back the first mode")))
+ server-error)))
+
;; Scenario: two files have pending edits and the first send fails
;; terminally. Opening a file again releases the failed file, the other file
;; still saves, and the editor settles saved instead of staying halted.
@@ -740,7 +838,10 @@
(t/is (not (dps/terminal-status? {:status :retrying :queue [1]})))
(t/is (not (dps/terminal-status? {:status :saving :queue [1]})))
(t/is (not (dps/terminal-status? {:status :pending :queue [1]})))
- (t/is (not (dps/terminal-status? {:status :saved :queue [1]}))))
+ (t/is (not (dps/terminal-status? {:status :saved :queue [1]})))
+ (t/is (not (dps/terminal-status? {:status :saved :queue [] :buffer [{:id 1}]}))
+ "commits still buffered keep the waiters waiting")
+ (t/is (dps/terminal-status? {:status :error :queue [] :buffer [{:id 1}]})))
;; Scenario: the queue references a commit id with no matching commit
;; (plus a dangling run id) when persistence initializes. It must error
@@ -770,7 +871,7 @@
(await
(with-persistence
(^:async fn [{:keys [file-id response requests store]}]
- (let [commit (assoc @(local-commit file-id) :changes [])
+ (let [commit (pcm/queue-entry [@(local-commit file-id)])
id (:id commit)]
(ptk/emit! store
#(assoc % :persistence {:queue (conj #queue [] id)
@@ -889,7 +990,7 @@
(await
(with-persistence
(^:async fn [{:keys [file-id response requests store]}]
- (let [commit (assoc @(local-commit file-id) ::dps/request-id (uuid/next))
+ (let [commit (assoc (pcm/queue-entry [@(local-commit file-id)]) ::dps/request-id (uuid/next))
id (:id commit)]
(ptk/emit! store
#(assoc % :persistence {:queue (conj #queue [] id)
@@ -998,7 +1099,9 @@
"the save fails terminally"))
(await (async/settle))
(t/is (contains? @tasks :persistence) "the retained edit keeps the guard on")
- (ptk/emit! store (ptk/data-event :app.main.data.common/change-team-role))
+ (ptk/emit! store
+ #(assoc-in % [:permissions :can-edit] true)
+ (ptk/data-event :app.main.data.common/change-team-role))
(await (async/wait-for #(empty? (get-in @store [:persistence :queue]))
"recovery releases the edit"))
(await (async/wait-for #(not (contains? @tasks :persistence))
@@ -1136,3 +1239,268 @@
[:cause-type :code :retrying :queued-commits])))))
(fn [_ _]
(rx/throw (ex-info "invalid" {:type :validation :code :referential-integrity}))))))
+
+;; Buffered commits.
+
+;; Scenario: an edit waits in the buffer for the next flush, then a flush
+;; moves it to the queue. Proves: buffered edits are visible in the store
+;; until they are queued, so a rollback can reach them.
+(t/deftest ^:async buffered-commits-stay-in-the-store-until-queued
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [commit (local-commit file-id)]
+ (ptk/emit! store commit)
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "the edit is buffered"))
+ (t/is (= [(:id @commit)] (mapv :id (get-in @store [:persistence :buffer]))))
+ (t/is (empty? (get-in @store [:persistence :queue])))
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(seq @requests) "the flush sends the edit"))
+ (t/is (empty? (get-in @store [:persistence :buffer])))
+ (t/is (= [(:id @commit)]
+ (->> (get-in @store [:persistence :queue])
+ (mapcat #(get-in @store [:persistence :index % :commits]))
+ (mapv :id))))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the save lands")))))))
+
+;; Scenario: an edit waits in the buffer when another user's change to the
+;; same attribute arrives. The server will apply the remote change first and
+;; the buffered edit after it, so the local file must end the same way.
+;; Proves: a remote commit is applied under buffered edits too.
+(t/deftest ^:async a-remote-commit-goes-under-buffered-edits
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (let [page-id (uuid/next)
+ shape-id (uuid/next)
+ local (thp/rename-commit file-id page-id shape-id "Original" "Local")]
+ (ptk/emit! store (thp/open-file file-id page-id (thp/file-data page-id shape-id "Local")))
+ (ptk/emit! store local)
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "the local edit is buffered"))
+ (ptk/emit! store (thp/remote-commit file-id 1 [(thp/rename page-id shape-id "Remote")]))
+ (await (async/settle))
+ (t/is (= "Local" (thp/shape-name store file-id page-id shape-id))))))))
+
+;; Scenario: a library edit waits to be saved when a peer's change to this
+;; file arrives, and both files have a shape with the same id. Proves: a
+;; remote commit goes under the pending commits of its own file only.
+(t/deftest ^:async a-remote-commit-ignores-the-pending-commits-of-other-files
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id store]}]
+ (let [lib-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)]
+ (ptk/emit! store (thp/open-file-with-library file-id lib-id page-id
+ (thp/file-data page-id shape-id "A")
+ (thp/file-data page-id shape-id "Y")))
+ (ptk/emit! store (thp/rename-commit lib-id page-id shape-id "X" "Y"))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "the library edit is buffered"))
+ (ptk/emit! store (thp/remote-commit file-id 1 [(thp/set-attr page-id shape-id :opacity 0.3)]))
+ (await (async/settle))
+ (t/is (= 0.3 (thp/shape-attr store file-id page-id shape-id :opacity)))
+ (t/is (= "A" (thp/shape-name store file-id page-id shape-id))
+ "the library edit is not replayed on this file"))))))
+
+;; Changes the server stored before a save.
+
+(def ^:private repair-session-id
+ #uuid "a11c0de5-0000-4000-8000-000000000001")
+
+(defn- add-child-commit
+ "A local commit of `file-id` that adds `shape` as the last child of the
+ root of `page-id`."
+ [file-id page-id {:keys [id] :as shape}]
+ (ptk/data-event ::dch/commit
+ {:id (uuid/next)
+ :file-id file-id
+ :file-revn 0
+ :file-vern 0
+ :source :local
+ :features #{}
+ :undo-group (uuid/next)
+ :redo-changes [{:type :add-obj :id id :page-id page-id
+ :parent-id uuid/zero :frame-id uuid/zero :obj shape}]
+ :undo-changes [{:type :del-obj :id id :page-id page-id}]}))
+
+(defn- set-root-children
+ "A change that sets the children of the root of `page-id`."
+ [page-id ids]
+ {:type :mod-obj :id uuid/zero :page-id page-id
+ :operations [{:type :set :attr :shapes :val ids}]})
+
+(defn- lagged-row
+ "A row of a save answer's `:lagged`: a change stored at `revn` by
+ `session-id`."
+ [file-id revn session-id changes]
+ {:id (uuid/next) :file-id file-id :revn revn :session-id session-id :changes changes})
+
+(defn- root-children
+ [store file-id page-id]
+ (thp/shape-attr store file-id page-id uuid/zero :shapes))
+
+(defn- open-with-new-child
+ "Opens a page whose root holds `shape-id` and the new child `child`, as
+ the local data does once the user adds it."
+ [store file-id session-id page-id shape-id child]
+ (ptk/emit! store
+ (thp/open-file file-id page-id
+ (thp/add-shape (thp/file-data page-id shape-id "S") page-id child))
+ #(assoc % :session-id session-id)))
+
+;; Scenario: the user adds a child to a page with old damage. The server
+;; repairs the page first, storing a repair that sets the root's children
+;; without the new child, then stores the user's change, which adds it. The
+;; save answer reaches the tab before the repair's message. Proves: the
+;; saved commit stays pending until the repair arrives, so the repair goes
+;; under it and the tab ends as the server does.
+(t/deftest ^:async a-repair-answered-before-its-message-goes-under-the-saved-commit
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [session-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ child (cts/setup-shape {:id (uuid/next) :type :rect :name "Rectangle"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ commit (add-child-commit file-id page-id child)
+ repair [(set-root-children page-id [shape-id])]]
+ (open-with-new-child store file-id session-id page-id shape-id child)
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the new child is sent"))
+ (rx/push! response {:revn 0
+ :lagged [(lagged-row file-id 1 repair-session-id repair)
+ (lagged-row file-id 2 session-id (:redo-changes @commit))]})
+ (await (async/wait-for #(get-in @store [:persistence :index (:id @commit) ::dps/awaiting])
+ "the saved commit waits for the repair"))
+ (t/is (= [(:id @commit)] (vec (get-in @store [:persistence :queue]))))
+
+ (ptk/emit! store (thp/remote-commit file-id 1 repair))
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "the saved commit is acknowledged once the repair arrives"))
+ (t/is (= [shape-id (:id child)] (root-children store file-id page-id))
+ "the repair goes under the new child, as on the server"))))))
+
+;; Scenario: the repair's message reaches the tab before the save answer.
+;; Proves: the answer does not wait for a change the tab already applied.
+(t/deftest ^:async a-save-answer-does-not-wait-for-changes-already-received
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [session-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ child (cts/setup-shape {:id (uuid/next) :type :rect :name "Rectangle"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ commit (add-child-commit file-id page-id child)
+ repair [(set-root-children page-id [shape-id])]]
+ (open-with-new-child store file-id session-id page-id shape-id child)
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the new child is sent"))
+ (ptk/emit! store (thp/remote-commit file-id 1 repair))
+ (rx/push! response {:revn 0
+ :lagged [(lagged-row file-id 1 repair-session-id repair)
+ (lagged-row file-id 2 session-id (:redo-changes @commit))]})
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "the save lands at once"))
+ (t/is (= [shape-id (:id child)] (root-children store file-id page-id))))))))
+
+;; Scenario: the save answer lists a repair whose message never reaches the
+;; tab. Proves: the wait is bounded; the saved commit is acknowledged and
+;; the file reloads to get the server's data.
+(t/deftest ^:async a-change-that-never-arrives-reloads-the-file
+ (let [reloads (atom 0)
+ timeout-s (rx/subject)
+ original (get-method ptk/resolve ::dw/reload-current-file)]
+ (-add-method ptk/resolve ::dw/reload-current-file
+ (fn [_ _]
+ (swap! reloads inc)
+ (ptk/data-event ::reloaded {})))
+ (try
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (fn [ms]
+ (if (= ms @#'dps/unseen-changes-timeout-ms)
+ timeout-s
+ (rx/subject))))}
+ (let [session-id (uuid/next)
+ page-id (uuid/next)
+ shape-id (uuid/next)
+ child (cts/setup-shape {:id (uuid/next) :type :rect :name "Rectangle"
+ :parent-id uuid/zero :frame-id uuid/zero})
+ commit (add-child-commit file-id page-id child)]
+ (open-with-new-child store file-id session-id page-id shape-id child)
+ (ptk/emit! store commit ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the new child is sent"))
+ (rx/push! response {:revn 0
+ :lagged [(lagged-row file-id 1 repair-session-id
+ [(set-root-children page-id [shape-id])])
+ (lagged-row file-id 2 session-id (:redo-changes @commit))]})
+ (await (async/wait-for #(get-in @store [:persistence :index (:id @commit) ::dps/awaiting])
+ "the saved commit waits for the repair"))
+ (t/is (zero? @reloads))
+ (rx/push! timeout-s :tick)
+ (await (async/wait-for #(= 1 @reloads) "the file reloads"))
+ (t/is (empty? (get-in @store [:persistence :queue]))
+ "the saved commit is acknowledged")))))))
+ (finally
+ (-add-method ptk/resolve ::dw/reload-current-file original)))))
+
+;; Commit boundaries.
+
+;; Scenario: two edits are buffered and saved together. The request carries
+;; one group per edit, each with its commit id and its own changes, so the
+;; backend can accept or reject them one by one. Proves: merging a buffer
+;; for one request keeps the boundaries between commits.
+(t/deftest ^:async a-save-sends-each-commit-as-its-own-group
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [commit1 (local-commit file-id)
+ commit2 (local-commit file-id)]
+ (ptk/emit! store commit1 commit2 ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "both edits go in one save"))
+ (let [[_ params] (first @requests)]
+ (t/is (not (contains? params :changes)))
+ (t/is (= [{:commit-id (:id @commit1) :changes (:redo-changes @commit1)}
+ {:commit-id (:id @commit2) :changes (:redo-changes @commit2)}]
+ (:changes-with-metadata params))))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(= :saved (get-in @store [:persistence :status]))
+ "the save lands")))))))
+
+;; Scenario: a save is in flight while a later edit waits in the buffer, and
+;; something waits for the edits to be saved (as a library sync does before
+;; marking the library synced). The save lands and the queue empties, so the
+;; status turns :saved. Proves: the waiter is released only once the
+;; buffered edit is saved too.
+(t/deftest ^:async waiting-for-the-save-covers-the-buffered-edits
+ (await
+ (with-persistence
+ (^:async fn [{:keys [file-id response requests store]}]
+ (let [released? #(dps/terminal-status? (:persistence @store))]
+ (ptk/emit! store (local-commit file-id) ::dps/force-persist)
+ (await (async/wait-for #(= 1 (count @requests)) "the first edit is sent"))
+ (ptk/emit! store (local-commit file-id))
+ (await (async/wait-for #(seq (get-in @store [:persistence :buffer]))
+ "the second edit waits in the buffer"))
+ (rx/push! response {:revn 1})
+ (await (async/wait-for #(and (= :saved (get-in @store [:persistence :status]))
+ (empty? (get-in @store [:persistence :queue])))
+ "the first save lands"))
+ (t/is (seq (get-in @store [:persistence :buffer])))
+ (t/is (not (released?)) "the buffered edit is not saved yet")
+ (ptk/emit! store ::dps/force-persist)
+ (await (async/wait-for #(= 2 (count @requests)) "the buffered edit is sent"))
+ (rx/push! response {:revn 2})
+ (await (async/wait-for released? "the waiters are released")))))))
diff --git a/frontend/test/frontend_tests/data/team_test.cljs b/frontend/test/frontend_tests/data/team_test.cljs
new file mode 100644
index 0000000000..9bf84efc79
--- /dev/null
+++ b/frontend/test/frontend_tests/data/team_test.cljs
@@ -0,0 +1,81 @@
+;; 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/.
+
+(ns frontend-tests.data.team-test
+ (:require
+ [app.common.uuid :as uuid]
+ [app.main.data.team :as dtm]
+ [app.main.repo :as rp]
+ [app.main.ui.dashboard.team :as dtui]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [potok.v2.core :as ptk]))
+
+(defn- fetch-invitations-events
+ "Runs the watch of `fetch-invitations` with `rp/cmd!` answering with
+ `response` and resolves to the team id and the events it emits."
+ [response]
+ (let [team-id (uuid/next)
+ state {:current-team-id team-id}
+ emitted (atom [])]
+ (-> (mock/with-mocks*
+ {rp/cmd! (mock/stub (fn [_cmd _params] response))}
+ (await (async/observe (ptk/watch (dtm/fetch-invitations) state nil)
+ :on-next #(swap! emitted conj %))))
+ (.then (fn [_] {:team-id team-id :events @emitted})))))
+
+(t/deftest ^:async fetch-invitations-clears-the-list-on-permission-error
+ ;; The pending invitations are an admin only list: a member that cannot
+ ;; invite gets an insufficient permissions error. That must not become an
+ ;; error toast, and the cached list must be dropped so the stale emails do
+ ;; not stay around.
+ (let [{:keys [team-id events]}
+ (await (fetch-invitations-events
+ (rx/throw (ex-info "insufficient permissions"
+ {:type :validation
+ :code :insufficient-permissions}))))
+ event (first events)
+ state (ptk/update event {:teams {team-id {:id team-id
+ :invitations [{:email "stale@example.com"
+ :role :editor}]}}})]
+ (t/is (= 1 (count events)))
+ (t/is (= ::dtm/invitations-fetched (ptk/type event)))
+ (t/is (= [] (get-in state [:teams team-id :invitations])))))
+
+(t/deftest ^:async fetch-invitations-propagates-other-errors
+ ;; Only the permission failure is swallowed: any other error is a real
+ ;; problem and must reach the error reporting.
+ (let [outcome (await (mock/with-mocks*
+ {rp/cmd! (mock/stub (fn [_cmd _params]
+ (rx/throw (ex-info "boom" {:type :server}))))}
+ (try
+ (await (async/observe (ptk/watch (dtm/fetch-invitations)
+ {:current-team-id (uuid/next)}
+ nil)))
+ :resolved
+ (catch js/Error _ :rejected))))]
+ (t/is (= :rejected outcome))))
+
+(t/deftest ^:async fetch-invitations-emits-the-update-event
+ (let [{:keys [events]} (await (fetch-invitations-events
+ (rx/of [{:email "invited@example.com" :role :editor}])))]
+ (t/is (= 1 (count events)))
+ (t/is (= ::dtm/invitations-fetched (ptk/type (first events))))))
+
+(t/deftest invitations-section-shows-the-list-only-to-the-team-admins
+ ;; The list is admin only, and the backend normalizes `:is-admin` to
+ ;; include the team owner. The organization invite policy does not gate it.
+ (t/is (= :list (dtui/invitations-section-content {:is-owner false :is-admin true})))
+ (t/is (= :list (dtui/invitations-section-content {:is-owner true :is-admin true})))
+ (t/is (= :no-permission (dtui/invitations-section-content {:is-owner false :is-admin false}))))
+
+(t/deftest owner-invitation-link-is-copyable-only-by-the-team-owner
+ ;; An admin cannot create nor promote an owner invitation, so the backend
+ ;; does not mint its token for them: the action is not offered either.
+ (t/is (true? (dtui/invitation-link-copyable? true :owner)))
+ (t/is (false? (dtui/invitation-link-copyable? false :owner)))
+ (t/is (true? (dtui/invitation-link-copyable? false :editor)))
+ (t/is (true? (dtui/invitation-link-copyable? false :viewer))))
diff --git a/frontend/test/frontend_tests/data/viewer_test.cljs b/frontend/test/frontend_tests/data/viewer_test.cljs
index 5c3b0ca128..94f43904b2 100644
--- a/frontend/test/frontend_tests/data/viewer_test.cljs
+++ b/frontend/test/frontend_tests/data/viewer_test.cljs
@@ -131,9 +131,13 @@
;; because update-zoom-querystring navigated unconditionally.
;; At HEAD the guard breaks the cycle, so a bundle fetch must not
;; emit any navigation.
- (let [state (-> (base-state {:frames [{:selrect {:width 100 :height 100}}]
- :index 0})
- (assoc-in [:route :query-params :zoom] "fill"))]
+ (let [state (as-> (base-state {:frames [{:selrect {:width 100 :height 100}}]
+ :index 0}) state
+ ;; The router stores the same query map under both keys.
+ (let [query (assoc (rt/get-params state) :zoom "fill")]
+ (-> state
+ (assoc-in [:route :params :query] query)
+ (assoc-in [:route :query-params] query))))]
(let [events (watch-events (dv/bundle-fetched
{:file {:id page-id
:data {:pages [page-id]
@@ -151,3 +155,49 @@
;; ones that can restart the zoom cycle.
navigations (filter #(= :app.main.router/navigate (ptk/type %)) events)]
(t/is (empty? navigations)))))
+
+(defn- minimal-bundle
+ [page-ids]
+ {:file {:id (uuid/custom 2 2)
+ :data {:pages (vec page-ids)
+ :pages-index (into {} (map (fn [id] [id {:objects {}}])) page-ids)}}
+ :project {}
+ :team {:features []}
+ :share-links []
+ :libraries []
+ :users []
+ :permissions {}
+ :thumbnails {}})
+
+(defn- route-without-page-id
+ []
+ (let [query {:file-id (str (uuid/custom 2 2)) :section "interactions" :index "0"}]
+ {:route {:params {:query query} :query-params query}}))
+
+(t/deftest initialize-without-page-id-fetches-the-bundle
+ ;; The viewer route passes `:page-id nil` when the URL has none; the
+ ;; params check used to reject it before any fetch.
+ (let [events (watch-events (dv/initialize {:file-id (uuid/custom 2 2)
+ :page-id nil
+ :share-id nil})
+ {})]
+ (t/is (= [::dv/fetch-bundle] (map ptk/type (remove nil? events))))))
+
+(t/deftest bundle-fetched-without-page-id-names-the-first-page
+ (t/testing "the route is replaced by one naming the first page"
+ (let [first-page (uuid/custom 3 1)
+ events (watch-events (dv/bundle-fetched
+ (minimal-bundle [first-page (uuid/custom 3 2)]))
+ (route-without-page-id))
+ {:keys [id params options]} (some-> (first events) deref)]
+ (t/is (= 1 (count events)))
+ (t/is (= :viewer id))
+ (t/is (= first-page (:page-id params)))
+ (t/is (= "interactions" (:section params)))
+ (t/is (true? (::rt/replace options)))))
+
+ (t/testing "a file without pages keeps the route"
+ (let [events (watch-events (dv/bundle-fetched (minimal-bundle []))
+ (route-without-page-id))
+ navigations (filter #(= :app.main.router/navigate (ptk/type %)) events)]
+ (t/is (empty? navigations)))))
diff --git a/frontend/test/frontend_tests/data/workspace_colors_test.cljs b/frontend/test/frontend_tests/data/workspace_colors_test.cljs
index 2ae0150078..5f5b25fc1e 100644
--- a/frontend/test/frontend_tests/data/workspace_colors_test.cljs
+++ b/frontend/test/frontend_tests/data/workspace_colors_test.cljs
@@ -8,7 +8,8 @@
(:require
[app.common.uuid :as uuid]
[app.main.data.workspace.colors :as dwc]
- [clojure.test :as t]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
[potok.v2.core :as ptk]))
(t/deftest build-change-fill-event
@@ -82,3 +83,26 @@
:current-color {:color "#ff0000" :opacity 1}}}
event (dwc/update-colorpicker-color {} true)]
(t/is (some? (ptk/watch event valid-state nil)))))
+
+(t/deftest ^:async color-change-updates-the-shapes-of-a-property-in-one-event
+ ;; Changing a color in a selection of many shapes must not commit once per
+ ;; shape: each commit makes the page objects a new map, and everything that
+ ;; derives from them runs again.
+ (let [[a b c d e] (repeatedly 5 uuid/next)
+ color {:color "#ff0000" :opacity 1}
+ old-color {:color "#000000" :opacity 1}
+ operations [{:prop :fill :shape-id a :index 0}
+ {:prop :fill :shape-id b :index 0}
+ {:prop :fill :shape-id c :index 1}
+ {:prop :stroke :shape-id a :index 0}
+ {:prop :stroke :shape-id d :index 0}
+ {:prop :stroke :shape-id e :index 0}]
+ types (atom [])]
+ (await (async/observe (ptk/watch (dwc/change-color-in-selected operations color old-color) {} nil)
+ :on-next #(swap! types conj (ptk/type %))))
+
+ (t/is (= {:app.main.data.workspace.undo/start-undo-transaction 1
+ :app.main.data.workspace.colors/change-fill 2
+ :app.main.data.workspace.colors/change-stroke-color 1
+ :app.main.data.workspace.undo/commit-undo-transaction 1}
+ (frequencies @types)))))
diff --git a/frontend/test/frontend_tests/data/workspace_focus_test.cljs b/frontend/test/frontend_tests/data/workspace_focus_test.cljs
new file mode 100644
index 0000000000..ee1d3435c3
--- /dev/null
+++ b/frontend/test/frontend_tests/data/workspace_focus_test.cljs
@@ -0,0 +1,87 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.workspace-focus-test
+ "Tests for focus mode when the focused shapes go away."
+ (:require
+ [app.common.data :as d]
+ [app.common.types.shape :as cts]
+ [app.common.uuid :as uuid]
+ [app.main.data.workspace.selection :as dws]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [potok.v2.core :as ptk]))
+
+(defn- focus-store
+ "A store on a page holding `ids`, in focus mode on `focused`, entered
+ with `selected` selected."
+ [ids focused selected]
+ (let [file-id (uuid/next)
+ page-id (uuid/next)
+ objects (into {uuid/zero (cts/setup-shape {:id uuid/zero :type :frame :shapes (vec ids)})}
+ (map (fn [id]
+ [id (cts/setup-shape {:id id :type :rect :name "Rect"
+ :parent-id uuid/zero :frame-id uuid/zero})]))
+ ids)
+ local {:selected (into (d/ordered-set) selected) :zoom 1}]
+ (ptk/store {:state {:current-file-id file-id
+ :current-page-id page-id
+ :files {file-id {:id file-id
+ :data {:pages [page-id]
+ :pages-index {page-id {:id page-id :objects objects}}}}}
+ :workspace-local (assoc local :selected (d/ordered-set))
+ :workspace-pre-focus local
+ :workspace-focus-selected (set focused)}
+ :on-error #(t/is false (str %))})))
+
+(defn- remove-shape
+ "Takes `id` out of the page of `store`, as a delete or a rollback does."
+ [store id]
+ (let [{:keys [current-file-id current-page-id]} @store]
+ (ptk/emit! store #(update-in % [:files current-file-id :data :pages-index current-page-id :objects]
+ dissoc id))))
+
+;; Scenario: focus mode is on R, entered with R selected, and R goes away
+;; (a rollback or a delete); later a new shape is drawn. Proves: focus mode
+;; ends when its last shape goes, the selection from before it comes back
+;; without R, and the new shape does not bring focus mode back.
+(t/deftest ^:async focus-mode-ends-when-its-last-shape-is-removed
+ (let [[r s n] (repeatedly 3 uuid/next)
+ store (focus-store [r s] [r] [r])
+ left (atom 0)
+ sub (->> (ptk/input-stream store)
+ (rx/filter (ptk/type? ::dws/focus-mode-left))
+ (rx/subs! (fn [_] (swap! left inc))))]
+ (remove-shape store r)
+ (ptk/emit! store (dws/update-focus-shapes #{} #{r}))
+ (await (async/settle))
+ (t/is (nil? (:workspace-focus-selected @store)) "focus mode is off")
+ (t/is (nil? (:workspace-pre-focus @store)))
+ (t/is (empty? (get-in @store [:workspace-local :selected]))
+ "the removed shape is not selected again")
+ (t/is (= 1 (:zoom (:workspace-local @store))) "the viewport from before comes back")
+ (ptk/emit! store (dws/update-focus-shapes #{n} #{}))
+ (await (async/settle))
+ (t/is (nil? (:workspace-focus-selected @store)) "a new shape does not turn it on")
+ (t/is (= 1 @left) "the focus watcher is told to stop once")
+ (rx/dispose! sub)))
+
+;; Scenario: focus mode is on R and S, entered with both selected; R goes
+;; away and the user leaves focus mode with F. Proves: focus mode stays on
+;; while a focused shape is left, and leaving it selects only the shapes
+;; that still exist.
+(t/deftest ^:async leaving-focus-mode-selects-only-shapes-that-exist
+ (let [[r s] (repeatedly 2 uuid/next)
+ store (focus-store [r s] [r s] [r s])]
+ (remove-shape store r)
+ (ptk/emit! store (dws/update-focus-shapes #{} #{r}))
+ (await (async/settle))
+ (t/is (= #{s} (:workspace-focus-selected @store)))
+ (ptk/emit! store (dws/toggle-focus-mode))
+ (await (async/settle))
+ (t/is (nil? (:workspace-focus-selected @store)))
+ (t/is (= [s] (vec (get-in @store [:workspace-local :selected]))))))
diff --git a/frontend/test/frontend_tests/data/workspace_libraries_sync_test.cljs b/frontend/test/frontend_tests/data/workspace_libraries_sync_test.cljs
new file mode 100644
index 0000000000..1990099695
--- /dev/null
+++ b/frontend/test/frontend_tests/data/workspace_libraries_sync_test.cljs
@@ -0,0 +1,146 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.workspace-libraries-sync-test
+ "Tests for marking a library as synced after `dwl/sync-file`."
+ (:require
+ [app.common.time :as ct]
+ [app.common.types.file :as ctf]
+ [app.common.uuid :as uuid]
+ [app.main.data.persistence :as dps]
+ [app.main.data.workspace.libraries :as dwl]
+ [app.main.repo :as rp]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [potok.v2.core :as ptk]))
+
+(def ^:private synced-at
+ (ct/inst 1000))
+
+(defn- library-store
+ "A store with the open file `file-id` and its library `library-id`, last
+ synced at `synced-at`."
+ [file-id library-id]
+ (ptk/store {:state {:current-file-id file-id
+ :permissions {:can-edit true}
+ :files {file-id {:id file-id
+ :data (ctf/make-file-data file-id)}
+ library-id {:id library-id
+ :library-of file-id
+ :synced-at synced-at
+ :modified-at synced-at
+ :data (ctf/make-file-data library-id)}}}
+ :on-error #(t/is false (str %))}))
+
+(defn- ^:async sync-library
+ "Syncs the library and lets the save end with `saved`, an observable for
+ `dps/wait-persisted`; `before-save` runs once the sync started. Waits until
+ `settled?`, given the commands sent and the library sync date, is true,
+ then calls `check` with them, the store and the file ids, and awaits
+ what it returns."
+ [saved before-save settled? check]
+ (let [file-id (uuid/next)
+ library-id (uuid/next)
+ store (library-store file-id library-id)
+ commands (atom [])
+ result #(hash-map :commands @commands
+ :synced-at (get-in @store [:files library-id :synced-at])
+ :store store
+ :file-id file-id
+ :library-id library-id)]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (fn [& _] (rx/of 0)))
+ dps/wait-persisted (mock/stub (fn [& _] saved))
+ rp/cmd! (mock/stub (fn [cmd _]
+ (swap! commands conj cmd)
+ (rx/of nil)))}
+ (ptk/emit! store (dwl/sync-file file-id library-id))
+ (await (async/wait-for #(not= synced-at (:synced-at (result)))
+ "the sync moves the sync date forward"))
+ (before-save store file-id)
+ (await (async/wait-for #(settled? (result)) "the sync settles"))
+ (await (async/settle))
+ (await (check (result)))))))
+
+;; Scenario: the sync's commits are saved. Proves: the library is marked as
+;; synced on the server.
+(t/deftest ^:async a-saved-sync-marks-the-library-as-synced
+ (await
+ (sync-library (rx/of :saved)
+ (fn [_ _])
+ #(seq (:commands %))
+ (fn [{:keys [commands]}]
+ (t/is (= [:update-file-library-sync-status] commands))))))
+
+;; Scenario: the server rejects the save of the sync's commits and the
+;; rollback undoes them. Proves: the library is not marked as synced and its
+;; sync date goes back, so the update notice can show again.
+(t/deftest ^:async a-rejected-sync-leaves-the-library-to-sync-again
+ (await
+ (sync-library (rx/subject)
+ (fn [store file-id]
+ (ptk/emit! store (ptk/data-event ::dps/rolled-back
+ {:file-ids #{file-id}})))
+ #(= synced-at (:synced-at %))
+ (fn [{:keys [commands] :as result}]
+ (t/is (empty? commands))
+ (t/is (= synced-at (:synced-at result)))))))
+
+;; Scenario: the save of the sync's commits fails for good, so waiting for
+;; it ends with no value; later an edit of the same file is rejected.
+;; Proves: the library is not marked as synced, its sync date goes back,
+;; and the later rollback leaves the date alone.
+(t/deftest ^:async a-failed-sync-save-ends-the-sync
+ (let [saved (rx/subject)]
+ (await
+ (sync-library saved
+ ;; The save fails for good: the wait ends with no value
+ (fn [_ _] (rx/end! saved))
+ #(= synced-at (:synced-at %))
+ (^:async fn [{:keys [commands store file-id library-id]}]
+ (t/is (empty? commands))
+ (let [later (ct/inst 5000)]
+ (ptk/emit! store
+ #(assoc-in % [:files library-id :synced-at] later)
+ (ptk/data-event ::dps/rolled-back {:file-ids #{file-id}}))
+ (await (async/settle))
+ (t/is (= later (get-in @store [:files library-id :synced-at]))
+ "a later rollback does not wake the ended sync")))))))
+
+;; Scenario: the user becomes a viewer right after "Update", so the save of
+;; the sync's commits fails for good; when edit rights come back, the
+;; release of the failed save undoes the sync. Proves: the update notice is
+;; checked again, as after a rejected sync, instead of waiting for a reload.
+(t/deftest ^:async a-released-sync-checks-the-update-notice-again
+ (let [file-id (uuid/next)
+ library-id (uuid/next)
+ store (library-store file-id library-id)
+ waits (atom 0)
+ notified (atom 0)]
+ (await
+ (mock/with-mocks*
+ {rx/timer (mock/stub (fn [& _] (rx/of 0)))
+ ;; The first wait ends with the failed save, the next ones saved
+ dps/wait-persisted (mock/stub (fn [& _]
+ (if (= 1 (swap! waits inc))
+ (rx/empty)
+ (rx/of :saved))))
+ dwl/notify-sync-file (mock/stub (fn []
+ (swap! notified inc)
+ (ptk/data-event ::notified {})))
+ rp/cmd! (mock/stub (fn [_ _] (rx/of nil)))}
+ (ptk/emit! store (dwl/sync-file file-id library-id))
+ (await (async/wait-for #(= 1 @waits) "the save of the sync fails"))
+ (await (async/settle))
+ (t/is (= synced-at (get-in @store [:files library-id :synced-at])))
+ (t/is (zero? @notified) "a failed save alone shows no notice")
+
+ ;; The role change that brings edit rights back releases the save
+ (ptk/emit! store (ptk/data-event ::dps/rolled-back {:file-ids #{file-id}}))
+ (await (async/wait-for #(= 1 @notified) "the release checks the update notice"))))))
diff --git a/frontend/test/frontend_tests/data/workspace_notifications_test.cljs b/frontend/test/frontend_tests/data/workspace_notifications_test.cljs
index aceafe6bed..0ad8a12697 100644
--- a/frontend/test/frontend_tests/data/workspace_notifications_test.cljs
+++ b/frontend/test/frontend_tests/data/workspace_notifications_test.cljs
@@ -6,15 +6,20 @@
(ns frontend-tests.data.workspace-notifications-test
(:require
- [app.common.data :as d]
+ [app.common.time :as ct]
[app.common.uuid :as uuid]
[app.main.data.changes :as dch]
+ [app.main.data.modal :as modal]
[app.main.data.notifications :as ntf]
+ [app.main.data.persistence :as dps]
+ [app.main.data.websocket :as dws]
+ [app.main.data.workspace :as-alias dw]
[app.main.data.workspace.notifications :as dwntf]
[app.util.i18n :as i18n]
[beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
[potok.v2.core :as ptk]))
(defn- file-change-msg
@@ -35,18 +40,223 @@
:on-next #(swap! events conj %)))
@events))
+(defn- ^:async shown-notice
+ "The notification the watch of `event` shows on `state`."
+ [event state]
+ (let [events (atom [])]
+ (await (async/observe (ptk/watch event state (rx/empty))
+ :on-next #(swap! events conj %)))
+ (some #(when (= ::ntf/show (ptk/type %))
+ (:notification (ptk/update % {})))
+ @events)))
+
(t/deftest ^:async repaired-file-change-applies-and-notifies
(let [events (await (watch-file-change (file-change-msg {:repaired true})))
- types (mapv ptk/type events)
- show (d/seek #(= ::ntf/show (ptk/type %)) events)
- state (ptk/update show {})]
- (t/is (= [::dch/commit ::ntf/show] types))
- (t/is (= :info (get-in state [:notification :level])))
- (t/is (nil? (get-in state [:notification :timeout]))
- "the toast stays until the user closes it")
- (t/is (= (i18n/tr "workspace.notifications.file-repaired")
- (get-in state [:notification :content])))))
+ notice (await (shown-notice (second events) {}))]
+ (t/is (= [::dch/commit ::dps/notify-repaired] (mapv ptk/type events)))
+ (t/is (= :info (:level notice)))
+ (t/is (nil? (:timeout notice)) "the toast stays until the user closes it")
+ (t/is (= dps/file-repaired-tag (:tag notice)))
+ (t/is (= (i18n/tr "workspace.notifications.file-repaired") (:content notice)))))
+
+;; Scenario: a save of the open file came back rejected and its notice is
+;; still on screen when the backend repairs the file. The store holds one
+;; toast. Proves: the repair notice tells both and keeps the report link.
+(t/deftest ^:async a-repair-notice-keeps-a-rejection-notice-on-screen
+ (let [link {:label "report.txt" :callback identity}
+ notice (await (shown-notice (dps/notify-repaired)
+ {:notification {:content "rejected"
+ :tag dps/rejected-tag
+ :links [link]}}))]
+ (t/is (= (i18n/tr "workspace.notifications.file-repaired-changes-undone")
+ (:content notice)))
+ (t/is (= :warning (:level notice)))
+ (t/is (= dps/repaired-rejected-tag (:tag notice)))
+ (t/is (= [link] (:links notice)))
+ (t/is (nil? (:timeout notice)))))
(t/deftest ^:async ordinary-file-change-does-not-notify
(let [events (await (watch-file-change (file-change-msg {})))]
(t/is (= [::dch/commit] (mapv ptk/type events)))))
+
+(defn- restored-events
+ "Events the watch of `handle-file-restored` emits for `msg` on `state`."
+ [state msg]
+ (let [events (atom [])]
+ (-> (async/observe (ptk/watch (dwntf/handle-file-restored msg) state nil)
+ :on-next #(swap! events conj %))
+ (.then (fn [_] @events)))))
+
+(defn- shown-modal
+ [events]
+ (some #(when (= ::modal/show-modal (ptk/type %))
+ (::modal/modal (ptk/update % {})))
+ events))
+
+;; Scenario: a peer restores an earlier version of the open file. The file
+;; reloads and a modal names the peer. Proves: the reload is not silent.
+(t/deftest ^:async a-peer-restore-reloads-and-names-the-peer
+ (let [file-id (uuid/next)
+ session-id (uuid/next)
+ profile-id (uuid/next)
+ state {:current-file-id file-id
+ :files {file-id {:id file-id :vern 1}}
+ :workspace-presence {session-id {:profile-id profile-id}}
+ :profiles {profile-id {:id profile-id :fullname "Ada"}}}
+ events (await (restored-events state {:type :file-restored
+ :file-id file-id
+ :session-id session-id
+ :vern 2}))
+ modal (shown-modal events)]
+ (t/is (some #(= ::dw/reload-current-file (ptk/type %)) events))
+ (t/is (= :file-restored (:type modal)))
+ (t/is (= "Ada" (get-in modal [:props :fullname])))
+ (t/is (false? (get-in modal [:props :unsaved])))))
+
+;; Scenario: a peer restores a version they named, while this tab has a
+;; rename not saved yet and the restorer has no presence. Proves: the modal
+;; names the restorer by profile and the version by its label, and says the
+;; unsaved rename is lost.
+(t/deftest ^:async a-peer-restore-names-the-version-and-the-lost-edits
+ (let [file-id (uuid/next)
+ profile-id (uuid/next)
+ created-at (ct/now)
+ commit-id (uuid/next)
+ state {:current-file-id file-id
+ :files {file-id {:id file-id :vern 1}}
+ :profiles {profile-id {:id profile-id :fullname "Ada"}}
+ :persistence {:queue [commit-id]
+ :index {commit-id {:id commit-id
+ :file-id file-id
+ :file-vern 1
+ :commits [{:redo-changes [{:type :mod-page}]}]}}}}
+ events (await (restored-events state {:type :file-restored
+ :file-id file-id
+ :session-id (uuid/next)
+ :profile-id profile-id
+ :label "Hand-off v2"
+ :created-at created-at
+ :vern 2}))
+ props (:props (shown-modal events))]
+ (t/is (= "Ada" (:fullname props)))
+ (t/is (= "Hand-off v2" (:label props)))
+ (t/is (= created-at (:created-at props)))
+ (t/is (true? (:unsaved props)))))
+
+;; Scenario: the restoring session left before its message arrived, so it
+;; has no presence. Proves: the modal still shows, without a name.
+(t/deftest ^:async a-restore-from-an-unknown-session-shows-no-name
+ (let [file-id (uuid/next)
+ state {:current-file-id file-id
+ :files {file-id {:id file-id :vern 1}}}
+ events (await (restored-events state {:type :file-restored
+ :file-id file-id
+ :session-id (uuid/next)
+ :vern 2}))
+ modal (shown-modal events)]
+ (t/is (= :file-restored (:type modal)))
+ (t/is (nil? (get-in modal [:props :fullname])))))
+
+;; Scenario: the file already shows the restored version. Proves: no reload
+;; and no modal for a version the user already sees.
+(t/deftest ^:async a-restore-of-the-loaded-version-does-nothing
+ (let [file-id (uuid/next)
+ state {:current-file-id file-id
+ :files {file-id {:id file-id :vern 2}}}
+ events (await (restored-events state {:type :file-restored
+ :file-id file-id
+ :session-id (uuid/next)
+ :vern 2}))]
+ (t/is (empty? events))))
+
+(defn- ^:async subscription-messages
+ "Runs `scenario` with a store over `team-id`, `dws/send` and the pointer
+ handler stubbed. `scenario` gets the store and a function that delivers
+ a peer's pointer message for a file. Resolves to the messages sent over
+ the websocket and the number of handled pointer messages."
+ [team-id scenario]
+ (let [sent (atom [])
+ handled (atom 0)
+ result (atom nil)
+ store (ptk/store {:state {:profile-id (uuid/next)
+ :session-id (uuid/next)
+ :teams {team-id {:id team-id}}}
+ :on-error #(t/is false (str %))})
+ pointer (fn [file-id]
+ (ptk/emit! store (ptk/data-event ::dws/message
+ {:type :pointer-update
+ :topic file-id
+ :file-id file-id
+ :session-id (uuid/next)})))]
+ (await
+ (mock/with-mocks*
+ {dws/send (mock/stub (fn [msg]
+ (swap! sent conj msg)
+ (ptk/data-event ::sent msg)))
+ dwntf/handle-pointer-update (mock/stub (fn [_]
+ (swap! handled inc)
+ (ptk/data-event ::handled {})))}
+ (try
+ (await (scenario store pointer))
+ ;; Taken before the store ends, which ends the subscriptions too
+ (reset! result {:sent (mapv #(select-keys % [:type :file-id]) @sent)
+ :handled @handled})
+ (finally
+ (rx/dispose! store)))))
+ @result))
+
+;; Scenario: the open file reloads three times (a peer's restore, the
+;; restorer's own version reload, the rollback fallback), each starting a
+;; new subscription, and then a peer's message arrives. Proves: one live
+;; subscription per open file, so each message is handled once, and no
+;; unsubscribe ends the server's subscription of the reloaded file.
+(t/deftest ^:async a-reload-replaces-the-file-subscription
+ (let [team-id (uuid/next)
+ file-id (uuid/next)
+ result (await
+ (subscription-messages
+ team-id
+ (^:async fn [store pointer]
+ (ptk/emit! store
+ (dwntf/initialize team-id file-id)
+ (dwntf/initialize team-id file-id)
+ (dwntf/initialize team-id file-id))
+ (await (async/settle))
+ (pointer file-id)
+ (await (async/settle)))))]
+ (t/is (= 1 (:handled result)) "the message is handled once")
+ (t/is (= 3 (count (filter #(= :subscribe-file (:type %)) (:sent result)))))
+ (t/is (not-any? #(= :unsubscribe-file (:type %)) (:sent result)))))
+
+;; Scenario: the user leaves a file, and in another case opens another file
+;; without leaving the first one. Proves: the subscription ends with an
+;; unsubscribe of the file it was for, and the old file's messages are no
+;; longer handled.
+(t/deftest ^:async leaving-or-switching-files-ends-the-file-subscription
+ (let [team-id (uuid/next)
+ file-a (uuid/next)
+ file-b (uuid/next)
+ left (await
+ (subscription-messages
+ team-id
+ (^:async fn [store _]
+ (ptk/emit! store
+ (dwntf/initialize team-id file-a)
+ (dwntf/finalize file-a))
+ (await (async/settle)))))
+ switch (await
+ (subscription-messages
+ team-id
+ (^:async fn [store pointer]
+ (ptk/emit! store
+ (dwntf/initialize team-id file-a)
+ (dwntf/initialize team-id file-b))
+ (await (async/settle))
+ (pointer file-a)
+ (pointer file-b)
+ (await (async/settle)))))]
+ (t/is (= [{:type :unsubscribe-file :file-id file-a}]
+ (filterv #(= :unsubscribe-file (:type %)) (:sent left))))
+ (t/is (= [{:type :unsubscribe-file :file-id file-a}]
+ (filterv #(= :unsubscribe-file (:type %)) (:sent switch))))
+ (t/is (= 1 (:handled switch)) "only the new file's message is handled")))
diff --git a/frontend/test/frontend_tests/data/workspace_texts_test.cljs b/frontend/test/frontend_tests/data/workspace_texts_test.cljs
index eac8693cff..d2772ebd36 100644
--- a/frontend/test/frontend_tests/data/workspace_texts_test.cljs
+++ b/frontend/test/frontend_tests/data/workspace_texts_test.cljs
@@ -16,8 +16,10 @@
[app.main.data.workspace.texts :as dwt]
[app.main.data.workspace.texts-events :as dwte]
[app.main.ui.workspace.shapes.text.viewport-texts-html :as vth]
+ [beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
- [frontend-tests.helpers.state :as ths]))
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
;; ---------------------------------------------------------------------------
;; Helpers
@@ -297,6 +299,20 @@
;; schema check runs.
;; ---------------------------------------------------------------------------
+;; Scenario: the text editor saves its content after its shape is gone (a
+;; rollback removed it while it was being edited). Proves: nothing is
+;; committed for a shape that no longer exists.
+(t/deftest updating-the-content-of-a-removed-text-commits-nothing
+ (let [state (-> @(ths/setup-store (cthf/sample-file :file1))
+ (assoc :features #{}))
+ event (dwt/v2-update-text-shape-content (uuid/next) (txt/change-text nil "hello")
+ :finalize? true)
+ events (atom [])]
+ (rx/subs! #(swap! events conj %) (ptk/watch event state (rx/subject)))
+ (t/is (not-any? #(and (ptk/event? %)
+ (= :app.main.data.workspace.shapes/update-shapes (ptk/type %)))
+ @events))))
+
(t/deftest add-typography-normalises-float-line-height
(t/async
done
@@ -656,3 +672,56 @@
(assoc data :text-geometry {bottom-id {:origins [[origin]]}}))))))
(t/testing "a copy without geometry gives a payload without it"
(t/is (not (contains? (#'dwt/copied-shapes->payload data) :geometry))))))
+
+;; ---------------------------------------------------------------------------
+;; Tests: values read from a disposed v2 editor
+;; ---------------------------------------------------------------------------
+
+(defn- disposed-v2-editor
+ "A v2 editor after `dispose!`: reading its style throws."
+ []
+ (let [editor #js {}]
+ (js/Object.defineProperty editor "currentStyle"
+ #js {:get (fn [] (throw (js/TypeError. "Cannot read properties of null (reading 'currentStyle')")))})
+ editor))
+
+;; Scenario: the sidebar renders once more with the editor it saw last,
+;; after closing the text editor disposed it. Proves: the values come from
+;; the shape instead of crashing the workspace.
+(t/deftest current-values-of-a-disposed-v2-editor-come-from-the-shape
+ (let [shape (make-text-shape)
+ editor (disposed-v2-editor)]
+ (t/is (= (dwt/current-text-values {:shape shape :attrs txt/text-node-attrs})
+ (dwt/current-text-values {:editor-instance editor
+ :shape shape
+ :attrs txt/text-node-attrs})))
+ (t/is (= (dwt/current-paragraph-values {:shape shape :attrs txt/paragraph-attrs})
+ (dwt/current-paragraph-values {:editor-instance editor
+ :shape shape
+ :attrs txt/paragraph-attrs})))))
+
+;; ---------------------------------------------------------------------------
+;; same-styled-text?
+;; ---------------------------------------------------------------------------
+
+(defn- text-content
+ "Text content of one paragraph holding `runs`, each a map with `:text`
+ and its styles."
+ [& runs]
+ {:type "root"
+ :children [{:type "paragraph-set"
+ :children [{:type "paragraph"
+ :key (str (uuid/next))
+ :children (mapv #(assoc % :key (str (uuid/next))) runs)}]}]})
+
+(t/deftest same-styled-text-ignores-node-keys-and-nil-styles
+ (t/is (dwt/same-styled-text? (text-content {:text "Hello" :font-weight "400"})
+ (text-content {:text "Hello" :font-weight "400" :font-style nil}))))
+
+(t/deftest same-styled-text-sees-a-style-change-on-the-same-text
+ (t/is (not (dwt/same-styled-text? (text-content {:text "Hello" :font-weight "400"})
+ (text-content {:text "Hello" :font-weight "700"})))))
+
+(t/deftest same-styled-text-sees-a-text-change
+ (t/is (not (dwt/same-styled-text? (text-content {:text "Hello" :font-weight "400"})
+ (text-content {:text "Hello!" :font-weight "400"})))))
diff --git a/frontend/test/frontend_tests/data/workspace_undo_test.cljs b/frontend/test/frontend_tests/data/workspace_undo_test.cljs
new file mode 100644
index 0000000000..1794b13a90
--- /dev/null
+++ b/frontend/test/frontend_tests/data/workspace_undo_test.cljs
@@ -0,0 +1,275 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.workspace-undo-test
+ "Tests for the undo groups of commits and history entries, and for
+ forgetting them after a rollback."
+ (:require
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.comments :as dcmt]
+ [app.main.data.fonts :as df]
+ [app.main.data.workspace :as dw]
+ [app.main.data.workspace.undo :as dwu]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each {:before cthi/reset-idmap!})
+
+(defn- rename-page
+ "Commits a page rename, with `params` for `commit-changes`."
+ [page-id name & {:as params}]
+ (dch/commit-changes (merge {:redo-changes [{:type :mod-page :id page-id :name name}]
+ :undo-changes [{:type :mod-page :id page-id :name "Page 1"}]}
+ params)))
+
+(defn- run-commits
+ "Runs `events` on a store of a sample file and calls `check` with the
+ undo groups of the commits made and the final state."
+ [done events check]
+ (let [file (cthf/sample-file :file1 :page-label :page1)
+ store (ths/setup-store file)
+ groups (atom [])
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! #(swap! groups conj (:undo-group (deref %)))))]
+ (ths/run-store store done (events (cthf/current-page-id file))
+ (fn [state]
+ (rx/dispose! sub)
+ (check @groups state)))))
+
+;; Scenario: an action commits twice inside one undo transaction (as applying
+;; a token to several shapes does). Proves: both commits carry the undo group
+;; of the transaction, which its history entry takes too, so a rejected save
+;; reverts the whole Ctrl+Z step, not half of it.
+(t/deftest commits-inside-a-transaction-share-its-undo-group
+ (t/async
+ done
+ (let [tx (js/Symbol)
+ tx-group (atom nil)
+ spy (ptk/reify ::spy-transaction
+ ptk/EffectEvent
+ (effect [_ state _]
+ (reset! tx-group (get-in state [:workspace-undo :transaction :commit-group]))))]
+ (run-commits done
+ (fn [page-id]
+ [(dwu/start-undo-transaction tx)
+ spy
+ (rename-page page-id "A")
+ (rename-page page-id "B")
+ (dwu/commit-undo-transaction tx)])
+ (fn [groups _]
+ (t/is (some? @tx-group) "the transaction has its own group")
+ (t/is (= [@tx-group @tx-group] groups)))))))
+
+;; Scenario: commits made with no transaction open. Proves: each one keeps
+;; its own undo group.
+(t/deftest commits-outside-a-transaction-get-their-own-undo-group
+ (t/async
+ done
+ (run-commits done
+ (fn [page-id]
+ [(rename-page page-id "A")
+ (rename-page page-id "B")])
+ (fn [groups _]
+ (t/is (= 2 (count (distinct groups))))))))
+
+;; Scenario: inside a transaction, a commit names its undo group (e.g. a
+;; component update that also writes the library). Proves: the explicit group
+;; is kept.
+(t/deftest an-explicit-undo-group-is-kept-inside-a-transaction
+ (t/async
+ done
+ (let [tx (js/Symbol)
+ group (uuid/next)]
+ (run-commits done
+ (fn [page-id]
+ [(dwu/start-undo-transaction tx)
+ (rename-page page-id "A" :undo-group group)
+ (dwu/commit-undo-transaction tx)])
+ (fn [groups _]
+ (t/is (= [group] groups)))))))
+
+;; Scenario: a rollback forgets undo groups while a transaction is open, then
+;; the transaction commits again. Proves: the later commit keeps the group of
+;; the earlier one, so the transaction stays one rollback unit.
+(t/deftest a-transaction-keeps-its-undo-group-after-forget-undo-groups
+ (t/async
+ done
+ (let [tx (js/Symbol)]
+ (run-commits done
+ (fn [page-id]
+ [(dwu/start-undo-transaction tx)
+ (rename-page page-id "A")
+ (ptk/reify ::forget-the-transaction-group
+ ptk/UpdateEvent
+ (update [_ state]
+ (let [group (get-in state [:workspace-undo :transaction :commit-group])]
+ ;; The transaction holds the first commit, as `append-undo` records it
+ (->> (assoc-in state [:workspace-undo :transaction :undo-groups] #{group})
+ (ptk/update (dwu/forget-undo-groups #{group} nil))))))
+ (rename-page page-id "B")
+ (dwu/commit-undo-transaction tx)])
+ (fn [[first-group second-group :as groups] _]
+ (t/is (= 2 (count groups)))
+ (t/is (some? first-group))
+ (t/is (= first-group second-group)))))))
+
+(defn- entry
+ [page-id name group]
+ {:undo-changes [{:type :mod-page :id page-id :name "Page 1"}]
+ :redo-changes [{:type :mod-page :id page-id :name name}]
+ :undo-group group
+ :tags #{}
+ :translation false})
+
+;; Scenario: inside one transaction, a commit names another undo group (as a
+;; component update does). Proves: the history entry records both groups,
+;; so a rollback of either one finds it.
+(t/deftest a-transaction-entry-records-every-group-it-holds
+ (let [page-id (uuid/next)
+ [g1 g2] (repeatedly 2 uuid/next)
+ tx (js/Symbol)
+ state (reduce #(ptk/update %2 %1)
+ {}
+ [(dwu/start-undo-transaction tx)
+ (dwu/append-undo (entry page-id "A" g1) false)
+ (dwu/append-undo (entry page-id "B" g2) false)
+ (dwu/commit-undo-transaction tx)])]
+ (t/is (= #{g1 g2} (get-in state [:workspace-undo :items 0 :undo-groups])))))
+
+;; Scenario: a commit stacks onto the last history entry. Proves: the entry
+;; records the stacked commit's group too.
+(t/deftest a-stacked-commit-adds-its-group-to-the-entry
+ (let [page-id (uuid/next)
+ [g1 g2] (repeatedly 2 uuid/next)
+ state (reduce #(ptk/update %2 %1)
+ {}
+ [(dwu/append-undo (entry page-id "A" g1) false)
+ (dwu/append-undo (entry page-id "B" g2) true)])]
+ (t/is (= 1 (count (get-in state [:workspace-undo :items]))))
+ (t/is (= #{g1 g2} (get-in state [:workspace-undo :items 0 :undo-groups])))))
+
+;; Scenario: the user presses Ctrl+Z on a page rename. Proves: the commit it
+;; makes can be undone (its undo changes redo the rename) and names the index
+;; the history moved from, so a rollback can put both back.
+(t/deftest an-undo-commit-can-be-undone
+ (t/async
+ done
+ (let [file (cthf/sample-file :file1 :page-label :page1)
+ page-id (cthf/current-page-id file)
+ store (ths/setup-store file)
+ commits (atom [])
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! #(swap! commits conj (deref %))))
+ item (assoc (entry page-id "A" (uuid/next)) :undo-groups #{})]
+ (ths/run-store store done
+ [#(assoc % :workspace-undo {:items [item] :index 0})
+ dwu/undo]
+ (fn [state]
+ (rx/dispose! sub)
+ (let [[commit] @commits]
+ (t/is (= 1 (count @commits)))
+ (t/is (= (:undo-changes item) (:redo-changes commit)))
+ (t/is (= (:redo-changes item) (:undo-changes commit)))
+ (t/is (= 0 (:undo-index commit)))
+ (t/is (= -1 (get-in state [:workspace-undo :index])))))))))
+
+;; Forgetting the undo groups of a rollback.
+
+(defn- entry-of-groups
+ "An undo entry holding commits of `groups`, the first one naming it."
+ [& groups]
+ {:undo-group (first groups) :undo-groups (set groups)})
+
+(defn- forget
+ "The undo state after forgetting `groups` from `undo-state`."
+ [undo-state groups undo-index]
+ (:workspace-undo (ptk/update (dwu/forget-undo-groups groups undo-index)
+ {:workspace-undo undo-state})))
+
+(t/deftest forgetting-undo-groups-cuts-the-history-at-the-first-match
+ (let [[g1 g2 g3] (repeatedly 3 uuid/next)
+ undo (forget {:items [(entry-of-groups g1) (entry-of-groups g2) (entry-of-groups g3)]
+ :index 2
+ :transaction {:undo-group g3 :undo-changes [{:type :mod-page}]}}
+ #{g2 g3} nil)]
+ (t/is (= [g1] (mapv :undo-group (:items undo))))
+ (t/is (= 0 (:index undo)))
+ (t/is (empty? (get-in undo [:transaction :undo-changes])) "the open transaction is emptied")
+ (t/is (= g3 (get-in undo [:transaction :commit-group]))
+ "its later commits keep the group of its earlier ones")))
+
+(t/deftest forgetting-undo-groups-matches-any-group-an-entry-holds
+ (let [[g1 g2 g3] (repeatedly 3 uuid/next)
+ undo (forget {:items [(entry-of-groups g1) (entry-of-groups g2 g3)] :index 1}
+ #{g3} nil)]
+ (t/is (= [g1] (mapv :undo-group (:items undo))))
+ (t/is (= 0 (:index undo)))))
+
+(t/deftest forgetting-undo-groups-keeps-the-history-without-a-match
+ (let [[g1 g2] (repeatedly 2 uuid/next)
+ tx {:undo-group g2 :undo-groups #{g2} :undo-changes [{:type :mod-page}]}
+ undo (forget {:items [(entry-of-groups g1)] :index 0 :transaction tx}
+ #{(uuid/next)} nil)]
+ (t/is (= [g1] (mapv :undo-group (:items undo))))
+ (t/is (= 0 (:index undo)))
+ (t/is (= tx (:transaction undo)) "an unrelated open transaction stays")))
+
+(t/deftest forgetting-undo-groups-empties-a-transaction-that-holds-one
+ (let [[g1 g2] (repeatedly 2 uuid/next)
+ tx {:undo-group g2 :undo-groups #{g2} :undo-changes [{:type :mod-page}]}
+ undo (forget {:items [(entry-of-groups g1)] :index 0 :transaction tx}
+ #{g2} nil)]
+ (t/is (= [g1] (mapv :undo-group (:items undo))) "the history stays")
+ (t/is (empty? (get-in undo [:transaction :undo-changes])))
+ (t/is (= g2 (get-in undo [:transaction :commit-group])))))
+
+(t/deftest forgetting-undo-groups-points-back-to-the-index-of-an-undone-undo
+ (let [[g1 g2 g3] (repeatedly 3 uuid/next)
+ undo-state {:items [(entry-of-groups g1) (entry-of-groups g2) (entry-of-groups g3)]
+ :index 0}]
+ (t/is (= 2 (:index (forget undo-state #{(uuid/next)} 2))))
+ (t/is (= 0 (:index (forget undo-state #{g2} 2)))
+ "a cut history cannot point past its end")))
+
+;; Scenario: the workspace opens and then reloads twice (a peer's restore,
+;; the rollback fallback), each reload running `initialize-workspace` again
+;; without leaving the workspace; then one commit is made. Proves: each
+;; reload replaces the workspace streams, so the commit adds one undo entry,
+;; not one per reload.
+(t/deftest ^:async a-workspace-reload-adds-one-undo-entry-per-commit
+ (let [file (cthf/sample-file :file1 :page-label :page1)
+ team-id (uuid/next)
+ store (ths/setup-store file {:renderer :svg})
+ loaded (fn [type] (mock/stub (fn [& _] (ptk/data-event type {}))))]
+ (await
+ (mock/with-mocks*
+ {dw/initialize-file (loaded ::file-requested)
+ dcmt/retrieve-comment-threads (loaded ::threads-requested)
+ dcmt/fetch-profiles (loaded ::profiles-requested)
+ df/fetch-fonts (loaded ::fonts-requested)}
+ (try
+ (ptk/emit! store
+ #(assoc % :current-team-id team-id)
+ (dw/initialize-workspace team-id (:id file))
+ (ptk/event ::dw/reload-current-file)
+ (ptk/event ::dw/reload-current-file))
+ (await (async/settle))
+ (ptk/emit! store (rename-page (cthf/current-page-id file) "Renamed"))
+ (await (async/wait-for #(seq (get-in @store [:workspace-undo :items]))
+ "the commit reaches the undo history"))
+ (await (async/settle))
+ (t/is (= 1 (count (get-in @store [:workspace-undo :items]))))
+ (finally
+ (rx/dispose! store)))))))
diff --git a/frontend/test/frontend_tests/data/workspace_undo_translation_test.cljs b/frontend/test/frontend_tests/data/workspace_undo_translation_test.cljs
new file mode 100644
index 0000000000..6dc42a89d5
--- /dev/null
+++ b/frontend/test/frontend_tests/data/workspace_undo_translation_test.cljs
@@ -0,0 +1,171 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.workspace-undo-translation-test
+ "The `:translation` flag of undo entries. Undo, redo and undo-to-index
+ replay changes through `commit-changes`, and a replay of a commit that only
+ moved shapes must say so, so that nothing downstream reacts to it as it
+ would to an edit."
+ (:require
+ [app.common.test-helpers.compositions :as ctho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.workspace.undo :as dwu]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.pages :as thp]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each
+ {:before thp/reset-idmap!})
+
+(defn- setup
+ []
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-frame :frame1))
+ store (ths/setup-store file)]
+ {:store store
+ :page-id (cthf/current-page-id file)
+ :frame-id (cthi/id :frame1)
+ :commits (atom [])}))
+
+(defn- set-attr
+ [{:keys [page-id frame-id]} attr val]
+ {:type :mod-obj
+ :id frame-id
+ :page-id page-id
+ :operations [{:type :set :attr attr :val val}]})
+
+(defn- move-entry
+ "An undo entry for a move, with the given `translation?` flag."
+ [ctx translation? & {:keys [undo-group]}]
+ {:undo-changes [(set-attr ctx :x 0)]
+ :redo-changes [(set-attr ctx :x 10)]
+ :undo-group (or undo-group (uuid/next))
+ :tags #{}
+ :translation translation?})
+
+(defn- edit-entry
+ "An undo entry for an edit that is not a move."
+ [ctx translation? & {:keys [undo-group]}]
+ (-> (move-entry ctx translation? :undo-group undo-group)
+ (assoc :undo-changes [(set-attr ctx :opacity 1)]
+ :redo-changes [(set-attr ctx :opacity 0.5)])))
+
+(defn- observe-commits
+ "Starts collecting the data of every commit the store sees."
+ [{:keys [store commits]}]
+ (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/map deref)
+ (rx/subs! #(swap! commits conj %))))
+
+(defn- ^:async emit-and-wait
+ "Emits `event` and resolves with the commit it caused."
+ [{:keys [store commits]} event]
+ (let [before (count @commits)]
+ (ptk/emit! store event)
+ (await (async/wait-for #(< before (count @commits)) "the commit of the event"))
+ (last @commits)))
+
+(defn- append-all
+ [{:keys [store]} entries]
+ (doseq [entry entries]
+ (ptk/emit! store (dwu/append-undo entry false))))
+
+(t/deftest ^:async undo-and-redo-replay-with-the-flag-of-the-entry
+ (let [ctx (setup)]
+ (observe-commits ctx)
+
+ (t/testing "a move"
+ (append-all ctx [(move-entry ctx true)])
+ (t/is (true? (:translation? (await (emit-and-wait ctx dwu/undo)))))
+ (t/is (true? (:translation? (await (emit-and-wait ctx dwu/redo))))))
+
+ (t/testing "an edit that is not a move"
+ (append-all ctx [(edit-entry ctx false)])
+ (t/is (false? (:translation? (await (emit-and-wait ctx dwu/undo)))))
+ (t/is (false? (:translation? (await (emit-and-wait ctx dwu/redo))))))))
+
+(t/deftest entry-without-the-translation-flag-is-rejected
+ (let [ctx (setup)
+ entry (dissoc (move-entry ctx true) :translation)]
+ (t/is (thrown? js/Error (dwu/append-undo entry false)))))
+
+(t/deftest ^:async undo-to-index-replays-a-translation-only-if-all-entries-are
+ (let [ctx (setup)]
+ (observe-commits ctx)
+ (append-all ctx [(move-entry ctx true)
+ (move-entry ctx true)
+ (move-entry ctx true)])
+
+ (t/is (true? (:translation? (await (emit-and-wait ctx (dwu/undo-to-index -1)))))
+ "undoing three moves")
+ (t/is (true? (:translation? (await (emit-and-wait ctx (dwu/undo-to-index 2)))))
+ "redoing three moves")
+
+ (append-all ctx [(move-entry ctx true)
+ (edit-entry ctx false)
+ (move-entry ctx true)])
+
+ (t/is (not (true? (:translation? (await (emit-and-wait ctx (dwu/undo-to-index 2))))))
+ "undoing a move, an edit and a move")
+ (t/is (not (true? (:translation? (await (emit-and-wait ctx (dwu/undo-to-index 5))))))
+ "redoing a move, an edit and a move")
+
+ (t/is (true? (:translation? (await (emit-and-wait ctx (dwu/undo-to-index 4)))))
+ "undoing only the last move of those")))
+
+(t/deftest ^:async undo-of-a-group-replays-a-translation-only-if-all-entries-are
+ (let [ctx (setup)
+ group-a (uuid/next)
+ group-b (uuid/next)]
+ (observe-commits ctx)
+
+ (append-all ctx [(move-entry ctx true :undo-group group-a)
+ (move-entry ctx true :undo-group group-a)])
+ (t/is (true? (:translation? (await (emit-and-wait ctx dwu/undo))))
+ "a group of moves")
+
+ (append-all ctx [(move-entry ctx true :undo-group group-b)
+ (edit-entry ctx false :undo-group group-b)])
+ (t/is (not (true? (:translation? (await (emit-and-wait ctx dwu/undo)))))
+ "a group with an edit")))
+
+(defn- merged-flag
+ "The flag of the only undo entry left after adding one entry per flag of
+ `flags`, either stacked on each other or accumulated in a transaction."
+ [mode flags]
+ (let [ctx (setup)
+ entries (map #(move-entry ctx %) flags)
+ events (case mode
+ :stacked
+ (cons (dwu/append-undo (first entries) false)
+ (map #(dwu/append-undo % true) (rest entries)))
+
+ :transaction
+ (concat [(dwu/start-undo-transaction ::tx)]
+ (map #(dwu/append-undo % false) entries)
+ [(dwu/commit-undo-transaction ::tx)]))
+ state (reduce (fn [state event] (ptk/update event state))
+ @(:store ctx)
+ events)
+ items (get-in state [:workspace-undo :items])]
+ (t/is (= 1 (count items)) (str mode " " (pr-str flags)))
+ (:translation (first items))))
+
+(t/deftest merged-entries-are-a-translation-only-if-all-parts-are
+ (doseq [mode [:stacked :transaction]]
+ (t/testing (name mode)
+ (t/is (true? (merged-flag mode [true true])))
+ (t/is (true? (merged-flag mode [true true true])))
+ (t/is (not (true? (merged-flag mode [true false]))))
+ (t/is (not (true? (merged-flag mode [false true]))))
+ (t/is (not (true? (merged-flag mode [true false true])))))))
diff --git a/frontend/test/frontend_tests/data/workspace_variant_rename_test.cljs b/frontend/test/frontend_tests/data/workspace_variant_rename_test.cljs
index 5e177b1b21..038d0ba112 100644
--- a/frontend/test/frontend_tests/data/workspace_variant_rename_test.cljs
+++ b/frontend/test/frontend_tests/data/workspace_variant_rename_test.cljs
@@ -6,6 +6,7 @@
(ns frontend-tests.data.workspace-variant-rename-test
(:require
+ [app.common.path-names :as cpn]
[app.common.test-helpers.components :as cthc]
[app.common.test-helpers.files :as cthf]
[app.common.test-helpers.ids-map :as cthi]
@@ -13,9 +14,13 @@
[app.common.test-helpers.variants :as thv]
[app.common.types.file :as ctf]
[app.common.types.pages-list :as ctpl]
+ [app.main.data.changes :as dch]
[app.main.data.workspace :as dw]
+ [app.main.data.workspace.variants :as dwv]
+ [beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
- [frontend-tests.helpers.state :as ths]))
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
(t/use-fixtures :each
{:before cthi/reset-idmap!})
@@ -28,6 +33,15 @@
:variant2-params {:name "Button"})
(cths/update-shape :variant :name "Button")))
+(defn- variant-file-on-other-page
+ []
+ (-> (cthf/sample-file :file1 :page-label :page1)
+ (thv/add-variant :variant :comp1 :root1 :comp2 :root2
+ :variant1-params {:name "Button"}
+ :variant2-params {:name "Button"})
+ (cths/update-shape :variant :name "Button")
+ (cthf/add-sample-page :page2)))
+
(defn- without-variant-name
[file label]
(let [page-id (cthf/current-page-id file)
@@ -47,16 +61,22 @@
"Run workspace events, then validate the file before assertions.
Pass `:validate? false` only when the fixture is intentionally incomplete
- (e.g. a variant main without `:variant-name`)."
- [file events done assert-fn & {:keys [validate?] :or {validate? true}}]
- (ths/run-store
- (ths/setup-store file)
- done
- events
- (fn [state]
- (when validate?
- (cthf/validate-file! (ths/get-file-from-state state)))
- (assert-fn state))))
+ (e.g. a variant main without `:variant-name`). Pass `:commits` as an atom
+ to collect each `dch/commit?` event from the store input."
+ [file events done assert-fn & {:keys [validate? commits] :or {validate? true}}]
+ (let [store (ths/setup-store file)]
+ (when commits
+ (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! #(swap! commits conj %))))
+ (ths/run-store
+ store
+ done
+ events
+ (fn [state]
+ (when validate?
+ (cthf/validate-file! (ths/get-file-from-state state)))
+ (assert-fn state)))))
(t/deftest end-rename-shape-does-not-apply-variant-formula
(t/async
@@ -230,3 +250,61 @@
(t/is (= "Renamed" (:name (cthc/get-component file :comp))))
(t/is (= "Box" (:name (cths/get-shape file :rect))))
(t/is (nil? (:shape-for-rename (:workspace-local state))))))))))
+
+(t/deftest end-rename-shape-renames-variant-container-in-one-commit
+ (t/async
+ done
+ (let [commits (atom [])]
+ (run (variant-file)
+ [(dw/end-rename-shape (cthi/id :variant) "Renamed set")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ comp1 (cthc/get-component file :comp1)
+ comp2 (cthc/get-component file :comp2)]
+ (t/is (= 1 (count @commits)))
+ (cthf/validate-file! file)
+ (t/is (= "Renamed set" (:name (cths/get-shape file :variant))))
+ (t/is (= "Renamed set" (:name (cths/get-shape file :root1))))
+ (t/is (= "Renamed set" (:name (cths/get-shape file :root2))))
+ (t/is (= "Renamed set"
+ (cpn/merge-path-item (:path comp1) (:name comp1))
+ (cpn/merge-path-item (:path comp2) (:name comp2))))))
+ :commits commits))))
+
+(t/deftest rename-variant-from-another-page-keeps-the-open-page
+ (t/async
+ done
+ (let [file (variant-file-on-other-page)
+ open-page-id (cthf/current-page-id file)]
+ (run file
+ [(dwv/rename-variant (cthi/id :variant) "Renamed")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ comp1 (cthc/get-component file :comp1)
+ comp2 (cthc/get-component file :comp2)]
+ (t/is (= open-page-id (:current-page-id state)))
+ (t/is (= "Renamed" (:name (cths/get-shape file :variant :page-label :page1))))
+ (t/is (= "Renamed" (:name (cths/get-shape file :root1 :page-label :page1))))
+ (t/is (= "Renamed" (:name (cths/get-shape file :root2 :page-label :page1))))
+ (t/is (= "Renamed"
+ (cpn/merge-path-item (:path comp1) (:name comp1))
+ (cpn/merge-path-item (:path comp2) (:name comp2))))))))))
+
+(t/deftest rename-variant-stores-empty-for-a-slash-only-name
+ (t/async
+ done
+ (run (variant-file)
+ [(dwv/rename-variant (cthi/id :variant) "///")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ comp1 (cthc/get-component file :comp1)
+ comp2 (cthc/get-component file :comp2)]
+ (t/is (= "(empty)" (:name (cths/get-shape file :variant))))
+ (t/is (= "(empty)" (:name (cths/get-shape file :root1))))
+ (t/is (= "(empty)" (:name (cths/get-shape file :root2))))
+ (t/is (= "" (:path comp1) (:path comp2)))
+ (t/is (= "(empty)" (:name comp1) (:name comp2)))
+ (t/is (= (cthi/id :variant) (:variant-id comp1) (:variant-id comp2))))))))
diff --git a/frontend/test/frontend_tests/data/workspace_variants_test.cljs b/frontend/test/frontend_tests/data/workspace_variants_test.cljs
new file mode 100644
index 0000000000..d596add6c2
--- /dev/null
+++ b/frontend/test/frontend_tests/data/workspace_variants_test.cljs
@@ -0,0 +1,611 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.data.workspace-variants-test
+ (:require
+ [app.common.files.changes-builder :as pcb]
+ [app.common.files.variant :as cfv]
+ [app.common.logic.variants :as clv]
+ [app.common.path-names :as cpn]
+ [app.common.test-helpers.components :as cthc]
+ [app.common.test-helpers.compositions :as tho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.test-helpers.variants :as thv]
+ [app.common.types.component :as ctk]
+ [app.common.types.variant :as ctv]
+ [app.common.uuid :as uuid]
+ [app.main.data.workspace :as dw]
+ [app.main.data.workspace.variants :as dwv]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each
+ {:before cthi/reset-idmap!})
+
+(defn- two-property-file-on-other-page
+ []
+ (-> (cthf/sample-file :file1 :page-label :page1)
+ (thv/add-variant-two-properties :v01 :c01 :m01 :c02 :m02)
+ (cthf/add-sample-page :page2)))
+
+(defn- run
+ [file events done assert-fn]
+ (ths/run-store
+ (ths/setup-store file)
+ done
+ events
+ (fn [state]
+ (cthf/validate-file! (ths/get-file-from-state state))
+ (assert-fn state))))
+
+(defn- variant-name
+ [file label]
+ (:variant-name (cths/get-shape file label :page-label :page1)))
+
+(t/deftest update-property-value-from-another-page
+ (t/async
+ done
+ (let [file (two-property-file-on-other-page)
+ component-id (:id (cthc/get-component file :c01))
+ other-id (cthi/id :page2)]
+ (run file
+ [(dwv/update-property-value component-id 0 "active")
+ (dwv/update-property-value component-id 1 "crítica")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ props (:variant-properties (cthc/get-component file :c01))]
+ (t/is (= other-id (:current-page-id state)))
+ (t/is (= "crítica" (-> props second :value)))
+ (t/is (= "active, crítica" (variant-name file :m01)))
+ (t/is (= (ctv/properties-to-name props) (variant-name file :m01)))))))))
+
+(t/deftest update-property-value-on-main-page
+ (t/async
+ done
+ (let [file (-> (two-property-file-on-other-page)
+ (cthf/switch-to-page :page1))
+ component-id (:id (cthc/get-component file :c01))]
+ (run file
+ [(dwv/update-property-value component-id 1 "crítica")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ props (:variant-properties (cthc/get-component file :c01))]
+ (t/is (= (cthi/id :page1) (:current-page-id state)))
+ (t/is (= "crítica" (-> props second :value)))
+ (t/is (= (ctv/properties-to-name props) (variant-name file :m01)))))))))
+
+(t/deftest add-remove-reorder-from-another-page
+ (t/async
+ done
+ (let [file (two-property-file-on-other-page)
+ variant-id (cthi/id :v01)]
+ (run file
+ [(dwv/add-new-property variant-id {:fill-values? true})
+ (dwv/reorder-variant-poperties variant-id 0 3)
+ (dwv/remove-property variant-id 0)]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ comp1 (cthc/get-component file :c01)
+ comp2 (cthc/get-component file :c02)
+ names1 (mapv :name (:variant-properties comp1))
+ names2 (mapv :name (:variant-properties comp2))]
+ (t/is (= names1 names2))
+ (t/is (= (ctv/properties-to-name (:variant-properties comp1))
+ (variant-name file :m01)))
+ (t/is (= (ctv/properties-to-name (:variant-properties comp2))
+ (variant-name file :m02)))))))))
+
+(t/deftest formula-rename-from-another-page
+ (t/async
+ done
+ (let [file (two-property-file-on-other-page)
+ comp (cthc/get-component file :c01)
+ previous (:variant-properties comp)
+ updated [{:name "Property 1" :value "active"}
+ {:name "Property 2" :value "crítica"}]]
+ (run file
+ [(dwv/update-properties-names-and-values (:id comp) (:variant-id comp) previous updated)
+ (dwv/remove-empty-properties (:variant-id comp))]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ props (:variant-properties (cthc/get-component file :c01))]
+ (t/is (= "active" (-> props first :value)))
+ (t/is (= "crítica" (-> props second :value)))
+ (t/is (= (ctv/properties-to-name props) (variant-name file :m01)))))))))
+
+(t/deftest update-property-name-from-another-page
+ (t/async
+ done
+ (let [file (two-property-file-on-other-page)
+ variant-id (cthi/id :v01)]
+ (run file
+ [(dwv/update-property-name variant-id 0 "Status" {:trigger "test"})]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ names (mapv :name (:variant-properties (cthc/get-component file :c01)))]
+ (t/is (= names (mapv :name (:variant-properties (cthc/get-component file :c02)))))
+ (t/is (= "Status" (first names)))))))))
+
+(t/deftest rename-variant-from-another-page
+ (t/async
+ done
+ (let [file (two-property-file-on-other-page)
+ variant-id (cthi/id :v01)
+ other-id (cthi/id :page2)
+ clean-name (cpn/clean-path "Renamed set")]
+ (run file
+ [(dwv/rename-variant variant-id "Renamed set")]
+ done
+ (fn [state]
+ (let [file (ths/get-file-from-state state)
+ container (cths/get-shape file :v01 :page-label :page1)
+ main1 (cths/get-shape file :m01 :page-label :page1)
+ main2 (cths/get-shape file :m02 :page-label :page1)
+ comp1 (cthc/get-component file :c01)
+ comp2 (cthc/get-component file :c02)]
+ (t/is (= other-id (:current-page-id state)))
+ (t/is (= clean-name (:name container)))
+ (t/is (= clean-name (:name main1)))
+ (t/is (= clean-name (:name main2)))
+ (t/is (= clean-name (cpn/merge-path-item (:path comp1) (:name comp1))))
+ (t/is (= clean-name (cpn/merge-path-item (:path comp2) (:name comp2))))))))))
+
+;; ---------------------------------------------------------------------------
+;; Create-set / combine: every commit must be a valid file
+;; ---------------------------------------------------------------------------
+
+(def ^:private apply-local?
+ (ptk/type? :app.main.data.changes/apply-changes-localy))
+
+(defn- simple-main-file
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-simple-component :c01 :m01 :r01)))
+
+(defn- two-mains-file
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:name "Alpha" :x 0 :y 0 :width 100 :height 80})
+ (tho/add-simple-component :c02 :m02 :r02
+ :root-params {:name "Beta" :x 150 :y 0 :width 100 :height 80})))
+
+(defn- two-mains-shared-prefix-file
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:name "UI / Alpha" :x 0 :y 0 :width 100 :height 80})
+ (tho/add-simple-component :c02 :m02 :r02
+ :root-params {:name "UI / Beta" :x 150 :y 0 :width 100 :height 80})))
+
+(defn- three-same-name-mains-file
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:name "Tag" :x 0 :y 0 :width 100 :height 80})
+ (tho/add-simple-component :c02 :m02 :r02
+ :root-params {:name "Tag" :x 150 :y 0 :width 100 :height 80})
+ (tho/add-simple-component :c03 :m03 :r03
+ :root-params {:name "Tag" :x 300 :y 0 :width 100 :height 80})))
+
+(defn- path-named-main-file
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:name "Group / Button"})))
+
+(defn- two-mains-on-page1-with-page2
+ "Two mains on :page1; the open page is :page2 (Assets combine while elsewhere)."
+ []
+ (-> (cthf/sample-file :file1 :page-label :page1)
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:name "Alpha" :x 0 :y 0 :width 100 :height 80})
+ (tho/add-simple-component :c02 :m02 :r02
+ :root-params {:name "Beta" :x 150 :y 0 :width 100 :height 80})
+ (cthf/add-sample-page :page2)
+ (cthf/switch-to-page :page2)))
+
+(defn- post-artboard-file
+ "A normal frame holding one main — the state after create-artboard-from-shapes
+ and before the container flag."
+ []
+ (-> (cthf/sample-file :file1)
+ (tho/add-frame :v01 {:name "Set"})
+ (tho/add-simple-component :c01 :m01 :r01
+ :root-params {:parent-label :v01 :name "Set"})))
+
+(defn- component-full-name
+ [component]
+ (cpn/merge-path-item (:path component) (:name component)))
+
+(defn- page-objects
+ [file]
+ (:objects (cthf/current-page file)))
+
+(defn- page-objects-on
+ [file page-label]
+ (:objects (cthf/get-page file page-label)))
+
+(defn- commit-error
+ [file]
+ (try
+ (cthf/validate-file! file)
+ nil
+ (catch :default cause
+ (or (ex-message cause) (str cause)))))
+
+(defn- watch-applied-commits
+ "Record the file after every local apply. Keep the subscription for the
+ whole run-store; assertions run in the completed callback."
+ [store snapshots]
+ (->> (ptk/input-stream store)
+ (rx/filter apply-local?)
+ (rx/subs! (fn [_]
+ (let [file (ths/get-file-from-state @store)]
+ (swap! snapshots conj {:file file
+ :error (commit-error file)}))))))
+
+(defn- after-commits-idle
+ "Stop once applied commits have been idle. Combine schedules an async
+ undo commit after the main stream."
+ [stream]
+ (->> stream
+ (rx/filter apply-local?)
+ (rx/debounce 100)))
+
+(defn- assert-valid-snapshots
+ [snapshots]
+ (doseq [{:keys [error]} snapshots]
+ (t/is (nil? error) error)))
+
+(defn- first-flagged
+ [snapshots container-id]
+ (first (filter #(ctk/is-variant-container?
+ (get (page-objects (:file %)) container-id))
+ snapshots)))
+
+(t/deftest define-variant-container-commit-validates
+ (let [file (post-artboard-file)
+ page (cthf/current-page file)
+ variant-id (cthi/id :v01)
+ main-id (cthi/id :m01)
+ component (cthc/get-component file :c01)
+ component-id (:id component)
+ name (:name (cths/get-shape file :v01))
+ changes (-> (pcb/empty-changes nil (:id page))
+ (pcb/with-objects (:objects page))
+ (pcb/with-library-data (:data file))
+ (clv/generate-define-variant-container
+ variant-id main-id component-id name))
+ file' (cthf/apply-changes file changes)
+ container' (cths/get-shape file' :v01)
+ main' (cths/get-shape file' :m01)
+ comp' (cthc/get-component file' :c01)]
+
+ (t/is (ctk/is-variant-container? container'))
+ (t/is (= [main-id] (:shapes container')))
+ (t/is (= variant-id (:variant-id main')))
+ (t/is (= variant-id (:variant-id comp')))
+ (t/is (some? (:variant-id comp')))
+ (t/is (= (ctv/properties-to-name (:variant-properties comp'))
+ (:variant-name main')))))
+
+(t/deftest transform-in-variant-validates-after-every-commit
+ (t/async
+ done
+ (let [file (simple-main-file)
+ main-id (cthi/id :m01)
+ variant-id (uuid/next)
+ snapshots (atom [])
+ store (ths/setup-store file)]
+ (watch-applied-commits store snapshots)
+ (ths/run-store
+ store
+ done
+ [(dwv/transform-in-variant main-id variant-id nil [] false true true)]
+ (fn [state]
+ (let [snaps @snapshots
+ flagged (first-flagged snaps variant-id)
+ file' (ths/get-file-from-state state)
+ objects' (page-objects file')
+ container' (get objects' variant-id)
+ main' (get objects' main-id)
+ comp' (cthc/get-component file' :c01)
+ before-flag (take-while
+ #(not (ctk/is-variant-container?
+ (get (page-objects (:file %)) variant-id)))
+ snaps)]
+ (assert-valid-snapshots snaps)
+ (t/is (some? flagged) "a commit must set :is-variant-container")
+ (doseq [snap before-flag]
+ (t/is (not (ctk/is-variant-container?
+ (get (page-objects (:file snap)) variant-id)))))
+ (when flagged
+ (let [ffile (:file flagged)
+ fobjs (page-objects ffile)
+ fcont (get fobjs variant-id)
+ fmain (get fobjs main-id)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= [main-id] (:shapes fcont)))
+ (t/is (ctk/main-instance? fmain))
+ (t/is (= variant-id (:variant-id fmain)))
+ (t/is (= variant-id (:variant-id fcomp)))
+ (t/is (= (ctv/properties-to-name (:variant-properties fcomp))
+ (:variant-name fmain)))))
+ (t/is (ctk/is-variant-container? container'))
+ (t/is (= variant-id (:variant-id main')))
+ (t/is (= variant-id (:variant-id comp')))))
+ after-commits-idle))))
+
+(t/deftest transform-in-variant-path-name-validates-after-every-commit
+ (t/async
+ done
+ (let [file (path-named-main-file)
+ main-id (cthi/id :m01)
+ variant-id (uuid/next)
+ snapshots (atom [])
+ store (ths/setup-store file)]
+ (watch-applied-commits store snapshots)
+ (ths/run-store
+ store
+ done
+ [(dwv/transform-in-variant main-id variant-id nil [] false true true)]
+ (fn [state]
+ (let [snaps @snapshots
+ flagged (first-flagged snaps variant-id)
+ file' (ths/get-file-from-state state)
+ objects' (page-objects file')
+ container' (get objects' variant-id)
+ main' (get objects' main-id)
+ comp' (cthc/get-component file' :c01)
+ before-flag (take-while
+ #(not (ctk/is-variant-container?
+ (get (page-objects (:file %)) variant-id)))
+ snaps)]
+ (assert-valid-snapshots snaps)
+ (t/is (some? flagged) "a commit must set :is-variant-container")
+ (doseq [snap before-flag]
+ (let [ffile (:file snap)
+ fmain (get (page-objects ffile) main-id)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= "Group / Button" (:name fmain)))
+ (t/is (= "Group / Button" (component-full-name fcomp)))))
+ (when flagged
+ (let [ffile (:file flagged)
+ fobjs (page-objects ffile)
+ fcont (get fobjs variant-id)
+ fmain (get fobjs main-id)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= "Group" (:name fcont) (:name fmain) (component-full-name fcomp)))
+ (t/is (= variant-id (:variant-id fmain) (:variant-id fcomp)))
+ (t/is (= (ctv/properties-to-name (:variant-properties fcomp))
+ (:variant-name fmain)))))
+ (t/is (ctk/is-variant-container? container'))
+ (t/is (= "Group" (:name container') (:name main') (component-full-name comp')))
+ (t/is (= variant-id (:variant-id main') (:variant-id comp')))))
+ after-commits-idle))))
+
+(t/deftest add-new-variant-on-existing-set-still-validates
+ (t/async
+ done
+ (let [file (-> (two-property-file-on-other-page)
+ (cthf/switch-to-page :page1))
+ main-id (cthi/id :m01)
+ c01-before (cthc/get-component file :c01)
+ c02-before (cthc/get-component file :c02)
+ last-c01 (-> c01-before :variant-properties last)
+ last-c02 (-> c02-before :variant-properties last)]
+ (run file
+ [(dwv/add-new-variant main-id)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ container' (cths/get-shape file' :v01 :page-label :page1)
+ c01' (cthc/get-component file' :c01)
+ c02' (cthc/get-component file' :c02)
+ new-id (first (:shapes container'))
+ new-shape (cths/get-shape-by-id file' new-id :page-label :page1)
+ new-comp (cthc/get-component-by-id file' (:component-id new-shape))]
+ (t/is (= 3 (count (:shapes container'))))
+ (t/is (= last-c01 (-> c01' :variant-properties last)))
+ (t/is (= last-c02 (-> c02' :variant-properties last)))
+ (t/is (not= last-c01 (-> new-comp :variant-properties last)))
+ (t/is (= (ctv/properties-to-name (:variant-properties new-comp))
+ (:variant-name new-shape)))))))))
+
+(t/deftest combine-as-variants-validates-after-every-commit
+ (t/async
+ done
+ (let [file (two-mains-file)
+ id1 (cthi/id :m01)
+ id2 (cthi/id :m02)
+ variant-id (uuid/next)
+ snapshots (atom [])
+ store (ths/setup-store file)]
+ (watch-applied-commits store snapshots)
+ (ths/run-store
+ store
+ done
+ [(dwv/combine-as-variants [id1 id2] {:variant-id variant-id :trigger "test"})]
+ (fn [state]
+ (let [snaps @snapshots
+ file' (ths/get-file-from-state state)
+ objects (page-objects file')
+ container (get objects variant-id)
+ m01' (get objects id1)
+ m02' (get objects id2)
+ c01' (cthc/get-component file' :c01)
+ c02' (cthc/get-component file' :c02)
+ names1 (mapv :name (:variant-properties c01'))
+ names2 (mapv :name (:variant-properties c02'))
+ ordered (mapv :main-instance-id
+ (cfv/find-variant-components (:data file') objects variant-id))
+ before-flag (take-while
+ #(not (ctk/is-variant-container?
+ (get (page-objects (:file %)) variant-id)))
+ snaps)
+ flagged (first-flagged snaps variant-id)]
+ (assert-valid-snapshots snaps)
+ (doseq [snap before-flag]
+ (let [ffile (:file snap)
+ fmain (get (page-objects ffile) id1)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= "Alpha" (:name fmain)))
+ (t/is (= "Alpha" (component-full-name fcomp)))))
+ (when flagged
+ (let [ffile (:file flagged)
+ fobjs (page-objects ffile)
+ fcont (get fobjs variant-id)
+ fmain (get fobjs id1)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= "Component" (:name fcont) (:name fmain) (component-full-name fcomp)))))
+ (doseq [{:keys [file]} snaps]
+ (let [objs (page-objects file)
+ cont (get objs variant-id)
+ kids (set (:shapes cont))]
+ (when (contains? kids id2)
+ (t/is (ctk/is-variant-container? cont)
+ "other mains must not enter the frame before it is a variant container"))))
+ (t/is (ctk/is-variant-container? container))
+ (t/is (= names1 names2))
+ (t/is (= [id1 id2] ordered))
+ (t/is (= variant-id (:variant-id m01')))
+ (t/is (= variant-id (:variant-id m02')))
+ (t/is (= variant-id (:parent-id m01')))
+ (t/is (= variant-id (:parent-id m02')))))
+ after-commits-idle))))
+
+(t/deftest combine-as-variants-shared-prefix-validates-after-every-commit
+ (t/async
+ done
+ (let [file (two-mains-shared-prefix-file)
+ id1 (cthi/id :m01)
+ id2 (cthi/id :m02)
+ variant-id (uuid/next)
+ snapshots (atom [])
+ store (ths/setup-store file)]
+ (watch-applied-commits store snapshots)
+ (ths/run-store
+ store
+ done
+ [(dwv/combine-as-variants [id1 id2] {:variant-id variant-id :trigger "test"})]
+ (fn [state]
+ (let [snaps @snapshots
+ file' (ths/get-file-from-state state)
+ objects (page-objects file')
+ container (get objects variant-id)
+ m01' (get objects id1)
+ m02' (get objects id2)
+ c01' (cthc/get-component file' :c01)
+ c02' (cthc/get-component file' :c02)
+ flagged (first-flagged snaps variant-id)]
+ (assert-valid-snapshots snaps)
+ (doseq [{:keys [file]} snaps]
+ (let [objs (page-objects file)
+ cont (get objs variant-id)
+ kids (set (:shapes cont))]
+ (when (contains? kids id2)
+ (t/is (ctk/is-variant-container? cont)
+ "other mains must not enter the frame before it is a variant container"))))
+ (when flagged
+ (let [ffile (:file flagged)
+ fobjs (page-objects ffile)
+ fcont (get fobjs variant-id)
+ fmain (get fobjs id1)
+ fcomp (cthc/get-component ffile :c01)]
+ (t/is (= "UI" (:name fcont) (:name fmain) (component-full-name fcomp)))))
+ (t/is (ctk/is-variant-container? container))
+ (t/is (= "UI" (:name container) (:name m01') (:name m02')
+ (component-full-name c01') (component-full-name c02')))
+ (t/is (= variant-id (:variant-id m01') (:variant-id m02')
+ (:variant-id c01') (:variant-id c02')))
+ (t/is (= variant-id (:parent-id m01') (:parent-id m02')))))
+ after-commits-idle))))
+
+(t/deftest combine-as-variants-same-name-gives-unique-values
+ (t/async
+ done
+ (let [file (three-same-name-mains-file)
+ ids [(cthi/id :m01) (cthi/id :m02) (cthi/id :m03)]
+ variant-id (uuid/next)
+ store (ths/setup-store file)]
+ (ths/run-store
+ store
+ done
+ [(dwv/combine-as-variants ids {:variant-id variant-id :trigger "test"})]
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ values (mapv #(-> (cthc/get-component file' %) :variant-properties first :value)
+ [:c01 :c02 :c03])]
+ (cthf/validate-file! file')
+ (t/is (= ["Value 1" "Value 2" "Value 3"] values))))
+ after-commits-idle))))
+
+(t/deftest combine-as-variants-same-name-values-follow-combine-order
+ ;; The combine order differs from the layer order of the mains
+ (t/async
+ done
+ (let [file (three-same-name-mains-file)
+ ids [(cthi/id :m03) (cthi/id :m01) (cthi/id :m02)]
+ variant-id (uuid/next)
+ store (ths/setup-store file)]
+ (ths/run-store
+ store
+ done
+ [(dwv/combine-as-variants ids {:variant-id variant-id :trigger "test"})]
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ objects (page-objects file')
+ values (mapv #(-> (cthc/get-component file' %) :variant-properties first :value)
+ [:c03 :c01 :c02])
+ ordered (->> (cfv/find-variant-components (:data file') objects variant-id)
+ (mapv #(-> % :variant-properties first :value)))]
+ (cthf/validate-file! file')
+ (t/is (= ["Value 1" "Value 2" "Value 3"] values))
+ (t/is (= ["Value 1" "Value 2" "Value 3"] ordered))))
+ after-commits-idle))))
+
+(t/deftest combine-as-variants-from-another-page-validates-after-every-commit
+ (t/async
+ done
+ (let [file (two-mains-on-page1-with-page2)
+ id1 (cthi/id :m01)
+ id2 (cthi/id :m02)
+ page1 (cthi/id :page1)
+ variant-id (uuid/next)
+ snapshots (atom [])
+ store (ths/setup-store file)]
+ (watch-applied-commits store snapshots)
+ (ths/run-store
+ store
+ done
+ [(dwv/combine-as-variants [id1 id2] {:page-id page1 :variant-id variant-id :trigger "test"})
+ (dw/initialize-page (:id file) page1)]
+ (fn [state]
+ (let [snaps @snapshots
+ file' (ths/get-file-from-state state)
+ objects (page-objects-on file' :page1)
+ container (get objects variant-id)
+ m01' (get objects id1)
+ m02' (get objects id2)
+ c01' (cthc/get-component file' :c01)
+ c02' (cthc/get-component file' :c02)]
+ (assert-valid-snapshots snaps)
+ (t/is (ctk/is-variant-container? container))
+ (t/is (= variant-id (:variant-id m01')))
+ (t/is (= variant-id (:variant-id m02')))
+ (t/is (= variant-id (:variant-id c01')))
+ (t/is (= variant-id (:variant-id c02')))))
+ after-commits-idle))))
diff --git a/frontend/test/frontend_tests/data/workspace_versions_test.cljs b/frontend/test/frontend_tests/data/workspace_versions_test.cljs
index 5ec7fa87bb..7753ba4164 100644
--- a/frontend/test/frontend_tests/data/workspace_versions_test.cljs
+++ b/frontend/test/frontend_tests/data/workspace_versions_test.cljs
@@ -6,14 +6,17 @@
(ns frontend-tests.data.workspace-versions-test
(:require
+ [app.common.time :as ct]
[app.common.uuid :as uuid]
[app.main.data.changes :as dch]
+ [app.main.data.notifications :as ntf]
[app.main.data.persistence :as dps]
[app.main.data.workspace :as dw]
[app.main.data.workspace.pages :as dwpg]
[app.main.data.workspace.versions :as versions]
[app.main.refs :as refs]
[app.main.repo :as rp]
+ [app.main.ui.workspace.sidebar.versions :as versions-ui]
[app.util.timers :as tm]
[beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
@@ -27,6 +30,7 @@
(let [file-id (uuid/next)
resolved (atom [])
rejected (atom [])
+ emitted (atom [])
requests (atom [])
state {:current-file-id file-id}
event (case operation
@@ -42,12 +46,41 @@
rx/timeout (mock/stub (fn [_ fallback source]
(if (= failure :timeout) fallback source)))]
(->> (ptk/watch event state (rx/empty))
- (rx/subs! (fn [_]) #(swap! rejected conj %)))
+ (rx/subs! #(swap! emitted conj %) #(swap! rejected conj %)))
(t/is (empty? @requests) "Do not create a version without saving")
(t/is (empty? @resolved) "Do not resolve the plugin promise on failure")
- (t/is (= 1 (count @rejected)))
- (t/is (= (if (= failure :error) :save-permission-denied :save-timeout)
- (:code (ex-data (first @rejected))))))))))
+ (if (= operation :create)
+ ;; The save failure is reported on its own; the user is told
+ ;; why the version is missing instead
+ (let [notice (some #(when (= ::ntf/show (ptk/type %))
+ (:notification (ptk/update % {})))
+ @emitted)]
+ (t/is (empty? @rejected))
+ (t/is (= "workspace.versions.create-failed-unsaved" (:content notice)))
+ (t/is (= :warning (:level notice))))
+ (do
+ (t/is (= 1 (count @rejected)))
+ (t/is (= (if (= failure :error) :save-permission-denied :save-timeout)
+ (:code (ex-data (first @rejected))))))))))))
+
+(t/deftest repair-snapshots-are-told-apart-from-autosaves
+ (t/is (versions/repair-snapshot? {:label "internal/repair/5" :created-by "system"}))
+ (t/is (not (versions/repair-snapshot? {:label "internal/snapshot/20" :created-by "system"})))
+ (t/is (not (versions/repair-snapshot? {:label "My version" :created-by "user"})))
+ (t/is (not (versions/repair-snapshot? {:created-by "user"}))))
+
+;; Scenario: on one day the backend kept two autosaves and the copy from
+;; before a repair. Proves: the history shows the repair copy as its own
+;; entry, above the day's autosaves, so it can be found by its label.
+(t/deftest the-history-lists-the-copy-before-a-repair-apart
+ (let [at (fn [hh] (ct/inst (str "2026-11-03T" hh ":00:00Z")))
+ data [{:id (uuid/next) :created-by "system" :label "internal/snapshot/0" :created-at (at "10")}
+ {:id (uuid/next) :created-by "system" :label "internal/repair/5" :created-at (at "11")}
+ {:id (uuid/next) :created-by "system" :label "internal/snapshot/20" :created-at (at "12")}]
+ entries (#'versions-ui/group-snapshots data)]
+ (t/is (= [:repair :autosave] (mapv :kind entries)))
+ (t/is (= [["internal/repair/5"] ["internal/snapshot/0" "internal/snapshot/20"]]
+ (mapv #(mapv :label (:snapshots %)) entries)))))
(t/deftest leaving-the-workspace-clears-the-preview-flags
(let [team-id (uuid/next)
diff --git a/frontend/test/frontend_tests/helpers/persistence.cljs b/frontend/test/frontend_tests/helpers/persistence.cljs
new file mode 100644
index 0000000000..70e3db744a
--- /dev/null
+++ b/frontend/test/frontend_tests/helpers/persistence.cljs
@@ -0,0 +1,181 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.helpers.persistence
+ "Fixture and builders shared by the persistence tests: a store with
+ persistence initialized over a mocked transport, synthetic commits, and
+ one-page file data to roll back."
+ (:require
+ [app.common.types.shape :as cts]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.persistence :as dps]
+ [app.main.errors :as errors]
+ [app.main.repo :as rp]
+ [app.main.store :as st]
+ [app.main.worker :as mw]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.mock :as mock]
+ [potok.v2.core :as ptk]))
+
+(defn local-commit
+ "Builds a synthetic local commit event for `file-id`: a page edit as redo,
+ no undo, from the `:local` source."
+ [file-id]
+ (ptk/data-event ::dch/commit
+ {:id (uuid/next)
+ :file-id file-id
+ :file-revn 0
+ :file-vern 0
+ :source :local
+ :features #{}
+ :redo-changes [{:type :mod-page :id (uuid/next) :name "Edited"}]
+ :undo-changes []}))
+
+(defn with-persistence
+ "Async fixture for the persistence tests: mocks the transport, flash, the
+ worker and the leave-page task set (`:tasks`), and runs `f` with
+ persistence initialized.
+
+ Evaluates to a promise resolving once `f` settles and teardown completes;
+ `await` it from an `^:async` test.
+
+ By default the transport responds through the `:response` subject. Pass a
+ `respond` function (`(fn [cmd params] observable)`) to drive the transport
+ response directly instead. Delivery through the subject is asynchronous
+ (`observe-on :async`): await each effect — via `wait-for` — before
+ asserting it."
+ [f & [respond]]
+ (let [file-id (uuid/next)
+ response (rx/subject)
+ failures (atom [])
+ requests (atom [])
+ tasks (atom #{})
+ store (ptk/store {:state {:current-file-id file-id
+ :permissions {:can-edit true}
+ :files {file-id {:id file-id :revn 0}}}
+ :on-error #(t/is false (str %))})]
+ (mock/with-mocks*
+ {rp/cmd! (mock/stub (fn [cmd params]
+ (swap! requests conj [cmd params])
+ (if respond
+ (respond cmd params)
+ (->> response (rx/take 1) (rx/observe-on :async)))))
+ errors/flash (fn [& {:keys [cause]}]
+ (swap! failures conj cause))
+ ;; Index updates of applied changes go to a worker the tests lack
+ mw/ask! (mock/stub (fn [_] (rx/empty)))
+ st/ongoing-tasks tasks}
+ (try
+ (ptk/emit! store (dps/initialize-persistence))
+ (await (f {:file-id file-id :response response :failures failures
+ :requests requests :store store :tasks tasks}))
+ (finally
+ (rx/dispose! store)
+ (rx/end! response))))))
+
+(defn set-attr
+ "A change that sets `attr` of shape `shape-id` to `val`."
+ [page-id shape-id attr val]
+ {:type :mod-obj :id shape-id :page-id page-id
+ :operations [{:type :set :attr attr :val val}]})
+
+(defn rename
+ "A change that renames shape `shape-id` to `name`."
+ [page-id shape-id name]
+ (set-attr page-id shape-id :name name))
+
+(defn attr-commit
+ "A local commit of `file-id` that sets `attr` of the shape from `from` to
+ `to`, with its own undo group."
+ [file-id page-id shape-id attr from to]
+ (ptk/data-event ::dch/commit
+ {:id (uuid/next)
+ :file-id file-id
+ :file-revn 0
+ :file-vern 0
+ :source :local
+ :features #{}
+ :undo-group (uuid/next)
+ :redo-changes [(set-attr page-id shape-id attr to)]
+ :undo-changes [(set-attr page-id shape-id attr from)]}))
+
+(defn rename-commit
+ "A local commit of `file-id` that renames the shape from `from` to `to`,
+ with its own undo group."
+ [file-id page-id shape-id from to]
+ (attr-commit file-id page-id shape-id :name from to))
+
+(defn remote-commit
+ "A peer's commit of `changes` to `file-id` at revision `revn`."
+ [file-id revn changes]
+ (dch/commit {:file-id file-id
+ :file-revn revn
+ :file-vern 0
+ :source :remote
+ :save-undo? false
+ :redo-changes changes
+ :undo-changes []}))
+
+(defn file-data
+ "File data with one page holding one rectangle named `name`, with `attrs`
+ on top of its defaults."
+ [page-id shape-id name & {:as attrs}]
+ {:pages [page-id]
+ :pages-index {page-id {:id page-id
+ :name "Page"
+ :objects {uuid/zero (cts/setup-shape {:id uuid/zero :type :frame :shapes [shape-id]})
+ shape-id (merge (cts/setup-shape {:id shape-id :type :rect :name name
+ :parent-id uuid/zero :frame-id uuid/zero})
+ attrs)}}}})
+
+(defn add-shape
+ "`data` with `shape` added as the last child of the root of `page-id`."
+ [data page-id shape]
+ (-> data
+ (assoc-in [:pages-index page-id :objects (:id shape)] shape)
+ (update-in [:pages-index page-id :objects uuid/zero :shapes] conj (:id shape))))
+
+(defn open-file
+ "A state update that opens `page-id` of `file-id` with `data` loaded."
+ [file-id page-id data]
+ #(-> %
+ (assoc :current-page-id page-id)
+ (assoc-in [:files file-id :data] data)))
+
+(defn open-file-with-library
+ "`open-file` that also loads library `lib-id` with `lib-data`."
+ [file-id lib-id page-id data lib-data]
+ (comp #(assoc-in % [:files lib-id] {:id lib-id :revn 0 :data lib-data})
+ (open-file file-id page-id data)))
+
+(defn shape-attr
+ [store file-id page-id shape-id attr]
+ (get-in @store [:files file-id :data :pages-index page-id :objects shape-id attr]))
+
+(defn shape-name
+ [store file-id page-id shape-id]
+ (shape-attr store file-id page-id shape-id :name))
+
+(defn undo-entry
+ "The undo history entry `commit` would add."
+ [commit]
+ (let [{:keys [undo-group undo-changes redo-changes]} @commit]
+ {:undo-group undo-group
+ :undo-groups #{undo-group}
+ :undo-changes undo-changes
+ :redo-changes redo-changes
+ :tags #{}}))
+
+(defn rejection
+ "A save answer that rejects `commit-ids`, the first one failing
+ validation."
+ [& commit-ids]
+ {:revn 0
+ :rejected {:commit-ids (vec commit-ids)
+ :failed-commit-id (first commit-ids)
+ :error {:type :validation :code :referential-integrity}}})
diff --git a/frontend/test/frontend_tests/logic/comp_watcher_test.cljs b/frontend/test/frontend_tests/logic/comp_watcher_test.cljs
index f8d3bc8783..b9767480ba 100644
--- a/frontend/test/frontend_tests/logic/comp_watcher_test.cljs
+++ b/frontend/test/frontend_tests/logic/comp_watcher_test.cljs
@@ -11,6 +11,7 @@
[app.common.test-helpers.files :as cthf]
[app.common.test-helpers.ids-map :as cthi]
[app.common.test-helpers.shapes :as cths]
+ [app.main.data.changes :as dch]
[app.main.data.helpers :as dsh]
[app.main.data.workspace.libraries :as dwl]
[app.main.data.workspace.pages :as dwpg]
@@ -98,3 +99,34 @@
(ptk/emit! store (dwpg/finalize-page (:id file) (cthf/current-page-id file)))
(await (async/settle))))))
+
+;; Scenario: a rollback reverts the opacity of the main's child. A rollback
+;; is not a commit, so the change watch sees no component change.
+;; Proves: the component's thumbnail is rendered again and uploaded, so
+;; neither the tab nor the server keeps a thumbnail of the rejected data.
+(t/deftest ^:async a-rollback-of-a-main-renders-and-uploads-its-thumbnail
+ (let [file (setup-file)
+ store (ths/setup-store file)
+ page-id (cthf/current-page-id file)
+ renders (atom [])]
+ (await
+ (mock/with-mocks*
+ {refs/workspace-data (l/derived dsh/lookup-file-data store)
+ st/state store
+ dwt.wasm/render-thumbnail (fn [_ _ frame-id & {:as opts}]
+ (swap! renders conj [frame-id opts])
+ (noop-render-thumbnail))}
+
+ (ptk/emit! store (dwl/watch-component-changes))
+ (ptk/emit! store (dch/rebase-commits
+ (:id file)
+ {:undo []
+ :remote [{:type :mod-obj :id (cthi/id :main-child) :page-id page-id
+ :operations [{:type :set :attr :opacity :val 0.5}]}]
+ :redo []}))
+
+ (await (async/wait-for #(seq @renders) "the thumbnail to render"))
+ (t/is (= [[(cthi/id :main-root) {:persist? true}]] @renders))
+
+ (ptk/emit! store (dwpg/finalize-page (:id file) page-id))
+ (await (async/settle))))))
diff --git a/frontend/test/frontend_tests/logic/drag_on_save_failure_test.cljs b/frontend/test/frontend_tests/logic/drag_on_save_failure_test.cljs
new file mode 100644
index 0000000000..7ccf1c9d9c
--- /dev/null
+++ b/frontend/test/frontend_tests/logic/drag_on_save_failure_test.cljs
@@ -0,0 +1,214 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.logic.drag-on-save-failure-test
+ "Tests for drags and drawings in progress when saves start failing and
+ the workspace locks."
+ (:require
+ [app.common.data :as d]
+ [app.common.geom.point :as gpt]
+ [app.common.geom.rect :as grc]
+ [app.common.test-helpers.compositions :as ctho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.types.path :as path]
+ [app.main.data.changes :as dch]
+ [app.main.data.persistence.lock :as plk]
+ [app.main.data.workspace.drawing :as dwd]
+ [app.main.data.workspace.drawing.curve :as-alias dwdc]
+ [app.main.data.workspace.transforms :as dwt]
+ [app.main.snap :as snap]
+ [app.main.streams :as ms]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each {:before cthi/reset-idmap!})
+
+(defn- shape-rect
+ [store]
+ (-> (ths/get-file-from-state @store)
+ (cths/get-shape :rect1)
+ :points
+ (grc/points->rect)))
+
+(defn- ^:async drag
+ "Drags rect1 with the gesture `start` makes, from (120, 220) to (160, 260),
+ then emits `stop`. Resolves to the commits made and the store."
+ [start stop]
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-rect :rect1 :x 100 :y 200 :width 50 :height 50))
+ rect (cths/get-shape file :rect1)
+ store (ths/setup-store file {:renderer :svg})
+ commits (atom 0)
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! (fn [_] (swap! commits inc))))]
+ (await
+ (mock/with-mocks*
+ ;; Called with seven arguments, more than a stub forwards
+ {snap/closest-snap-move (fn [& _] (rx/of (gpt/point 0 0)))
+ snap/closest-snap-point (fn [& _] (rx/of (gpt/point 0 0)))
+ ;; Moves a DOM node the tests lack
+ dwt/set-ghost-displacement (mock/stub (fn [_] (ptk/data-event ::ghost-moved)))}
+ (try
+ (rx/push! ms/mouse-position (gpt/point 120 220))
+ (ptk/emit! store
+ #(assoc-in % [:workspace-local :selected] (d/ordered-set (:id rect)))
+ (start rect))
+ (rx/push! ms/mouse-position (gpt/point 160 260))
+ (await (async/wait-for #(seq (:workspace-modifiers @store)) "the drag shows a preview"))
+ (ptk/emit! store stop)
+ (await (async/settle))
+ (finally
+ (rx/push! ms/mouse-position nil)
+ (rx/dispose! sub)))))
+ {:commits @commits :store store}))
+
+(def ^:private save-failure
+ "Saves fail for good: the workspace locks."
+ (ptk/reify ::save-failure
+ ptk/UpdateEvent
+ (update [_ state]
+ (assoc state :persistence {:status :error}))
+
+ ptk/WatchEvent
+ (watch [_ _ _]
+ (rx/of (plk/sync-failure-lock)))))
+
+(defn- move
+ [rect]
+ (dwt/start-move (gpt/point 120 220) [(:id rect)]))
+
+(defn- rotate
+ [rect]
+ (dwt/start-rotate [rect]))
+
+;; Scenario: the user drags a shape and stops it with Escape. Proves: the
+;; drag commits where it stopped (the case the lock must not follow).
+(t/deftest ^:async an-interrupted-move-commits-its-position
+ (let [{:keys [commits store]} (await (drag move :interrupt))]
+ (t/is (pos? commits))
+ (t/is (= 140 (:x (shape-rect store))))))
+
+;; Scenario: saves fail while the user drags a shape, or rotates it. Proves:
+;; the lock cancels the gesture, the shape goes back to where it was and
+;; nothing is committed behind the failed save.
+(defn- check-cancelled
+ [{:keys [commits store]}]
+ (t/is (some? (get-in @store [:workspace-global :persistence-lock])) "the workspace is locked")
+ (t/is (= 0 commits) "nothing is committed")
+ (t/is (empty? (:workspace-modifiers @store)) "the preview is dropped")
+ (t/is (nil? (get-in @store [:workspace-local :transform])))
+ (t/is (= (grc/make-rect 100 200 50 50) (shape-rect store))
+ "the shape stays where it was"))
+
+(t/deftest ^:async a-save-failure-cancels-a-move-in-progress
+ (check-cancelled (await (drag move save-failure))))
+
+(t/deftest ^:async a-save-failure-cancels-a-rotation-in-progress
+ (check-cancelled (await (drag rotate save-failure))))
+
+;; -- Drawing ---------------------------------------------------------
+
+(defn- drawn-shapes
+ "Shapes of the current page other than the root."
+ [store]
+ (let [page-id (:current-page-id @store)
+ objects (get-in (ths/get-file-from-state @store) [:data :pages-index page-id :objects])]
+ (remove #(= (:id %) (:parent-id %)) (vals objects))))
+
+(defn- ^:async draw
+ "Starts drawing with `tool` on an empty page and moves the pointer with
+ `move` (gets the store, resolves once the drawing shows), then emits
+ `stop` and waits for the drawing to end. Resolves to the commits made
+ and the store."
+ [tool move stop]
+ (let [file (cthf/sample-file :file1)
+ store (ths/setup-store file {:renderer :svg})
+ commits (atom 0)
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! (fn [_] (swap! commits inc))))]
+ (await
+ (mock/with-mocks*
+ ;; Called with seven arguments, more than a stub forwards
+ {snap/closest-snap-point (fn [& _] (rx/of (gpt/point 0 0)))}
+ (try
+ (rx/push! ms/mouse-position (gpt/point 100 100))
+ (ptk/emit! store (dwd/handle-drawing tool))
+ (await (move store))
+ (ptk/emit! store stop)
+ ;; A box drawing ends 100 ms after its stop
+ (await (async/wait-for #(nil? (get-in @store [:workspace-drawing :object]))
+ "the drawing ends" {:max-ticks 500}))
+ (await (async/settle))
+ (finally
+ (rx/push! ms/mouse-position nil)
+ (rx/dispose! sub)))))
+ {:commits @commits :store store}))
+
+(defn- ^:async drag-box
+ [store]
+ (rx/push! ms/mouse-position (gpt/point 160 180))
+ (await (async/wait-for #(< 50 (get-in @store [:workspace-drawing :object :width] 0))
+ "the box follows the pointer")))
+
+(defn- ^:async drag-curve
+ [store]
+ (doseq [x [110 130 150 170]]
+ (rx/push! ms/mouse-position (gpt/point x (+ x 20)))
+ (await (async/wait-for #(some (fn [p] (= x (:x p)))
+ (get-in @store [:workspace-drawing :object ::dwdc/points]))
+ "the curve takes the point"))))
+
+(defn- ^:async click-path
+ "Stands for the pen clicks: the drawn path gets two nodes."
+ [store]
+ (await (async/wait-for #(some? (get-in @store [:workspace-drawing :object])) "the pen starts"))
+ (ptk/emit! store #(assoc-in % [:workspace-drawing :object :content]
+ (path/content [{:command :move-to :params {:x 100 :y 100}}
+ {:command :line-to :params {:x 180 :y 160}}]))))
+
+(defn- check-drawn
+ [{:keys [commits store]}]
+ (t/is (pos? commits))
+ (t/is (= 1 (count (drawn-shapes store))) "the shape is added"))
+
+(defn- check-not-drawn
+ [{:keys [commits store]}]
+ (t/is (plk/locked? @store) "the workspace is locked")
+ (t/is (= 0 commits) "nothing is committed")
+ (t/is (empty? (drawn-shapes store)) "no shape is added")
+ (t/is (nil? (get-in @store [:workspace-drawing :object])) "no drawing is left on screen"))
+
+;; Scenario: the user draws a rectangle, a curve or a path and stops it
+;; with Escape. Proves: the shape is added (the case the lock must not
+;; follow).
+(t/deftest ^:async an-interrupted-rectangle-is-added
+ (check-drawn (await (draw :rect drag-box :interrupt))))
+
+(t/deftest ^:async an-interrupted-curve-is-added
+ (check-drawn (await (draw :curve drag-curve :interrupt))))
+
+(t/deftest ^:async an-interrupted-path-is-added
+ (check-drawn (await (draw :path click-path :interrupt))))
+
+;; Scenario: saves fail while the user draws a rectangle, a curve or a
+;; path. Proves: the lock drops the drawing: no shape is added, nothing is
+;; committed behind the failed save and no half-drawn shape stays.
+(t/deftest ^:async a-save-failure-drops-a-rectangle-in-progress
+ (check-not-drawn (await (draw :rect drag-box save-failure))))
+
+(t/deftest ^:async a-save-failure-drops-a-curve-in-progress
+ (check-not-drawn (await (draw :curve drag-curve save-failure))))
+
+(t/deftest ^:async a-save-failure-drops-a-path-in-progress
+ (check-not-drawn (await (draw :path click-path save-failure))))
diff --git a/frontend/test/frontend_tests/logic/groups_test.cljs b/frontend/test/frontend_tests/logic/groups_test.cljs
index 600e076096..f8bd0c80ae 100644
--- a/frontend/test/frontend_tests/logic/groups_test.cljs
+++ b/frontend/test/frontend_tests/logic/groups_test.cljs
@@ -6,19 +6,90 @@
(ns frontend-tests.logic.groups-test
(:require
[app.common.data :as d]
- [app.common.test-helpers.compositions :as ctho]
[app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
[app.common.test-helpers.shapes :as cths]
- [app.common.uuid :as uuid]
- [app.main.data.workspace :as dw]
+ [app.common.test-helpers.variants :as thv]
+ [app.common.types.component :as ctk]
+ [app.common.types.container :as ctn]
+ [app.common.types.shape.layout :as ctl]
+ [app.main.data.changes :as dch]
[app.main.data.workspace.groups :as dwgr]
[app.main.data.workspace.selection :as dws]
+ [app.main.data.workspace.shape-layout :as dwsl]
+ [app.main.data.workspace.shapes :as dwsh]
+ [beicon.v2.core :as rx]
[cljs.test :as t :include-macros true]
[frontend-tests.helpers.pages :as thp]
- [frontend-tests.helpers.state :as ths]))
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
(t/use-fixtures :each
- {:before thp/reset-idmap!})
+ {:before (fn []
+ (thp/reset-idmap!)
+ (cthi/reset-idmap!))})
+
+(defn- variant-file
+ []
+ (-> (cthf/sample-file :file1)
+ (thv/add-variant :variant :comp1 :root1 :comp2 :root2
+ :variant1-params {:name "Button"}
+ :variant2-params {:name "Button"})
+ (cths/update-shape :variant :name "Button")))
+
+(defn- variant-file-with-rect
+ []
+ (cths/add-sample-shape (variant-file) :rect))
+
+(defn- variant-file-with-nested-and-outside
+ []
+ (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1)
+ (cths/add-sample-shape :outside)))
+
+(defn- variant-file-with-two-nested
+ []
+ (-> (variant-file)
+ (cths/add-sample-shape :nested-a :parent-label :root1)
+ (cths/add-sample-shape :nested-b :parent-label :root1)))
+
+(defn- variant-file-with-nested-in-each-main
+ []
+ (-> (variant-file)
+ (cths/add-sample-shape :nested-a :parent-label :root1)
+ (cths/add-sample-shape :nested-b :parent-label :root2)))
+
+(defn- masked-groups
+ [file]
+ (->> (cthf/current-page file)
+ :objects
+ vals
+ (filter :masked-group)))
+
+(defn- groups
+ [file]
+ (->> (cthf/current-page file)
+ :objects
+ vals
+ (filter #(= :group (:type %)))))
+
+(defn- run
+ "Run workspace events, then validate the file before assertions.
+
+ Pass `:commits` as an atom to collect each `dch/commit?` event."
+ [file events done assert-fn & {:keys [commits]}]
+ (let [store (ths/setup-store file)]
+ (when commits
+ (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! #(swap! commits conj %))))
+ (ths/run-store
+ store
+ done
+ events
+ (fn [state]
+ (cthf/validate-file! (ths/get-file-from-state state))
+ (assert-fn state)))))
(t/deftest test-create-group
@@ -49,3 +120,585 @@
;; ==== Check
;; Group has been created and is selected
(t/is (= (get-in new-state [:workspace-local :selected]) #{group-id}))))))))
+
+(t/deftest mask-group-of-main-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-rect)
+ rect (cths/get-shape file :rect)
+ main (cths/get-shape file :root1)
+ commits (atom [])]
+ (run file
+ [(dwgr/mask-group [(cthi/id :root1) (cthi/id :rect)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (masked-groups file')))
+ (t/is (= (:parent-id main) (:parent-id (cths/get-shape file' :root1))))
+ (t/is (= (:parent-id rect) (:parent-id (cths/get-shape file' :rect))))))
+ :commits commits))))
+
+(t/deftest mask-group-of-nested-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-and-outside)
+ nested (cths/get-shape file :nested)
+ outside (cths/get-shape file :outside)
+ commits (atom [])]
+ (t/is (ctn/crosses-variant-set-boundary?
+ (:objects (cthf/current-page file))
+ [nested outside]))
+ (run file
+ [(dwgr/mask-group [(cthi/id :nested) (cthi/id :outside)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (masked-groups file')))
+ (t/is (= (:parent-id nested)
+ (:parent-id (cths/get-shape file' :nested))))
+ (t/is (= (:parent-id outside)
+ (:parent-id (cths/get-shape file' :outside))))))
+ :commits commits))))
+
+(t/deftest mask-group-of-only-variant-mains-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file)
+ commits (atom [])]
+ (run file
+ [(dwgr/mask-group [(cthi/id :root1) (cthi/id :root2)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ board (cths/get-shape file' :variant)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (masked-groups file')))
+ (t/is (= (:id board) (:parent-id (cths/get-shape file' :root1))))
+ (t/is (= (:id board) (:parent-id (cths/get-shape file' :root2))))))
+ :commits commits))))
+
+(t/deftest mask-group-of-ordinary-shapes-creates-a-mask
+ (t/async
+ done
+ (let [file (-> (cthf/sample-file :file1)
+ (cths/add-sample-shape :a)
+ (cths/add-sample-shape :b))]
+ (run file
+ [(dwgr/mask-group [(cthi/id :a) (cthi/id :b)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ group (first (masked-groups file'))]
+ (t/is (= 1 (count (masked-groups file'))))
+ (t/is (:masked-group group))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :a))))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :b))))))))))
+
+(t/deftest mask-group-marks-a-single-plain-group
+ (t/async
+ done
+ (let [file (-> (cthf/sample-file :file1)
+ (cths/add-sample-shape :g :type :group)
+ (cths/add-sample-shape :child :parent-label :g))
+ group-id (cthi/id :g)]
+ (run file
+ [(dwgr/mask-group [group-id])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ group' (cths/get-shape file' :g)]
+ (t/is (:masked-group group'))
+ (t/is (= [group-id] (map :id (groups file'))))
+ (t/is (= group-id (:parent-id (cths/get-shape file' :child))))))))))
+
+(t/deftest group-shapes-of-main-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-rect)
+ rect (cths/get-shape file :rect)
+ main (cths/get-shape file :root1)
+ commits (atom [])]
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :root1) (cthi/id :rect)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (groups file')))
+ (t/is (= (:parent-id main) (:parent-id (cths/get-shape file' :root1))))
+ (t/is (= (:parent-id rect) (:parent-id (cths/get-shape file' :rect))))))
+ :commits commits))))
+
+(t/deftest group-shapes-of-nested-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-and-outside)
+ nested (cths/get-shape file :nested)
+ outside (cths/get-shape file :outside)
+ commits (atom [])]
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :nested) (cthi/id :outside)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (groups file')))
+ (t/is (= (:parent-id nested)
+ (:parent-id (cths/get-shape file' :nested))))
+ (t/is (= (:parent-id outside)
+ (:parent-id (cths/get-shape file' :outside))))))
+ :commits commits))))
+
+(t/deftest group-shapes-of-two-nested-children-creates-a-group
+ (t/async
+ done
+ (let [file (variant-file-with-two-nested)
+ main (cths/get-shape file :root1)]
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :nested-a) (cthi/id :nested-b)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ group (first (groups file'))]
+ (t/is (some? group))
+ (t/is (= (:id main) (:parent-id group)))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :nested-a))))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :nested-b))))))))))
+
+(t/deftest group-shapes-of-main-and-nested-keeps-main-groups-nested
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ main (cths/get-shape file :root1)
+ nested (cths/get-shape file :nested)
+ commits (atom [])]
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :root1) (cthi/id :nested)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)
+ nested' (cths/get-shape file' :nested)
+ group (first (groups file'))]
+ (t/is (pos? (count @commits)))
+ (t/is (some? group))
+ (t/is (= (:parent-id main) (:parent-id main')))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id main') (:parent-id group)))
+ (t/is (= (:id group) (:parent-id nested')))
+ (t/is (= (:parent-id nested) (:id main)))))
+ :commits commits))))
+
+(t/deftest mask-group-of-main-and-nested-keeps-main-masks-nested
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ main (cths/get-shape file :root1)
+ nested (cths/get-shape file :nested)
+ commits (atom [])]
+ (run file
+ [(dwgr/mask-group [(cthi/id :root1) (cthi/id :nested)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)
+ nested' (cths/get-shape file' :nested)
+ group (first (masked-groups file'))]
+ (t/is (pos? (count @commits)))
+ (t/is (some? group))
+ (t/is (:masked-group group))
+ (t/is (= (:parent-id main) (:parent-id main')))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id main') (:parent-id group)))
+ (t/is (= (:id group) (:parent-id nested')))
+ (t/is (= (:parent-id nested) (:id main)))))
+ :commits commits))))
+
+(t/deftest group-shapes-of-nested-in-different-variants-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-in-each-main)
+ nested-a (cths/get-shape file :nested-a)
+ nested-b (cths/get-shape file :nested-b)
+ commits (atom [])]
+ (t/is (ctn/crosses-variant-set-boundary?
+ (:objects (cthf/current-page file))
+ [nested-a nested-b]))
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :nested-a) (cthi/id :nested-b)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (groups file')))
+ (t/is (= (:parent-id nested-a)
+ (:parent-id (cths/get-shape file' :nested-a))))
+ (t/is (= (:parent-id nested-b)
+ (:parent-id (cths/get-shape file' :nested-b))))))
+ :commits commits))))
+
+(t/deftest mask-group-of-nested-in-different-variants-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-in-each-main)
+ nested-a (cths/get-shape file :nested-a)
+ nested-b (cths/get-shape file :nested-b)
+ commits (atom [])]
+ (run file
+ [(dwgr/mask-group [(cthi/id :nested-a) (cthi/id :nested-b)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (masked-groups file')))
+ (t/is (= (:parent-id nested-a)
+ (:parent-id (cths/get-shape file' :nested-a))))
+ (t/is (= (:parent-id nested-b)
+ (:parent-id (cths/get-shape file' :nested-b))))))
+ :commits commits))))
+
+(t/deftest create-artboard-of-nested-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-and-outside)
+ nested (cths/get-shape file :nested)
+ outside (cths/get-shape file :outside)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :nested) (cthi/id :outside)))
+ (dwsh/create-artboard-from-selection)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (= (:parent-id nested)
+ (:parent-id (cths/get-shape file' :nested))))
+ (t/is (= (:parent-id outside)
+ (:parent-id (cths/get-shape file' :outside))))))
+ :commits commits))))
+
+(t/deftest create-artboard-of-main-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-rect)
+ rect (cths/get-shape file :rect)
+ main (cths/get-shape file :root1)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :root1) (cthi/id :rect)))
+ (dwsh/create-artboard-from-selection)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (= (:parent-id main) (:parent-id (cths/get-shape file' :root1))))
+ (t/is (= (:parent-id rect) (:parent-id (cths/get-shape file' :rect))))))
+ :commits commits))))
+
+(t/deftest create-artboard-of-two-nested-children-commits
+ (t/async
+ done
+ (let [file (variant-file-with-two-nested)
+ main (cths/get-shape file :root1)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :nested-a) (cthi/id :nested-b)))
+ (dwsh/create-artboard-from-selection)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ nested-a' (cths/get-shape file' :nested-a)
+ nested-b' (cths/get-shape file' :nested-b)
+ board (get (:objects (cthf/current-page file'))
+ (:parent-id nested-a'))]
+ (t/is (pos? (count @commits)))
+ (t/is (= :frame (:type board)))
+ (t/is (not (ctk/is-variant-container? board)))
+ (t/is (= (:id main) (:parent-id board)))
+ (t/is (= (:id board) (:parent-id nested-a')))
+ (t/is (= (:id board) (:parent-id nested-b')))))
+ :commits commits))))
+
+(t/deftest create-artboard-of-main-and-nested-keeps-main-boards-nested
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ main (cths/get-shape file :root1)
+ nested (cths/get-shape file :nested)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :root1) (cthi/id :nested)))
+ (dwsh/create-artboard-from-selection)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)
+ nested' (cths/get-shape file' :nested)
+ board (get (:objects (cthf/current-page file'))
+ (:parent-id nested'))]
+ (t/is (pos? (count @commits)))
+ (t/is (= :frame (:type board)))
+ (t/is (not (ctk/is-variant-container? board)))
+ (t/is (= (:parent-id main) (:parent-id main')))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id main') (:parent-id board)))
+ (t/is (= (:id board) (:parent-id nested')))
+ (t/is (= (:parent-id nested) (:id main)))))
+ :commits commits))))
+
+(t/deftest group-selected-of-main-and-nested-keeps-main-groups-nested
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ main (cths/get-shape file :root1)
+ nested (cths/get-shape file :nested)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :root1) (cthi/id :nested)))
+ (dwgr/group-selected)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)
+ nested' (cths/get-shape file' :nested)
+ group (first (groups file'))]
+ (t/is (pos? (count @commits)))
+ (t/is (some? group))
+ (t/is (= (:parent-id main) (:parent-id main')))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id main') (:parent-id group)))
+ (t/is (= (:id group) (:parent-id nested')))
+ (t/is (= (:parent-id nested) (:id main)))))
+ :commits commits))))
+
+(t/deftest mask-group-from-selection-of-main-and-nested-keeps-main-masks-nested
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ main (cths/get-shape file :root1)
+ nested (cths/get-shape file :nested)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :root1) (cthi/id :nested)))
+ (dwgr/mask-group)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)
+ nested' (cths/get-shape file' :nested)
+ group (first (masked-groups file'))]
+ (t/is (pos? (count @commits)))
+ (t/is (some? group))
+ (t/is (:masked-group group))
+ (t/is (= (:parent-id main) (:parent-id main')))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id main') (:parent-id group)))
+ (t/is (= (:id group) (:parent-id nested')))
+ (t/is (= (:parent-id nested) (:id main)))))
+ :commits commits))))
+
+(t/deftest create-layout-of-nested-and-outside-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-and-outside)
+ nested (cths/get-shape file :nested)
+ outside (cths/get-shape file :outside)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :nested) (cthi/id :outside)))
+ (dwsl/create-layout-from-selection :flex)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (= (:parent-id nested)
+ (:parent-id (cths/get-shape file' :nested))))
+ (t/is (= (:parent-id outside)
+ (:parent-id (cths/get-shape file' :outside))))))
+ :commits commits))))
+
+(t/deftest create-layout-of-nested-in-different-variants-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file-with-nested-in-each-main)
+ nested-a (cths/get-shape file :nested-a)
+ nested-b (cths/get-shape file :nested-b)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :nested-a) (cthi/id :nested-b)))
+ (dwsl/create-layout :flex)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (= (:parent-id nested-a)
+ (:parent-id (cths/get-shape file' :nested-a))))
+ (t/is (= (:parent-id nested-b)
+ (:parent-id (cths/get-shape file' :nested-b))))))
+ :commits commits))))
+
+(t/deftest group-shapes-of-variant-container-only-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file)
+ board (cths/get-shape file :variant)
+ commits (atom [])]
+ (run file
+ [(dwgr/group-shapes nil [(cthi/id :variant)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (groups file')))
+ (t/is (= (:parent-id board)
+ (:parent-id (cths/get-shape file' :variant))))
+ (t/is (ctk/is-variant-container?
+ (cths/get-shape file' :variant)))))
+ :commits commits))))
+
+(t/deftest mask-group-of-variant-container-only-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file)
+ board (cths/get-shape file :variant)
+ commits (atom [])]
+ (run file
+ [(dwgr/mask-group [(cthi/id :variant)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (empty? (masked-groups file')))
+ (t/is (= (:parent-id board)
+ (:parent-id (cths/get-shape file' :variant))))
+ (t/is (ctk/is-variant-container?
+ (cths/get-shape file' :variant)))))
+ :commits commits))))
+
+(t/deftest create-artboard-of-variant-container-only-does-not-commit
+ (t/async
+ done
+ (let [file (variant-file)
+ board (cths/get-shape file :variant)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :variant)))
+ (dwsh/create-artboard-from-selection)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)]
+ (t/is (= 0 (count @commits)))
+ (t/is (= (:parent-id board)
+ (:parent-id (cths/get-shape file' :variant))))
+ (t/is (ctk/is-variant-container?
+ (cths/get-shape file' :variant)))))
+ :commits commits))))
+
+(t/deftest mask-group-of-two-nested-children-creates-a-mask
+ (t/async
+ done
+ (let [file (variant-file-with-two-nested)
+ main (cths/get-shape file :root1)]
+ (run file
+ [(dwgr/mask-group [(cthi/id :nested-a) (cthi/id :nested-b)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ group (first (masked-groups file'))]
+ (t/is (= 1 (count (masked-groups file'))))
+ (t/is (:masked-group group))
+ (t/is (= (:id main) (:parent-id group)))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :nested-a))))
+ (t/is (= (:id group) (:parent-id (cths/get-shape file' :nested-b))))))))))
+
+;; A variant container DO may have a layout
+(t/deftest create-layout-of-variant-container-only-does-commit-and-works
+ (t/async
+ done
+ (let [file (variant-file)
+ board (cths/get-shape file :variant)
+ commits (atom [])]
+ (t/is (not (ctl/any-layout? board)))
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :variant)))
+ ;; Pin the create-layout entry (from-id hole), not only
+ ;; create-layout-from-selection which already no-ops.
+ (dwsl/create-layout :flex)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ board' (cths/get-shape file' :variant)]
+ (t/is (= 1 (count @commits)))
+ (t/is (ctl/any-layout? board'))
+ (t/is (ctk/is-variant-container? board'))
+ (t/is (= (:parent-id board) (:parent-id board')))))
+ :commits commits))))
+
+(t/deftest create-layout-of-variant-main-commits
+ (t/async
+ done
+ (let [file (variant-file)
+ main (cths/get-shape file :root1)
+ board (cths/get-shape file :variant)
+ commits (atom [])]
+ (t/is (not (ctl/any-layout? main)))
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :root1)))
+ ;; Locks create-layout → create-layout-from-id for a single main.
+ (dwsl/create-layout :flex)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ main' (cths/get-shape file' :root1)]
+ (t/is (pos? (count @commits)))
+ (t/is (ctl/flex-layout? main'))
+ (t/is (ctk/is-variant? main'))
+ (t/is (= (:variant-id main) (:variant-id main')))
+ (t/is (= (:id board) (:parent-id main')))))
+ :commits commits))))
+
+(t/deftest create-layout-of-one-nested-child-commits
+ (t/async
+ done
+ (let [file (-> (variant-file)
+ (cths/add-sample-shape :nested :parent-label :root1))
+ nested (cths/get-shape file :nested)
+ main (cths/get-shape file :root1)
+ commits (atom [])]
+ (run file
+ [(dws/select-shapes (d/ordered-set (cthi/id :nested)))
+ ;; Same Shift+A / menu entry as the container refuse and main allow.
+ (dwsl/create-layout :flex)]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ nested' (cths/get-shape file' :nested)
+ ;; Layout wraps the child in a new board under the main.
+ parent' (get (:objects (cthf/current-page file'))
+ (:parent-id nested'))]
+ (t/is (pos? (count @commits)))
+ (t/is (not= (:parent-id nested) (:parent-id nested')))
+ (t/is (= (:id main) (:parent-id parent')))
+ (t/is (ctl/any-layout? parent'))))
+ :commits commits))))
+
+(t/deftest ungroup-shapes-leaves-a-variant-container
+ (t/async
+ done
+ (let [file (variant-file)]
+ (run file
+ [(dwgr/ungroup-shapes [(cthi/id :variant)])]
+ done
+ (fn [state]
+ (let [file' (ths/get-file-from-state state)
+ board (cths/get-shape file' :variant)]
+ (t/is (ctk/is-variant-container? board))
+ (t/is (= (:id board) (:parent-id (cths/get-shape file' :root1))))
+ (t/is (= (:id board) (:parent-id (cths/get-shape file' :root2))))))))))
diff --git a/frontend/test/frontend_tests/logic/move_shapes_to_frame_test.cljs b/frontend/test/frontend_tests/logic/move_shapes_to_frame_test.cljs
new file mode 100644
index 0000000000..7dab714ad3
--- /dev/null
+++ b/frontend/test/frontend_tests/logic/move_shapes_to_frame_test.cljs
@@ -0,0 +1,65 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.logic.move-shapes-to-frame-test
+ "Tests for the reparenting step that ends a move (`dwt/move-shapes-to-frame`)."
+ (:require
+ [app.common.test-helpers.compositions :as ctho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.uuid :as uuid]
+ [app.main.data.changes :as dch]
+ [app.main.data.workspace.transforms :as dwt]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each {:before cthi/reset-idmap!})
+
+(defn- count-commits
+ "Runs `event` on a store of `file` and calls `check` with the number of
+ commits it made and the resulting file."
+ [done file event check]
+ (let [store (ths/setup-store file)
+ commits (atom 0)
+ sub (->> (ptk/input-stream store)
+ (rx/filter dch/commit?)
+ (rx/subs! (fn [_] (swap! commits inc))))]
+ (ths/run-store store done [event]
+ (fn [state]
+ (rx/dispose! sub)
+ (check @commits (ths/get-file-from-state state))))))
+
+;; Scenario: a move ends over the frame the shape already belongs to.
+;; Proves: nothing changes parent, so no commit (and no save) is made.
+(t/deftest moving-a-shape-within-its-frame-commits-nothing
+ (t/async
+ done
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-rect :rect1))
+ rect (cths/get-shape file :rect1)]
+ (count-commits done file
+ (dwt/move-shapes-to-frame [(:id rect)] uuid/zero nil nil)
+ (fn [commits _]
+ (t/is (zero? commits)))))))
+
+;; Scenario: a move ends over another board. Proves: the shape is moved into
+;; it with one commit.
+(t/deftest moving-a-shape-into-a-board-commits-the-new-parent
+ (t/async
+ done
+ (let [file (-> (cthf/sample-file :file1)
+ (ctho/add-frame :frame1)
+ (ctho/add-rect :rect1))
+ rect (cths/get-shape file :rect1)
+ frame (cths/get-shape file :frame1)]
+ (count-commits done file
+ (dwt/move-shapes-to-frame [(:id rect)] (:id frame) nil nil)
+ (fn [commits file']
+ (t/is (= 1 commits))
+ (t/is (= (:id frame) (:parent-id (cths/get-shape file' :rect1)))))))))
diff --git a/frontend/test/frontend_tests/logic/multi_variant_switch_test.cljs b/frontend/test/frontend_tests/logic/multi_variant_switch_test.cljs
new file mode 100644
index 0000000000..3bcd56d3a5
--- /dev/null
+++ b/frontend/test/frontend_tests/logic/multi_variant_switch_test.cljs
@@ -0,0 +1,254 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.logic.multi-variant-switch-test
+ "Regression tests for #12829: multi-select variants-switch /
+ component-multi-swap must not emit one select-shape per copy, and must
+ coalesce skipped per-swap layout into one :layout/update."
+ (:require
+ [app.common.data :as d]
+ [app.common.test-helpers.components :as cthc]
+ [app.common.test-helpers.compositions :as ctho]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as cthi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.test-helpers.variants :as cthv]
+ [app.common.uuid :as uuid]
+ [app.main.data.workspace.libraries :as dwl]
+ [app.main.data.workspace.selection :as-alias dws]
+ [app.main.data.workspace.variants :as dwv]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.pages :as thp]
+ [frontend-tests.helpers.state :as ths]
+ [potok.v2.core :as ptk]))
+
+(t/use-fixtures :each
+ {:before thp/reset-idmap!})
+
+(def ^:private fill-value1 "#2152e5")
+(def ^:private fill-value2 "#e52152")
+
+(defn- count-events
+ "Atom counting how many events of `type` land on the store input-stream
+ (nested WatchEvents only appear there — not on a bare ptk/watch of
+ variants-switch)."
+ [store type]
+ (let [counter (atom 0)]
+ (->> (ptk/input-stream store)
+ (rx/filter (ptk/type? type))
+ (rx/tap (fn [_] (swap! counter inc)))
+ (rx/subs! (fn [_] nil)))
+ counter))
+
+(defn- collect-layout-updates
+ "Atom accumulating deref'd `:layout/update` payloads from the store
+ input-stream (same subscribe-before-emit pattern as `count-events`)."
+ [store]
+ (let [acc (atom [])]
+ (->> (ptk/input-stream store)
+ (rx/filter (ptk/type? :layout/update))
+ (rx/tap #(swap! acc conj (deref %)))
+ (rx/subs! (fn [_] nil)))
+ acc))
+
+(defn- assert-coalesced-layout
+ [layout-updates flex-board-id]
+ (t/is (= 1 (count @layout-updates))
+ (str "expected one coalesced :layout/update; got "
+ (count @layout-updates)))
+ (let [ids (set (:ids (first @layout-updates)))]
+ (t/is (seq ids)
+ "coalesced :layout/update must carry non-empty :ids")
+ (t/is (contains? ids flex-board-id)
+ (str "coalesced :ids must include flex board; got " ids))))
+
+(defn- fill-color
+ [shape]
+ (-> shape :fills first :fill-color))
+
+(defn- setup-flex-variant-file
+ "Two variant members with distinct fills and sizes."
+ []
+ (-> (cthf/sample-file :file1)
+ (cthv/add-variant :v01 :c01 :m01 :c02 :m02
+ :variant1-params {:fills (cths/sample-fills-color
+ :fill-color fill-value1)
+ :width 40
+ :height 40}
+ :variant2-params {:fills (cths/sample-fills-color
+ :fill-color fill-value2)
+ :width 50
+ :height 50})
+ (ctho/add-frame :flex-board
+ :name "Toggle Group"
+ :layout :flex
+ :layout-flex-dir :row
+ :width 400
+ :height 80)))
+
+(defn- setup-flex-multi-copies
+ "Three Value1 copies as children of a flex board."
+ []
+ (-> (setup-flex-variant-file)
+ (cthc/instantiate-component :c01 :copy1 :parent-label :flex-board)
+ (cthc/instantiate-component :c01 :copy2 :parent-label :flex-board)
+ (cthc/instantiate-component :c01 :copy3 :parent-label :flex-board)))
+
+(defn- setup-flex-mixed-copies
+ "Two Value1 copies and one already on Value2 (no-op on switch to Value2)."
+ []
+ (-> (setup-flex-variant-file)
+ (cthc/instantiate-component :c01 :copy1 :parent-label :flex-board)
+ (cthc/instantiate-component :c01 :copy2 :parent-label :flex-board)
+ (cthc/instantiate-component :c02 :copy3 :parent-label :flex-board)))
+
+(t/deftest multi-variants-switch-emits-no-intermediate-select-shape
+ (t/async
+ done
+ (let [file (setup-flex-multi-copies)
+ store (ths/setup-store file)
+ copy1 (cths/get-shape file :copy1)
+ copy2 (cths/get-shape file :copy2)
+ copy3 (cths/get-shape file :copy3)
+ flex-board-id (:id (cths/get-shape file :flex-board))
+ target-comp-id (cthi/id :c02)
+ copy-ids (d/ordered-set (:id copy1) (:id copy2) (:id copy3))
+ select-shape-n (count-events store ::dws/select-shape)
+ layout-updates (collect-layout-updates store)
+ events
+ [(dwv/variants-switch {:shapes [copy1 copy2 copy3]
+ :pos 0
+ :val "Value2"})]]
+
+ (ths/run-store
+ store done events
+ (fn [new-state]
+ (let [file' (ths/get-file-from-state new-state)
+ copy1' (cths/get-shape file' :copy1)
+ copy2' (cths/get-shape file' :copy2)
+ copy3' (cths/get-shape file' :copy3)
+ selected (get-in new-state [:workspace-local :selected])]
+
+ (t/is (zero? @select-shape-n)
+ (str "multi variants-switch must not emit intermediate "
+ "select-shape; got " @select-shape-n))
+ (assert-coalesced-layout layout-updates flex-board-id)
+
+ (t/is (= target-comp-id (:component-id copy1')))
+ (t/is (= target-comp-id (:component-id copy2')))
+ (t/is (= target-comp-id (:component-id copy3')))
+ (t/is (= fill-value2 (fill-color copy1')))
+ (t/is (= fill-value2 (fill-color copy2')))
+ (t/is (= fill-value2 (fill-color copy3')))
+ (t/is (= (set copy-ids) selected))))))))
+
+;; Done-marker collection must not hang when some selected copies already
+;; have the target value (no companion from those no-ops).
+(t/deftest multi-variants-switch-coalesces-layout-when-some-noop
+ (t/async
+ done
+ (let [file (setup-flex-mixed-copies)
+ store (ths/setup-store file)
+ copy1 (cths/get-shape file :copy1)
+ copy2 (cths/get-shape file :copy2)
+ copy3 (cths/get-shape file :copy3)
+ flex-board-id (:id (cths/get-shape file :flex-board))
+ target-comp-id (cthi/id :c02)
+ copy-ids (d/ordered-set (:id copy1) (:id copy2) (:id copy3))
+ select-shape-n (count-events store ::dws/select-shape)
+ layout-updates (collect-layout-updates store)
+ events
+ [(dwv/variants-switch {:shapes [copy1 copy2 copy3]
+ :pos 0
+ :val "Value2"})]]
+
+ (ths/run-store
+ store done events
+ (fn [new-state]
+ (let [file' (ths/get-file-from-state new-state)
+ copy1' (cths/get-shape file' :copy1)
+ copy2' (cths/get-shape file' :copy2)
+ copy3' (cths/get-shape file' :copy3)
+ selected (get-in new-state [:workspace-local :selected])]
+
+ (t/is (zero? @select-shape-n))
+ (assert-coalesced-layout layout-updates flex-board-id)
+
+ (t/is (= target-comp-id (:component-id copy1')))
+ (t/is (= target-comp-id (:component-id copy2')))
+ (t/is (= target-comp-id (:component-id copy3')))
+ (t/is (= fill-value2 (fill-color copy1')))
+ (t/is (= fill-value2 (fill-color copy2')))
+ (t/is (= fill-value2 (fill-color copy3')))
+ (t/is (= (set copy-ids) selected))))))))
+
+(t/deftest component-multi-swap-skips-select-and-coalesces-layout
+ (t/async
+ done
+ (let [file (setup-flex-multi-copies)
+ store (ths/setup-store file)
+ copy1 (cths/get-shape file :copy1)
+ copy2 (cths/get-shape file :copy2)
+ copy3 (cths/get-shape file :copy3)
+ flex-board-id (:id (cths/get-shape file :flex-board))
+ target-comp-id (cthi/id :c02)
+ select-shape-n (count-events store ::dws/select-shape)
+ layout-updates (collect-layout-updates store)
+ events
+ [(dwl/component-multi-swap [copy1 copy2 copy3]
+ (:id file)
+ target-comp-id)]]
+
+ (ths/run-store
+ store done events
+ (fn [new-state]
+ (let [file' (ths/get-file-from-state new-state)
+ copy1' (cths/get-shape file' :copy1)
+ copy2' (cths/get-shape file' :copy2)
+ copy3' (cths/get-shape file' :copy3)]
+
+ (t/is (zero? @select-shape-n)
+ (str "component-multi-swap must not emit intermediate "
+ "select-shape; got " @select-shape-n))
+ (assert-coalesced-layout layout-updates flex-board-id)
+
+ (t/is (= target-comp-id (:component-id copy1')))
+ (t/is (= target-comp-id (:component-id copy2')))
+ (t/is (= target-comp-id (:component-id copy3')))
+ (t/is (= fill-value2 (fill-color copy1')))
+ (t/is (= fill-value2 (fill-color copy2')))
+ (t/is (= fill-value2 (fill-color copy3')))))))))
+
+(t/deftest component-swap-noop-when-shape-missing
+ (t/async
+ done
+ (let [file (setup-flex-multi-copies)
+ store (ths/setup-store file)
+ copy1 (cths/get-shape file :copy1)
+ ghost (assoc copy1 :id (uuid/next))
+ before (ths/get-file-from-state @store)]
+ (ths/run-store
+ store done
+ [(dwl/component-swap ghost (:id file) (cthi/id :c02) true)]
+ (fn [new-state]
+ (t/is (= before (ths/get-file-from-state new-state))
+ "component-swap must no-op when shape id is absent from objects"))))))
+
+(t/deftest variant-switch-noop-when-shape-missing
+ (t/async
+ done
+ (let [file (setup-flex-multi-copies)
+ store (ths/setup-store file)
+ copy1 (cths/get-shape file :copy1)
+ ghost (assoc copy1 :id (uuid/next))
+ before (ths/get-file-from-state @store)]
+ (ths/run-store
+ store done
+ [(#'dwv/variant-switch ghost {:pos 0 :val "Value2"})]
+ (fn [new-state]
+ (t/is (= before (ths/get-file-from-state new-state))
+ "variant-switch must no-op when shape id is absent from objects"))))))
diff --git a/frontend/test/frontend_tests/main_errors_test.cljs b/frontend/test/frontend_tests/main_errors_test.cljs
index f56a65841a..348e8419c1 100644
--- a/frontend/test/frontend_tests/main_errors_test.cljs
+++ b/frontend/test/frontend_tests/main_errors_test.cljs
@@ -829,6 +829,17 @@
(t/is (= timeout (get-in state [:notification :timeout])))
(t/is (= :visible (get-in state [:notification :status]))))))))
+(t/deftest flash-shows-errors-unless-asked-for-another-level
+ (doseq [[notify level] [[#(errors/flash :hint "Ordinary error") :error]
+ [#(errors/flash :hint "Undone changes" :level :warning) :warning]]]
+ (let [scheduled (atom [])
+ events (atom [])]
+ (with-redefs [tm/schedule (mock/stub #(swap! scheduled conj %))
+ st/emit! (mock/stub (fn [& emitted] (swap! events into emitted)))]
+ (notify)
+ (doseq [callback @scheduled] (callback))
+ (t/is (= level (get-in (ptk/update (first @events) {}) [:notification :level])))))))
+
(t/deftest ^:async persistence-notifications-include-an-error-report-download
(let [scheduled (atom [])
idle-callbacks (atom [])
@@ -1010,8 +1021,15 @@
(await (async/settle))
(t/is (= [::rt/nav-raw] (mapv ptk/type @events))))))))
-(t/deftest a-deleted-file-during-save-shows-the-exception-page
- (t/testing "a file that no longer exists shows its page, not the save notification"
+(defn- shown-notifications
+ "Notifications the scheduled callbacks of a flash put on screen."
+ [events]
+ (keep #(when (implements? ptk/UpdateEvent %)
+ (get-in (ptk/update % {}) [:notification :content]))
+ events))
+
+(t/deftest a-not-found-save-keeps-the-workspace
+ (t/testing "a save answered not-found notifies instead of leaving the workspace"
(let [events (atom [])
scheduled (atom [])]
(with-redefs [rt/assign-exception (fn [error] error)
@@ -1019,9 +1037,24 @@
(swap! events into emitted)))
tm/schedule (mock/stub (fn [callback]
(swap! scheduled conj callback)))]
- (errors/flash-persistence (ex-info "File not found" {:type :not-found}))
+ (errors/flash-persistence (ex-info "Save failed" {:type :persistence
+ :cause-type :not-found
+ :code :object-not-found}))
(doseq [callback @scheduled] (callback))
- (t/is (= [:not-found] (mapv :type @events)))))))
+ (t/is (not-any? #(= :not-found (:type %)) @events) "no exception page")
+ (t/is (= [(i18n/tr "errors.save-failed")] (shown-notifications @events)))))))
+
+(t/deftest lost-edit-permission-tells-how-many-changes-were-not-saved
+ (let [events (atom [])
+ scheduled (atom [])]
+ (with-redefs [st/emit! (mock/stub (fn [& emitted] (swap! events into emitted)))
+ tm/schedule (mock/stub (fn [callback] (swap! scheduled conj callback)))]
+ (errors/flash-persistence (ex-info "Edit permission was lost"
+ {:type :persistence
+ :code :save-permission-denied
+ :unsaved-commits 3}))
+ (doseq [callback @scheduled] (callback))
+ (t/is (= [(i18n/tr "errors.save-permission-lost" (i18n/c 3))] (shown-notifications @events))))))
(t/deftest a-restored-version-during-save-reloads-the-file
(t/testing "a version restored elsewhere reloads the file instead of notifying"
diff --git a/frontend/test/frontend_tests/plugins/context_shapes_test.cljs b/frontend/test/frontend_tests/plugins/context_shapes_test.cljs
index 5c7da3694f..f0ac83ed4a 100644
--- a/frontend/test/frontend_tests/plugins/context_shapes_test.cljs
+++ b/frontend/test/frontend_tests/plugins/context_shapes_test.cljs
@@ -507,6 +507,33 @@
(t/is (= 1 @calls) "the update function ran once for the committed shape")
(t/is (= 0.5 (.-opacity rect)) "the single computed result was committed")))
+(t/deftest test-writing-to-a-removed-shape-throws
+ (let [store (ths/setup-store (cthf/sample-file :file1 :page-label :page1)
+ {:renderer :svg})
+ _ (set! st/state store)
+ _ (set! st/stream (ptk/input-stream store))
+ ^js ctx (api/create-context zero-id)
+ ^js rect (.createRectangle ctx)]
+ (set! (.-name rect) "Before")
+ (t/is (= "Before" (.-name rect)) "a write to an existing shape works")
+ (.remove rect)
+ (t/is (thrown-with-msg? js/Error #"Shape not found"
+ (set! (.-name rect) "After"))
+ "a write to a removed shape throws, even without throwValidationErrors")))
+
+(t/deftest test-resizing-or-rotating-a-removed-shape-throws
+ (let [store (ths/setup-store (cthf/sample-file :file1 :page-label :page1)
+ {:renderer :svg})
+ _ (set! st/state store)
+ _ (set! st/stream (ptk/input-stream store))
+ ^js ctx (api/create-context zero-id)
+ ^js rect (.createRectangle ctx)]
+ (.remove rect)
+ (t/is (thrown-with-msg? js/Error #"Shape not found" (.resize rect 10 10))
+ "resizing a removed shape throws instead of doing nothing")
+ (t/is (thrown-with-msg? js/Error #"Shape not found" (.rotate rect 45))
+ "rotating a removed shape throws instead of doing nothing")))
+
(t/deftest test-wait-for-layout-update-no-pending
;; When nothing is pending the promise resolves immediately via the fast path
;; (the behavior-subject replays the empty map on subscribe).
diff --git a/frontend/test/frontend_tests/plugins/creation_parent_test.cljs b/frontend/test/frontend_tests/plugins/creation_parent_test.cljs
new file mode 100644
index 0000000000..6fe12ebc82
--- /dev/null
+++ b/frontend/test/frontend_tests/plugins/creation_parent_test.cljs
@@ -0,0 +1,158 @@
+;; 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 Sucursal en España SL
+
+(ns frontend-tests.plugins.creation-parent-test
+ (:require
+ ["sax$default" :as sax]
+ [app.common.geom.point :as gpt]
+ [app.common.geom.rect :as grc]
+ [app.common.test-helpers.components :as cthc]
+ [app.common.test-helpers.files :as cthf]
+ [app.common.test-helpers.ids-map :as thi]
+ [app.common.test-helpers.shapes :as cths]
+ [app.common.uuid :as uuid]
+ [app.main.data.workspace.libraries :as dwl]
+ [app.main.data.workspace.svg-upload :as dwsvg]
+ [app.main.data.workspace.undo :as dwu]
+ [app.main.refs :as refs]
+ [app.main.repo :as rp]
+ [app.main.store :as st]
+ [app.main.streams :as ms]
+ [app.main.worker :as mw]
+ [app.plugins.api :as api]
+ [app.plugins.library :as library]
+ [app.util.dom :as dom]
+ [app.util.object :as obj]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.state :as ths]
+ [frontend-tests.tokens.helpers.state :as tohs]
+ [potok.v2.core :as ptk]
+ [tubax.core :as tubax]))
+
+(def ^:private plugin-id "00000000-0000-0000-0000-000000000000")
+
+(def ^:private svg
+ " ")
+
+(t/deftest ^:async plugin-creation-uses-the-page-root
+ (doseq [layout [nil :flex :grid]
+ creation [:component :svg :svg-with-images]]
+ (let [file (-> (cthf/sample-file :file :page-label :page)
+ (cths/add-sample-shape :main :type :frame :x 1000 :y 1000)
+ (cths/add-sample-shape :child :parent-label :main)
+ (cthc/make-component :component :main)
+ (cths/add-sample-shape :board :type :frame :x 0 :y 0
+ :width 400 :height 300 :layout layout
+ :layout-grid-rows [] :layout-grid-columns []
+ :layout-grid-cells {}))
+ store (ths/setup-store file {:renderer :svg})
+ uploads (atom [])
+ path [:files (:id file) :data :pages-index (thi/id :page) :objects]]
+ (await
+ (mock/with-mocks*
+ {st/state store
+ st/emit! (fn
+ ([event] (ptk/emit! store event))
+ ([event & events] (apply ptk/emit! store event events)))
+ mw/ask! (mock/stub (fn [_] (rx/empty)))
+ rp/cmd! (mock/stub (fn [cmd params]
+ (swap! uploads conj [cmd params])
+ (rx/observe-on
+ :async
+ (rx/of {:id (uuid/next) :width 10 :height 20
+ :mtype "image/png" :name "image"}))))
+ ;; Node exposes sax's CommonJS parser on the default export.
+ tubax/create-parser (mock/stub (fn [_] (sax/parser true #js {})))}
+ (ptk/emit! store (tohs/watch-undo-stack))
+ (let [^js context (api/create-context plugin-id)
+ ^js created (case creation
+ :component (.instance (library/lib-component-proxy plugin-id (:id file) (thi/id :component)))
+ :svg (.createShapeFromSvg context svg)
+ :svg-with-images
+ (await (.createShapeFromSvgWithImages
+ context
+ " ")))
+ id (obj/get created "$id")]
+ (await (async/wait-for #(some? (get-in @store (conj path id))) "created shape committed"))
+ (let [created-shape (get-in @store (conj path id))]
+ (t/is (= uuid/zero (:parent-id created-shape)) (str creation " / " layout))
+ (t/is (= uuid/zero (:frame-id created-shape)) (str creation " / " layout))
+ (t/is (not (some #{id} (get-in @store (into path [(thi/id :board) :shapes])))))
+ (t/is (= 1 (count (get-in @store [:workspace-undo :items])))))
+ (when (= creation :svg-with-images)
+ ;; Other RPCs (e.g. the delayed thumbnail cleanup) may land too.
+ (t/is (= 1 (count (filter #{:create-file-media-object-from-url}
+ (map first @uploads))))))
+ (ptk/emit! store dwu/undo)
+ (await (async/wait-for #(nil? (get-in @store (conj path id))) "creation undone"))
+ (t/is (nil? (get-in @store (conj path id))))
+ (t/is (empty? (get-in @store (into path [(thi/id :board) :shapes]))))
+ (ptk/emit! store dwu/redo)
+ (await (async/wait-for #(some? (get-in @store (conj path id))) "creation redone"))
+ (set! (.-x created) 1000)
+ (set! (.-y created) 1200)
+ (await (async/wait-for #(= [1000 1200] ((juxt :x :y) (get-in @store (conj path id)))) "position updated"))
+ (t/is (= [1000 1200] ((juxt :x :y) (get-in @store (conj path id)))))
+ (let [^js page (.-currentPage context)
+ ^js board (.getShapeById page (str (thi/id :board)))]
+ (.appendChild board created))
+ (await (async/wait-for #(= (thi/id :board) (get-in @store (into path [id :parent-id]))) "explicit parent applied"))
+ (t/is (= (thi/id :board) (get-in @store (into path [id :parent-id]))))))))))
+
+(t/deftest ^:async interactive-creation-keeps-coordinate-based-parents
+ (doseq [[creation position parent-label] [[:component (gpt/point 50 60) :board]
+ [:component (gpt/point 600 700) nil]
+ [:svg (gpt/point 50 60) :board]
+ [:svg (gpt/point 600 700) nil]]]
+ (let [file (-> (cthf/sample-file :file :page-label :page)
+ (cths/add-sample-shape :main :type :frame :x 1000 :y 1000)
+ (cths/add-sample-shape :child :parent-label :main)
+ (cthc/make-component :component :main)
+ (cths/add-sample-shape :board :type :frame :x 0 :y 0
+ :width 400 :height 300))
+ store (ths/setup-store file {:renderer :svg})
+ id-ref (atom nil)
+ svg-id (uuid/next)
+ parent (if parent-label (thi/id parent-label) uuid/zero)
+ path [:files (:id file) :data :pages-index (thi/id :page) :objects]]
+ (await
+ (mock/with-mocks*
+ {st/state store
+ st/emit! (fn
+ ([event] (ptk/emit! store event))
+ ([event & events] (apply ptk/emit! store event events)))
+ mw/ask! (mock/stub (fn [_] (rx/empty)))
+ dom/get-element-by-class (mock/stub (constantly nil))
+ refs/vbox (atom (grc/make-rect 0 0 2000 2000))
+ ms/mouse-position (rx/behavior-subject position)
+ ms/mouse-position-alt (rx/behavior-subject false)
+ ms/mouse-position-shift (rx/behavior-subject false)
+ ms/mouse-position-mod (rx/behavior-subject false)}
+ (let [events {:component (dwl/instantiate-component (:id file) (thi/id :component) position
+ {:id-ref id-ref :origin "sidebar"
+ :start-move? true :initial-point position})
+ :svg (dwsvg/add-svg-shapes svg-id
+ {:name "test.svg" :attrs {:width 24 :height 24}
+ :content [{:tag :rect :attrs {:width "24" :height "24"}}]}
+ position nil)}]
+ (ptk/emit! store (get events creation)))
+ (let [id (if (= creation :component) @id-ref svg-id)]
+ (await (async/wait-for #(some? (get-in @store (conj path id))) "interactive shape committed"))
+ (t/is (= parent (get-in @store (into path [id :parent-id]))))
+ (t/is (= parent (get-in @store (into path [id :frame-id]))))
+ (t/is (= #{id} (set (get-in @store [:workspace-local :selected]))))
+ (when (= creation :component)
+ (await (async/wait-for #(= :move (get-in @store [:workspace-local :transform])) "interactive move started"))
+ (t/is (= :move (get-in @store [:workspace-local :transform])))
+ (rx/push! ms/mouse-position position)
+ (await (async/settle))
+ (ptk/emit! store :interrupt)
+ (await (async/wait-for #(nil? (get-in @store [:workspace-local :transform])) "interactive move finished"))
+ (t/is (nil? (get-in @store [:workspace-local :transform])))
+ (t/is (= parent (get-in @store (into path [id :parent-id])))))))))))
diff --git a/frontend/test/frontend_tests/plugins/events_test.cljs b/frontend/test/frontend_tests/plugins/events_test.cljs
index b32a9914c7..765471f00d 100644
--- a/frontend/test/frontend_tests/plugins/events_test.cljs
+++ b/frontend/test/frontend_tests/plugins/events_test.cljs
@@ -8,9 +8,11 @@
"Unit tests for app.plugins.events, the plugin state-change listeners."
(:require
[app.common.uuid :as uuid]
+ [app.main.data.persistence :as dps]
[app.main.store :as st]
[app.plugins.events :as events]
- [cljs.test :as t :include-macros true]))
+ [cljs.test :as t :include-macros true]
+ [potok.v2.core :as ptk]))
(def ^:private plugin-id (str (uuid/next)))
@@ -64,3 +66,24 @@
(remove-watch st/state ::probe-watch)
(events/remove-listener key)
(swap! st/state dissoc ::probe)))))
+
+(t/deftest contentrollback-listener-gets-every-rollback
+ (t/async done
+ (let [[file-id page-id shape-id] (repeatedly 3 uuid/next)
+ seen (atom [])
+ key (events/add-listener "contentrollback" plugin-id #(swap! seen conj (js->clj %)) nil)]
+ (st/emit! (ptk/data-event ::dps/rolled-back {:file-ids #{file-id} :page-ids #{page-id} :shape-ids #{shape-id}})
+ (ptk/data-event ::dps/rolled-back {:file-ids #{file-id} :page-ids #{} :shape-ids #{}}))
+ (js/setTimeout
+ (fn []
+ (events/remove-listener key)
+ (t/is (= [{"fileIds" [(str file-id)] "pageIds" [(str page-id)] "shapeIds" [(str shape-id)]}
+ {"fileIds" [(str file-id)] "pageIds" [] "shapeIds" []}]
+ @seen))
+ (st/emit! (ptk/data-event ::dps/rolled-back {:file-ids #{file-id}}))
+ (js/setTimeout
+ (fn []
+ (t/is (= 2 (count @seen)) "a removed listener gets nothing")
+ (done))
+ 20))
+ 20))))
diff --git a/frontend/test/frontend_tests/plugins/library_test.cljs b/frontend/test/frontend_tests/plugins/library_test.cljs
index 2f8ecf6a82..982a62c566 100644
--- a/frontend/test/frontend_tests/plugins/library_test.cljs
+++ b/frontend/test/frontend_tests/plugins/library_test.cljs
@@ -457,7 +457,8 @@
library-id (uuid/next)
stream (rx/subject)
events (atom [])
- state (atom {:current-file-id file-id :current-team-id team-id})]
+ state (atom {:current-file-id file-id :current-team-id team-id
+ :permissions {:can-edit true}})]
(await
(mock/with-mocks*
{st/state state
@@ -490,7 +491,8 @@
events (atom [])]
(await
(mock/with-mocks*
- {st/state (atom {:current-file-id file-id :current-team-id (uuid/next)})
+ {st/state (atom {:current-file-id file-id :current-team-id (uuid/next)
+ :permissions {:can-edit true}})
st/emit! (mock/stub (fn [& emitted] (swap! events into emitted)))
rp/cmd! (shared-files-cmd [{:id (uuid/next) :name "Other published"}])
r/check-permission (mock/stub (constantly true))}
@@ -504,7 +506,8 @@
events (atom [])]
(await
(mock/with-mocks*
- {st/state (atom {:current-file-id file-id :current-team-id (uuid/next)})
+ {st/state (atom {:current-file-id file-id :current-team-id (uuid/next)
+ :permissions {:can-edit true}})
st/emit! (mock/stub (fn [& emitted] (swap! events into emitted)))
rp/cmd! (shared-files-cmd [{:id file-id :name "Current file"}])
r/check-permission (mock/stub (constantly true))}
@@ -558,3 +561,29 @@
(into #{} (map #(obj/get % "$id")) (.-connected context))))
(t/is (= #{(str visited-id) (str other-id)}
(into #{} (map #(.-id %)) (await (.availableLibraries context))))))))))
+
+;; Scenario: a library is linked; while the list of published libraries
+;; loads, a save fails and locks the workspace. Proves: the library is not
+;; linked and the promise rejects with the read-only error.
+(t/deftest ^:async connect-library-is-refused-when-a-save-fails-meanwhile
+ (let [library-id (uuid/next)
+ state (atom {:current-file-id (uuid/next)
+ :current-team-id (uuid/next)
+ :permissions {:can-edit true}})
+ answer (rx/subject)
+ events (atom [])]
+ (await
+ (mock/with-mocks*
+ {st/state state
+ st/emit! (mock/stub (fn [& emitted] (swap! events into emitted)))
+ rp/cmd! (mock/stub (fn [cmd params]
+ (swap! mock/rpc-calls conj {:cmd cmd :params params})
+ (->> answer (rx/take 1) (rx/observe-on :async))))}
+ (let [context (library/library-subcontext plugin-id)
+ result (settled (.connectLibrary context (str library-id)))]
+ (await (async/wait-for #(seq @mock/rpc-calls) "the published libraries are requested"))
+ (swap! state assoc-in [:workspace-global :persistence-lock] {:read-only? false})
+ (rx/push! answer [{:id library-id :name "Published"}])
+ (let [{:keys [rejected]} (await result)]
+ (t/is (str/includes? (ex-message rejected) "cannot be saved"))
+ (t/is (empty? @events) "the library is not linked")))))))
diff --git a/frontend/test/frontend_tests/plugins/management_test.cljs b/frontend/test/frontend_tests/plugins/management_test.cljs
index 75889e3ec5..15d04f8f7f 100644
--- a/frontend/test/frontend_tests/plugins/management_test.cljs
+++ b/frontend/test/frontend_tests/plugins/management_test.cljs
@@ -306,7 +306,7 @@
[file* "name" nil]
[file* "shared" 1]]]
(t/is (thrown? js/Error (obj/set! proxy key value)) key))
- (with-redefs [r/check-permission (mock/stub (constantly false))]
+ (with-redefs [r/has-permission? (mock/stub (constantly false))]
(doseq [[proxy key value permission] [[team* "name" "Brand" "manage:teams"]
[project* "name" "Icons" "manage:projects"]
[project* "pinned" true "manage:projects"]
@@ -399,7 +399,7 @@
(t/is (= "Expected a name with 1 to 250 characters" (await (message (.duplicate file* #js {:name " "})))))
(t/is (= "Expected a project" (await (message (.moveTo file* #js {:id "invalid"})))))
(t/is (= "Expected a team" (await (message (.moveTo project* nil)))))
- (with-redefs [r/check-permission (mock/stub (constantly false))]
+ (with-redefs [r/has-permission? (mock/stub (constantly false))]
(doseq [[promise permission] [[(.createTeam (management/create-context plugin-id) #js {:name "Brand"}) "manage:teams"]
[(.listProjects team*) "content:read"]
[(.createProject team* #js {:name "Icons"}) "manage:projects"]
diff --git a/frontend/test/frontend_tests/plugins/read_only_test.cljs b/frontend/test/frontend_tests/plugins/read_only_test.cljs
new file mode 100644
index 0000000000..81532173fd
--- /dev/null
+++ b/frontend/test/frontend_tests/plugins/read_only_test.cljs
@@ -0,0 +1,231 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.plugins.read-only-test
+ "Plugin writes in a read-only workspace."
+ (:require
+ [app.common.test-helpers.files :as cthf]
+ [app.common.uuid :as uuid]
+ [app.main.data.helpers :as dsh]
+ [app.main.data.workspace.media :as dwm]
+ [app.main.repo :as rp]
+ [app.main.store :as st]
+ [app.plugins.api :as api]
+ [app.plugins.register :as r]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]
+ [frontend-tests.helpers.async :as async]
+ [frontend-tests.helpers.mock :as mock]
+ [frontend-tests.helpers.state :as ths]
+ [frontend-tests.helpers.wasm :as thw]))
+
+;; Its validation flag is off, so only errors that always throw reach it
+(def ^:private plugin-id "00000000-0000-0000-0000-000000000000")
+
+(defn- set-can-edit
+ [store can-edit?]
+ (swap! store assoc-in [:permissions :can-edit] can-edit?))
+
+(defn- shape-count
+ [store]
+ (count (dsh/lookup-page-objects @store)))
+
+(defn- with-context
+ "Calls `f` with a store holding a sample file and a plugin context on it."
+ [f]
+ (thw/with-wasm-mocks*
+ (fn []
+ (let [store (ths/setup-store (cthf/sample-file :file1 :page-label :page1))]
+ (set! st/state store)
+ (f store (api/create-context plugin-id))))))
+
+(t/deftest writes-throw-in-a-read-only-workspace
+ (with-context
+ (fn [store ^js context]
+ (let [^js board (.createBoard context)]
+ (set-can-edit store false)
+
+ (t/testing "a shape setter"
+ (t/is (thrown-with-msg? js/Error #"read-only" (set! (.-name board) "Renamed")))
+ (t/is (not= "Renamed" (.-name board))))
+
+ (t/testing "a shape method"
+ (t/is (thrown-with-msg? js/Error #"read-only" (.bringToFront board))))
+
+ (t/testing "a context method without a permission check"
+ (let [before (shape-count store)]
+ (t/is (thrown-with-msg? js/Error #"read-only" (.createRectangle context)))
+ (t/is (= before (shape-count store)))))
+
+ (t/testing "a context method with a permission check"
+ (t/is (thrown-with-msg? js/Error #"read-only" (.createPage (.-currentFile context)))))))))
+
+(t/deftest writes-work-again-once-the-workspace-is-editable
+ (with-context
+ (fn [store ^js context]
+ (let [^js board (.createBoard context)]
+ (set-can-edit store false)
+ (set-can-edit store true)
+ (set! (.-name board) "Renamed")
+ (t/is (= "Renamed" (.-name board)))))))
+
+(t/deftest the-inspect-tab-does-not-block-writes
+ (with-context
+ (fn [store ^js context]
+ (let [^js board (.createBoard context)]
+ (swap! store update :workspace-global assoc
+ :read-only? true
+ :options-mode :inspect)
+ (set! (.-name board) "Renamed")
+ (t/is (= "Renamed" (.-name board)))))))
+
+(t/deftest each-read-only-source-says-why
+ (doseq [[path value reason] [[[:permissions :can-edit] false #"cannot edit this file"]
+ [[:workspace-global :preview-id] (random-uuid) #"version is being previewed"]
+ [[:render-state :lost] true #"canvas stopped rendering"]]]
+ (with-context
+ (fn [store ^js context]
+ (swap! store assoc-in path value)
+ (t/testing (str path)
+ (t/is (thrown-with-msg? js/Error reason (.createBoard context))))))))
+
+(t/deftest a-save-failure-lock-says-why-the-workspace-is-read-only
+ (with-context
+ (fn [store ^js context]
+ (swap! store update :workspace-global assoc
+ :read-only? true
+ :persistence-lock {:read-only? false})
+ (t/is (thrown-with-msg? js/Error #"cannot be saved" (.createBoard context))))))
+
+(t/deftest reads-and-undo-blocks-work-in-a-read-only-workspace
+ (with-context
+ (fn [store ^js context]
+ (let [^js board (.createBoard context)]
+ (set-can-edit store false)
+ (t/is (string? (.-name board)))
+ (let [block (.undoBlockBegin (.-history context))]
+ (t/is (some? block))
+ (t/is (nil? (.undoBlockFinish (.-history context) block))))))))
+
+(t/deftest read-only-keeps-permission-checks-of-reads
+ (with-context
+ (fn [store _]
+ (set-can-edit store false)
+ (t/is (true? (r/check-permission plugin-id "content:read")))
+ (t/is (true? (r/has-permission? plugin-id "content:write")))
+ (t/is (thrown? js/Error (r/check-permission plugin-id "library:write"))))))
+
+;; Writes that wait for the server before they change the file
+
+(defn- settled
+ "Resolves with `{:resolved value}` or `{:rejected cause}` once `p` settles,
+ or with `{:timeout true}` when it stays pending for 2 seconds."
+ [p]
+ (js/Promise.race
+ #js [(.then p (fn [v] {:resolved v}) (fn [e] {:rejected e}))
+ (js/Promise. (fn [resolve] (js/setTimeout #(resolve {:timeout true}) 2000)))]))
+
+(defn- lock-saves
+ "Locks `store` as a failing save does."
+ [store]
+ (swap! store update :workspace-global assoc
+ :read-only? true
+ :persistence-lock {:read-only? false}))
+
+(defn- held-rpc
+ "An `rp/cmd!` that records each command in `calls` and answers with the
+ next value pushed to `answer`."
+ [calls answer]
+ (mock/stub (fn [cmd _]
+ (swap! calls conj cmd)
+ (->> answer (rx/take 1) (rx/observe-on :async)))))
+
+(def ^:private media-object
+ {:id (uuid/next) :name "image" :width 10 :height 10 :mtype "image/png"})
+
+(def ^:private svg-with-image
+ (str ""
+ ""
+ " "))
+
+(defn- parsed-svg-with-image
+ "What `dwm/svg->clj` gives for `svg-with-image`. The test build cannot
+ load the XML parser, a CommonJS module."
+ [[name _]]
+ (rx/of {:tag :svg
+ :name name
+ :attrs {:xmlns "http://www.w3.org/2000/svg" :width "10" :height "10"}
+ :content [{:tag :image
+ :attrs {:href "data:image/png;base64,iVBORw0KGgo=" :width "10" :height "10"}
+ :content []}]}))
+
+(defn- read-only-error?
+ [cause]
+ (boolean (some->> cause ex-message (re-find #"cannot be saved"))))
+
+;; Scenario: an SVG with an image is created; while its image uploads a
+;; save fails and locks the workspace. Proves: the shape is not added and
+;; the promise rejects with the read-only error.
+(t/deftest ^:async an-svg-whose-upload-ends-after-a-save-failure-is-refused
+ (thw/setup-wasm-mocks!)
+ (try
+ (let [store (ths/setup-store (cthf/sample-file :file1 :page-label :page1))
+ calls (atom [])
+ answer (rx/subject)]
+ (await
+ (mock/with-mocks*
+ {st/state store
+ rp/cmd! (held-rpc calls answer)
+ dwm/valid-svg-string? (constantly true)
+ dwm/svg->clj (mock/stub parsed-svg-with-image)}
+ (let [^js context (api/create-context plugin-id)
+ before (shape-count store)
+ result (settled (.createShapeFromSvgWithImages context svg-with-image))]
+ (await (async/wait-for #(= [:upload-file-media-object] @calls) "the image upload starts"))
+ (lock-saves store)
+ (rx/push! answer media-object)
+ (let [{:keys [rejected]} (await result)]
+ (t/is (read-only-error? rejected))
+ (await (async/settle))
+ (t/is (= before (shape-count store)) "no shape is added"))))))
+ (finally
+ (thw/teardown-wasm-mocks!))))
+
+;; Uploads `upload` with the context; while the request for `cmd` runs, a
+;; save fails and locks the workspace.
+(defn- ^:async upload-during-a-save-failure
+ [upload cmd]
+ (let [store (ths/setup-store (cthf/sample-file :file1 :page-label :page1))
+ calls (atom [])
+ answer (rx/subject)]
+ (await
+ (mock/with-mocks*
+ {st/state store
+ rp/cmd! (held-rpc calls answer)}
+ ;; Bound one by one: a nested call with a local fn would compile to
+ ;; an awaited IIFE, which waits for the upload itself
+ (let [context (api/create-context plugin-id)
+ result (settled (upload context))]
+ (await (async/wait-for #(= [cmd] @calls) "the upload starts"))
+ (lock-saves store)
+ (rx/push! answer media-object)
+ (let [{:keys [rejected]} (await result)]
+ (t/is (read-only-error? rejected) (str cmd))))))))
+
+;; Scenario: an image is uploaded from data and from a URL; while each
+;; upload runs a save fails and locks the workspace. Proves: the promise
+;; rejects with the read-only error. The media object stays on the server.
+(t/deftest ^:async media-uploaded-after-a-save-failure-is-refused
+ (thw/setup-wasm-mocks!)
+ (try
+ (await (upload-during-a-save-failure
+ #(.uploadMediaData ^js % "image" (js/Uint8Array. #js [1 2 3]) "image/png")
+ :upload-file-media-object))
+ (await (upload-during-a-save-failure
+ #(.uploadMediaUrl ^js % "image" "https://example.com/image.png")
+ :create-file-media-object-from-url))
+ (finally
+ (thw/teardown-wasm-mocks!))))
diff --git a/frontend/test/frontend_tests/plugins/shape_bugfixes_test.cljs b/frontend/test/frontend_tests/plugins/shape_bugfixes_test.cljs
index 7dca8b7af8..cdd9d44017 100644
--- a/frontend/test/frontend_tests/plugins/shape_bugfixes_test.cljs
+++ b/frontend/test/frontend_tests/plugins/shape_bugfixes_test.cljs
@@ -18,6 +18,8 @@
[app.main.data.workspace.variants :as dwv]
[app.main.store :as st]
[app.plugins.api :as api]
+ [app.plugins.flex :as flex]
+ [app.plugins.grid :as grid]
[app.plugins.public-utils :as public-utils]
[app.plugins.register :as r]
[app.plugins.shape :as shape]
@@ -100,7 +102,8 @@
emitted (atom nil)
context (api/create-context plugin-id)]
(set! st/state (atom {:current-file-id file-id
- :current-page-id page-id}))
+ :current-page-id page-id
+ :permissions {:can-edit true}}))
(with-redefs [dw/convert-selected-to-path
(mock/stub (fn [ids]
(reset! emitted ids)
@@ -410,3 +413,125 @@
(t/is (= 1 (count @errors)))
(t/is (= [plugin-id :combineAsVariants "Plugin doesn't have 'content:write' permission"]
(first @errors)))))))
+
+;; ---------------------------------------------------------------------------
+;; Variant container append / insert
+;; ---------------------------------------------------------------------------
+
+(def ^:private variant-append-msg
+ "Only main instances can be added to a variant container")
+
+(defn- variant-append-objects
+ [child-attrs]
+ (let [container-id (uuid/next)
+ child-id (uuid/next)]
+ {:container-id container-id
+ :child-id child-id
+ :objects {container-id {:id container-id
+ :type :frame
+ :is-variant-container true
+ :shapes []}
+ child-id (merge {:id child-id
+ :type :rect
+ :parent-id uuid/zero}
+ child-attrs)}}))
+
+(defn- with-append-stubs
+ [objects f]
+ (let [errors (atom [])
+ emitted (atom [])]
+ (with-redefs [u/locate-shape (fn [_file _page id] (get objects id))
+ ;; Multi-arity: CLJS callers hit IFn$_invoke$arity$2; `constantly`
+ ;; only installs arity-variadic and breaks those calls.
+ u/locate-objects (fn
+ ([] objects)
+ ([_file _page] objects))
+ u/page-active? (constantly true)
+ u/natural-child-ordering? (constantly false)
+ r/check-permission (constantly true)
+ u/not-valid (mock/stub (fn [pid prop msg]
+ (swap! errors conj [pid prop msg])))
+ st/emit! (fn [& args]
+ (swap! emitted conj args)
+ nil)]
+ (f errors emitted))))
+
+(t/deftest append-child-rejects-plain-shape-into-variant-container
+ (let [{:keys [container-id child-id objects]} (variant-append-objects {})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (let [container (shape/shape-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.appendChild container child)
+ (t/is (= 1 (count @errors)))
+ (t/is (= variant-append-msg (last (first @errors))))
+ (t/is (empty? @emitted)))))))
+
+(t/deftest append-child-rejects-copy-into-variant-container
+ (let [{:keys [container-id child-id objects]}
+ (variant-append-objects {:type :frame
+ :component-id (uuid/next)
+ :component-root true})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (let [container (shape/shape-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.appendChild container child)
+ (t/is (= 1 (count @errors)))
+ (t/is (= variant-append-msg (last (first @errors))))
+ (t/is (empty? @emitted)))))))
+
+(t/deftest append-child-allows-main-into-variant-container
+ (let [{:keys [container-id child-id objects]}
+ (variant-append-objects {:type :frame
+ :main-instance true
+ :component-id (uuid/next)
+ :component-root true})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (let [container (shape/shape-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.appendChild container child)
+ (t/is (empty? @errors))
+ (t/is (pos? (count @emitted))))))))
+
+(t/deftest insert-child-rejects-plain-shape-into-variant-container
+ (let [{:keys [container-id child-id objects]} (variant-append-objects {})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (let [container (shape/shape-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.insertChild container 0 child)
+ (t/is (= 1 (count @errors)))
+ (t/is (= [plugin-id :insertChild variant-append-msg] (first @errors)))
+ (t/is (empty? @emitted)))))))
+
+(t/deftest flex-append-child-rejects-plain-shape-into-variant-container
+ (let [{:keys [container-id child-id objects]} (variant-append-objects {})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (with-redefs [flex/shape-proxy? (constantly true)]
+ (let [layout (flex/flex-layout-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.appendChild layout child)
+ (t/is (= 1 (count @errors)))
+ (t/is (= variant-append-msg (last (first @errors))))
+ (t/is (empty? @emitted))))))))
+
+(t/deftest grid-append-child-rejects-plain-shape-into-variant-container
+ (let [{:keys [container-id child-id objects]} (variant-append-objects {})]
+ (with-append-stubs
+ objects
+ (fn [errors emitted]
+ (with-redefs [grid/shape-proxy? (constantly true)]
+ (let [layout (grid/grid-layout-proxy plugin-id (uuid/next) (uuid/next) container-id)
+ child (shape/shape-proxy plugin-id (uuid/next) (uuid/next) child-id)]
+ (.appendChild layout child 0 0)
+ (t/is (= 1 (count @errors)))
+ (t/is (= variant-append-msg (last (first @errors))))
+ (t/is (empty? @emitted))))))))
diff --git a/frontend/test/frontend_tests/render_wasm/shape_proxy_test.cljs b/frontend/test/frontend_tests/render_wasm/shape_proxy_test.cljs
new file mode 100644
index 0000000000..276be80d53
--- /dev/null
+++ b/frontend/test/frontend_tests/render_wasm/shape_proxy_test.cljs
@@ -0,0 +1,24 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.render-wasm.shape-proxy-test
+ (:require
+ [app.common.uuid :as uuid]
+ [app.render-wasm.shape :as wasm.shape]
+ [cljs.test :as t :include-macros true]))
+
+(def ^:private attrs
+ {:id (uuid/next) :type :rect :name "Rect" :x 10 :y 20})
+
+(t/deftest count-includes-id-and-type
+ (let [shape (wasm.shape/create-shape attrs)]
+ (t/is (= (count attrs) (count shape)))
+ (t/is (= (count shape) (count (seq shape))))))
+
+(t/deftest equals-plain-map-with-same-entries
+ (let [shape (wasm.shape/create-shape attrs)]
+ (t/is (= shape attrs))
+ (t/is (= attrs shape))))
diff --git a/frontend/test/frontend_tests/runner.cljs b/frontend/test/frontend_tests/runner.cljs
index bc7878f14c..8cadb6c620 100644
--- a/frontend/test/frontend_tests/runner.cljs
+++ b/frontend/test/frontend_tests/runner.cljs
@@ -9,6 +9,8 @@
[frontend-tests.code-gen-style-test]
[frontend-tests.composable-tests.comp.sync-test]
[frontend-tests.copy-as-svg-test]
+ [frontend-tests.data.auth-test]
+ [frontend-tests.data.comments-batches-test]
[frontend-tests.data.comments-filters-test]
[frontend-tests.data.dashboard-test]
[frontend-tests.data.event-test]
@@ -19,29 +21,39 @@
[frontend-tests.data.jobs-test]
[frontend-tests.data.modal-test]
[frontend-tests.data.nitrate-test]
+ [frontend-tests.data.persistence-commits-test]
+ [frontend-tests.data.persistence-lock-test]
[frontend-tests.data.persistence-retry-test]
+ [frontend-tests.data.persistence-rollback-test]
[frontend-tests.data.persistence-test]
[frontend-tests.data.pointer-map-test]
[frontend-tests.data.profile-test]
[frontend-tests.data.repo-test]
[frontend-tests.data.store-test]
[frontend-tests.data.svg-upload-test]
+ [frontend-tests.data.team-test]
[frontend-tests.data.uploads-test]
[frontend-tests.data.viewer-test]
[frontend-tests.data.workspace-branches-test]
[frontend-tests.data.workspace-colors-test]
[frontend-tests.data.workspace-comments-test]
[frontend-tests.data.workspace-context-menu-test]
+ [frontend-tests.data.workspace-focus-test]
[frontend-tests.data.workspace-interactions-test]
+ [frontend-tests.data.workspace-libraries-sync-test]
[frontend-tests.data.workspace-mcp-test]
[frontend-tests.data.workspace-media-test]
+ [frontend-tests.data.workspace-notifications-test]
[frontend-tests.data.workspace-pages-test]
[frontend-tests.data.workspace-path-edition-test]
[frontend-tests.data.workspace-reflow-test]
[frontend-tests.data.workspace-shortcuts-test]
[frontend-tests.data.workspace-texts-test]
[frontend-tests.data.workspace-thumbnails-test]
+ [frontend-tests.data.workspace-undo-test]
+ [frontend-tests.data.workspace-undo-translation-test]
[frontend-tests.data.workspace-variant-rename-test]
+ [frontend-tests.data.workspace-variants-test]
[frontend-tests.data.workspace-versions-test]
[frontend-tests.debug-logging-test]
[frontend-tests.errors-governor-test]
@@ -54,9 +66,12 @@
[frontend-tests.logic.components-and-tokens]
[frontend-tests.logic.copy-paste-typography-test]
[frontend-tests.logic.copying-and-duplicating-test]
+ [frontend-tests.logic.drag-on-save-failure-test]
[frontend-tests.logic.frame-guides-test]
[frontend-tests.logic.groups-test]
[frontend-tests.logic.ignore-tree-test]
+ [frontend-tests.logic.move-shapes-to-frame-test]
+ [frontend-tests.logic.multi-variant-switch-test]
[frontend-tests.logic.nudge-selected-shapes-test]
[frontend-tests.logic.pasting-in-containers-test]
[frontend-tests.logic.path-actions-test]
@@ -72,6 +87,7 @@
[frontend-tests.main.refs-test]
[frontend-tests.plugins.comments-test]
[frontend-tests.plugins.context-shapes-test]
+ [frontend-tests.plugins.creation-parent-test]
[frontend-tests.plugins.events-test]
[frontend-tests.plugins.file-test]
[frontend-tests.plugins.flex-test]
@@ -84,6 +100,7 @@
[frontend-tests.plugins.page-active-validation-test]
[frontend-tests.plugins.page-test]
[frontend-tests.plugins.parser-test]
+ [frontend-tests.plugins.read-only-test]
[frontend-tests.plugins.register-test]
[frontend-tests.plugins.shape-bugfixes-test]
[frontend-tests.plugins.text-test]
@@ -94,6 +111,7 @@
[frontend-tests.render-dimensions-test]
[frontend-tests.render-wasm.process-objects-test]
[frontend-tests.render-wasm.serialization-test]
+ [frontend-tests.render-wasm.shape-proxy-test]
[frontend-tests.render-wasm.text-editor-apply-styles-test]
[frontend-tests.render-wasm.text-editor-caret-color-test]
[frontend-tests.render-wasm.text-editor-content-range-test]
@@ -112,10 +130,15 @@
[frontend-tests.tokens.logic.tokens-source-test]
[frontend-tests.tokens.logic.tokens-status-test]
[frontend-tests.tokens.referenced-token-value-test]
+ [frontend-tests.tokens.shadow-form-test]
[frontend-tests.tokens.style-dictionary-test]
[frontend-tests.tokens.token-errors-test]
+ [frontend-tests.tokens.token-parsing-test]
[frontend-tests.tokens.token-path-test]
+ [frontend-tests.tokens.token-pill-test]
+ [frontend-tests.tokens.token-tree-test]
[frontend-tests.tokens.tokenscript-test]
+ [frontend-tests.tokens.typography-form-test]
[frontend-tests.tokens.workspace-tokens-remap-test]
[frontend-tests.ui.branch-review-common-test]
[frontend-tests.ui.branch-review-previews-test]
@@ -130,6 +153,7 @@
[frontend-tests.ui.drawarea-test]
[frontend-tests.ui.ds-controls-numeric-input-test]
[frontend-tests.ui.error-boundary-test]
+ [frontend-tests.ui.file-restored-modal-test]
[frontend-tests.ui.gradient-handlers-test]
[frontend-tests.ui.history-test]
[frontend-tests.ui.inspect-geometry-test]
@@ -149,7 +173,9 @@
[frontend-tests.ui.sortable-auto-scroll-test]
[frontend-tests.ui.static-test]
[frontend-tests.ui.stroke-menu-test]
+ [frontend-tests.ui.team-container-test]
[frontend-tests.ui.text-attrs-multiple-test]
+ [frontend-tests.ui.viewport-top-bar-test]
[frontend-tests.ui.workspace-libraries-test]
[frontend-tests.util-clipboard-test]
[frontend-tests.util-http-test]
@@ -167,6 +193,8 @@
[frontend-tests.worker-snap-test]
[frontend-tests.worker.exports-test]
[frontend-tests.worker.index-test]
+ [frontend-tests.worker.messages-test]
+ [frontend-tests.worker.trim-test]
[goog.object :as gobj]))
(enable-console-print!)
@@ -185,13 +213,18 @@
'frontend-tests.code-gen-style-test
'frontend-tests.composable-tests.comp.sync-test
'frontend-tests.copy-as-svg-test
+ 'frontend-tests.data.auth-test
+ 'frontend-tests.data.comments-batches-test
'frontend-tests.data.comments-filters-test
'frontend-tests.data.dashboard-test
'frontend-tests.data.event-test
'frontend-tests.data.fix-deleted-fonts-test
'frontend-tests.data.modal-test
'frontend-tests.data.nitrate-test
+ 'frontend-tests.data.persistence-commits-test
+ 'frontend-tests.data.persistence-lock-test
'frontend-tests.data.persistence-retry-test
+ 'frontend-tests.data.persistence-rollback-test
'frontend-tests.data.persistence-test
'frontend-tests.data.pointer-map-test
'frontend-tests.data.profile-test
@@ -203,23 +236,32 @@
'frontend-tests.data.jobs-test
'frontend-tests.worker.exports-test
'frontend-tests.worker.index-test
+ 'frontend-tests.worker.messages-test
+ 'frontend-tests.worker.trim-test
'frontend-tests.data.svg-upload-test
+ 'frontend-tests.data.team-test
'frontend-tests.data.uploads-test
'frontend-tests.data.viewer-test
'frontend-tests.data.workspace-branches-test
'frontend-tests.data.workspace-colors-test
'frontend-tests.data.workspace-comments-test
'frontend-tests.data.workspace-context-menu-test
+ 'frontend-tests.data.workspace-focus-test
'frontend-tests.data.workspace-interactions-test
+ 'frontend-tests.data.workspace-libraries-sync-test
'frontend-tests.data.workspace-mcp-test
'frontend-tests.data.workspace-media-test
+ 'frontend-tests.data.workspace-notifications-test
'frontend-tests.data.workspace-pages-test
'frontend-tests.data.workspace-path-edition-test
'frontend-tests.data.workspace-reflow-test
'frontend-tests.data.workspace-shortcuts-test
'frontend-tests.data.workspace-texts-test
'frontend-tests.data.workspace-thumbnails-test
+ 'frontend-tests.data.workspace-undo-test
+ 'frontend-tests.data.workspace-undo-translation-test
'frontend-tests.data.workspace-variant-rename-test
+ 'frontend-tests.data.workspace-variants-test
'frontend-tests.data.workspace-versions-test
'frontend-tests.debug-logging-test
'frontend-tests.errors-governor-test
@@ -232,9 +274,12 @@
'frontend-tests.logic.components-and-tokens
'frontend-tests.logic.copy-paste-typography-test
'frontend-tests.logic.copying-and-duplicating-test
+ 'frontend-tests.logic.drag-on-save-failure-test
'frontend-tests.logic.frame-guides-test
'frontend-tests.logic.groups-test
'frontend-tests.logic.ignore-tree-test
+ 'frontend-tests.logic.move-shapes-to-frame-test
+ 'frontend-tests.logic.multi-variant-switch-test
'frontend-tests.logic.nudge-selected-shapes-test
'frontend-tests.logic.path-actions-test
'frontend-tests.logic.path-clipboard-test
@@ -250,6 +295,7 @@
'frontend-tests.logic.wasm-pixel-snap-test
'frontend-tests.plugins.comments-test
'frontend-tests.plugins.context-shapes-test
+ 'frontend-tests.plugins.creation-parent-test
'frontend-tests.plugins.events-test
'frontend-tests.plugins.management-test
'frontend-tests.plugins.file-test
@@ -262,6 +308,7 @@
'frontend-tests.plugins.page-active-validation-test
'frontend-tests.plugins.page-test
'frontend-tests.plugins.parser-test
+ 'frontend-tests.plugins.read-only-test
'frontend-tests.plugins.register-test
'frontend-tests.plugins.shape-bugfixes-test
'frontend-tests.plugins.text-test
@@ -271,6 +318,7 @@
'frontend-tests.plugins.value-objects-test
'frontend-tests.render-wasm.process-objects-test
'frontend-tests.render-wasm.serialization-test
+ 'frontend-tests.render-wasm.shape-proxy-test
'frontend-tests.render-wasm.text-editor-apply-styles-test
'frontend-tests.render-wasm.text-editor-caret-color-test
'frontend-tests.render-wasm.text-editor-content-range-test
@@ -287,10 +335,15 @@
'frontend-tests.tokens.logic.token-data-test
'frontend-tests.tokens.logic.token-remapping-test
'frontend-tests.tokens.referenced-token-value-test
+ 'frontend-tests.tokens.shadow-form-test
'frontend-tests.tokens.style-dictionary-test
'frontend-tests.tokens.token-errors-test
+ 'frontend-tests.tokens.token-parsing-test
'frontend-tests.tokens.token-path-test
+ 'frontend-tests.tokens.token-pill-test
+ 'frontend-tests.tokens.token-tree-test
'frontend-tests.tokens.tokenscript-test
+ 'frontend-tests.tokens.typography-form-test
'frontend-tests.tokens.logic.tokens-source-test
'frontend-tests.tokens.logic.tokens-status-test
'frontend-tests.tokens.workspace-tokens-remap-test
@@ -307,6 +360,7 @@
'frontend-tests.ui.drawarea-test
'frontend-tests.ui.ds-controls-numeric-input-test
'frontend-tests.ui.error-boundary-test
+ 'frontend-tests.ui.file-restored-modal-test
'frontend-tests.ui.gradient-handlers-test
'frontend-tests.ui.history-test
'frontend-tests.ui.inspect-geometry-test
@@ -328,7 +382,9 @@
'frontend-tests.ui.sortable-auto-scroll-test
'frontend-tests.ui.static-test
'frontend-tests.ui.stroke-menu-test
+ 'frontend-tests.ui.team-container-test
'frontend-tests.ui.text-attrs-multiple-test
+ 'frontend-tests.ui.viewport-top-bar-test
'frontend-tests.ui.workspace-libraries-test
'frontend-tests.util-clipboard-test
'frontend-tests.util-http-test
diff --git a/frontend/test/frontend_tests/svg_fills_test.cljs b/frontend/test/frontend_tests/svg_fills_test.cljs
index cecb4ad3b8..cbeb787e17 100644
--- a/frontend/test/frontend_tests/svg_fills_test.cljs
+++ b/frontend/test/frontend_tests/svg_fills_test.cljs
@@ -7,16 +7,18 @@
(ns frontend-tests.svg-fills-test
(:require
[app.common.render-wasm.svg-derived :as svg-derived]
+ [app.main.ui.shapes.attrs :as attrs]
+ [app.util.object :as obj]
[cljs.test :refer [deftest is testing]]))
(def sample-shape
{:selrect {:x 100 :y 200 :width 200 :height 100}
- :svg-attrs {:fillOpacity "0.5"
+ :svg-attrs {:fill-opacity "0.5"
:style {:fill "url(#grad)"}}
:svg-defs {"grad"
{:tag :radialGradient
:attrs {:id "grad"
- :gradientUnits "userSpaceOnUse"
+ :gradient-units "userSpaceOnUse"
:cx "150"
:cy "250"
:r "50"}
@@ -42,17 +44,45 @@
(deftest skips-when-no-svg-fill
(is (nil? (svg-derived/svg-fill->fills {:svg-attrs {:fill "none"}}))))
+;; Stored (post-0034) spelling: migration `0034` turned stop `:style`
+;; strings into kebab maps via `attrs->kebab-props`. The WASM fill
+;; derivation must read both spellings, or gradients lose their stops.
+(def stored-shape
+ {:selrect {:x 100 :y 200 :width 200 :height 100}
+ :svg-attrs {:fill-opacity "0.5"
+ :style {:fill "url(#grad)"}}
+ :svg-defs {"grad"
+ {:tag :radialGradient
+ :attrs {:id "grad"
+ :gradient-units "userSpaceOnUse"
+ :cx "150"
+ :cy "250"
+ :r "50"}
+ :content [{:tag :stop
+ :attrs {:offset "0"
+ :style {:stop-color "#ff0000" :stop-opacity "1"}}}
+ {:tag :stop
+ :attrs {:offset "1"
+ :style {:stop-color "#00ff00" :stop-opacity "0"}}}]}}})
+
+(deftest builds-gradient-fill-from-stored-map-styles
+ (let [fills (svg-derived/svg-fill->fills stored-shape)
+ gradient (get-in (first fills) [:fill-color-gradient])]
+ (is (= 1 (count fills)))
+ (is (= "#ff0000" (get-in gradient [:stops 0 :color])))
+ (is (= "#00ff00" (get-in gradient [:stops 1 :color])))))
+
(def elliptical-shape
{:selrect {:x 0 :y 0 :width 200 :height 100}
:svg-attrs {:style {:fill "url(#grad-ellipse)"}}
:svg-defs {"grad-ellipse"
{:tag :radialGradient
:attrs {:id "grad-ellipse"
- :gradientUnits "userSpaceOnUse"
+ :gradient-units "userSpaceOnUse"
:cx "50"
:cy "50"
:r "50"
- :gradientTransform "matrix(2 0 0 1 0 0)"}
+ :gradient-transform "matrix(2 0 0 1 0 0)"}
:content [{:tag :stop
:attrs {:offset "0"
:style "stop-color:#000000;stop-opacity:1"}}
@@ -94,4 +124,20 @@
(is (= 1 (count fills)))
(is (= "#fabada" (:fill-color (first fills))))))
+;; The classic renderer funnel: stored kebab keys reach React as
+;; camelCase props, so a shape renders identical props before and after
+;; the kebab migration. Extra attrs keep their source spelling so React
+;; passes them to the DOM silently (no unknown-prop warning).
+(deftest svg-attrs-render-as-camel-props
+ (let [props (attrs/get-svg-props {:svg-attrs {:fill-rule "evenodd"
+ :stroke-width "2"
+ :stroke-style "dotted"
+ :style {:fill-opacity "0.5"}}}
+ "r1")]
+ (is (= "evenodd" (obj/get props "fillRule")))
+ (is (= "2" (obj/get props "strokeWidth")))
+ (is (= "dotted" (obj/get props "stroke-style")))
+ (is (nil? (obj/get props "strokeStyle")) "no camel duplicate for extras")
+ (is (= "0.5" (obj/get (obj/get props "style") "fillOpacity")))))
+
diff --git a/frontend/test/frontend_tests/svg_filters_test.cljs b/frontend/test/frontend_tests/svg_filters_test.cljs
index b1eb4be721..f20d3a219e 100644
--- a/frontend/test/frontend_tests/svg_filters_test.cljs
+++ b/frontend/test/frontend_tests/svg_filters_test.cljs
@@ -14,7 +14,7 @@
:svg-defs {"simple-filter"
{:tag :filter
:content [{:tag :feOffset :attrs {:dx "2" :dy "3"}}
- {:tag :feGaussianBlur :attrs {:stdDeviation "4"}}]}}})
+ {:tag :feGaussianBlur :attrs {:std-deviation "4"}}]}}})
(defn- filter-shape
[content]
@@ -46,7 +46,7 @@
(deftest derives-layer-blur-from-plain-blur-filter
(let [shape (svg-derived/apply-svg-filters
- (filter-shape [{:tag :feGaussianBlur :attrs {:stdDeviation "4"}}]))]
+ (filter-shape [{:tag :feGaussianBlur :attrs {:std-deviation "4"}}]))]
(is (= :layer-blur (get-in shape [:blur :type])))
(is (= 4.0 (get-in shape [:blur :value])))
(is (nil? (:shadow shape)))))
@@ -55,7 +55,7 @@
(is (= [{:color "#ff0000" :opacity 0.3}]
(map :color (derived-shadow
[{:tag :feOffset :attrs {:in "SourceAlpha" :dx "12" :dy "12"}}
- {:tag :feGaussianBlur :attrs {:stdDeviation "4"}}
+ {:tag :feGaussianBlur :attrs {:std-deviation "4"}}
{:tag :feColorMatrix
:attrs {:type "matrix"
:values "0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"}}])))))
@@ -70,7 +70,7 @@
:type "matrix"
:values "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}}
{:tag :feOffset :attrs {:dy "4"}}
- {:tag :feGaussianBlur :attrs {:stdDeviation "2"}}
+ {:tag :feGaussianBlur :attrs {:std-deviation "2"}}
{:tag :feColorMatrix
:attrs {:type "matrix"
:values "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}}])))))
@@ -79,12 +79,12 @@
(is (= [{:color "#00ff00" :opacity 0.5}]
(map :color (derived-shadow
[{:tag :feOffset :attrs {:dx "2" :dy "2"}}
- {:tag :feGaussianBlur :attrs {:stdDeviation "2"}}
+ {:tag :feGaussianBlur :attrs {:std-deviation "2"}}
{:tag :feFlood :attrs {:flood-color "#00ff00" :flood-opacity "0.5"}}])))))
(deftest derives-shadow-from-fe-drop-shadow
(let [content [{:tag :feDropShadow
- :attrs {:dx "12" :dy "8" :stdDeviation "4"
+ :attrs {:dx "12" :dy "8" :std-deviation "4"
:flood-color "#000" :flood-opacity "0.3"}}]
shape (svg-derived/apply-svg-filters (filter-shape content))]
(is (nil? (:blur shape)))
diff --git a/frontend/test/frontend_tests/tokens/helpers/state.cljs b/frontend/test/frontend_tests/tokens/helpers/state.cljs
index e03b15b099..6ef0345e41 100644
--- a/frontend/test/frontend_tests/tokens/helpers/state.cljs
+++ b/frontend/test/frontend_tests/tokens/helpers/state.cljs
@@ -70,14 +70,15 @@
(rx/map deref)
(rx/filter #(= :local (:source %)))
(rx/mapcat
- (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before]}]
+ (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo? selected-before translation?]}]
(if (and save-undo? (seq undo-changes))
(rx/of (dwu/append-undo
{:undo-changes undo-changes
:redo-changes redo-changes
:undo-group undo-group
:tags tags
- :selected-before selected-before}
+ :selected-before selected-before
+ :translation (boolean translation?)}
stack-undo?))
(rx/empty))))
(rx/take-until stopper-s))))))
diff --git a/frontend/test/frontend_tests/tokens/shadow_form_test.cljs b/frontend/test/frontend_tests/tokens/shadow_form_test.cljs
new file mode 100644
index 0000000000..f940620095
--- /dev/null
+++ b/frontend/test/frontend_tests/tokens/shadow_form_test.cljs
@@ -0,0 +1,105 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.tokens.shadow-form-test
+ (:require
+ [app.common.schema :as sm]
+ [app.common.schema.messages :as csm]
+ [app.common.types.tokens-lib :as ctob]
+ [app.main.data.workspace.tokens.errors :as wte]
+ [app.main.ui.workspace.tokens.management.forms.shadow :as wtsh]
+ [app.util.i18n :refer [tr]]
+ [cljs.test :as t :include-macros true]))
+
+(def ^:private make-schema @#'wtsh/make-schema)
+(def ^:private form-value @#'wtsh/make-default-value)
+(def ^:private check-self-reference @#'wtsh/check-shadow-token-self-reference)
+
+(def ^:private shadow
+ (assoc @#'wtsh/default-token-shadow :color "#000000"))
+
+(def ^:private token
+ (ctob/make-token :name "shadow.md" :type :shadow :value [shadow]))
+
+(defn- schema
+ [tab]
+ (make-schema (ctob/get-token-path token)
+ (ctob/tokens-tree {(:name token) token})
+ tab))
+
+(defn- form-data
+ [value]
+ {:name (:name token) :description "" :value value})
+
+(defn- shadows
+ [& shadows]
+ (form-data {:reference nil :shadow (vec shadows)}))
+
+(defn- errors
+ [tab data]
+ (csm/collect-schema-errors (schema tab) [] {:data data}))
+
+(defn- valid?
+ [tab data]
+ (sm/validate (schema tab) data))
+
+(t/deftest composite-tab
+ (t/testing "a complete shadow is valid"
+ (t/is (valid? :composite (shadows shadow))))
+
+ (t/testing "blur can't be negative"
+ (t/is (= (tr "workspace.tokens.shadow-token-blur-value-error")
+ (get-in (errors :composite (shadows (assoc shadow :blur "-2")))
+ [:value :shadow 0 :blur :message]))))
+
+ (t/testing "spread can be negative"
+ (t/is (valid? :composite (shadows (assoc shadow :spread "-2")))))
+
+ (t/testing "blur and spread can stay blank"
+ (t/is (valid? :composite (shadows (assoc shadow :blur "" :spread "")))))
+
+ (t/testing "every shadow needs its offsets and color"
+ (t/is (not (valid? :composite (shadows shadow (assoc shadow :color "")))))
+ (t/is (not (valid? :composite (shadows (assoc shadow :offset-x "")))))
+ (t/is (contains? (errors :composite (shadows (dissoc shadow :color))) :value))))
+
+(t/deftest reference-tab
+ (t/testing "a reference is required"
+ (t/is (not (valid? :reference (form-data {:reference "" :shadow []}))))
+ (t/is (valid? :reference (form-data {:reference "{shadow.sm}" :shadow []}))))
+
+ (t/testing "the token can't reference itself"
+ (t/is (= (tr "errors.tokens.self-reference")
+ (get-in (errors :reference (form-data {:reference "{shadow.md}" :shadow []}))
+ [:value :reference :message])))))
+
+(t/deftest composite-self-reference
+ (t/testing "the error names the shadow and field that reference the token"
+ (t/is (= (assoc (wte/get-error-code :error.token/direct-self-reference)
+ :shadow-key :color
+ :shadow-index 1)
+ (check-self-reference
+ {:name "shadow.md"
+ :value [shadow (assoc shadow :color "{shadow.md}")]}))))
+
+ (t/testing "references to other tokens pass"
+ (t/is (nil? (check-self-reference
+ {:name "shadow.md"
+ :value [(assoc shadow :color "{color.black}")]})))))
+
+(t/deftest initial-form-value
+ (t/testing "a reference opens on the reference tab"
+ (t/is (= {:reference "{shadow.sm}" :shadow []}
+ (form-value "{shadow.sm}"))))
+
+ (t/testing "blank or missing blur and spread show as 0"
+ (t/is (= {:reference nil :shadow [(assoc shadow :blur "0" :spread "0")]}
+ (form-value [(assoc shadow :blur "" :spread " ")])
+ (form-value [(dissoc shadow :blur :spread)]))))
+
+ (t/testing "a new token starts with one default shadow"
+ (t/is (= {:reference nil :shadow [@#'wtsh/default-token-shadow]}
+ (form-value nil)))))
diff --git a/frontend/test/frontend_tests/tokens/token_parsing_test.cljs b/frontend/test/frontend_tests/tokens/token_parsing_test.cljs
new file mode 100644
index 0000000000..b37e8fe663
--- /dev/null
+++ b/frontend/test/frontend_tests/tokens/token_parsing_test.cljs
@@ -0,0 +1,46 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.tokens.token-parsing-test
+ (:require
+ [app.main.ui.workspace.tokens.management.forms.controls.token-parsing :as tp]
+ [cljs.test :as t :include-macros true]))
+
+(t/deftest extract-partial-token
+ (t/testing "an open reference at the cursor"
+ (t/is (= {:start 0 :end 4 :partial "col"}
+ (tp/extract-partial-token "{col" 4))))
+
+ (t/testing "the last open reference when an earlier one is closed"
+ (t/is (= {:start 14 :end 17 :partial "sp"}
+ (tp/extract-partial-token "{color.red} + {sp" 17))))
+
+ (t/testing "the reference ends at its closing brace after the cursor"
+ (t/is (= {:start 0 :end 5 :partial "co"}
+ (tp/extract-partial-token "{colo}" 3))))
+
+ (t/testing "nothing after a closed reference"
+ (t/is (nil? (tp/extract-partial-token "{color} " 8))))
+
+ (t/testing "nothing without a reference"
+ (t/is (nil? (tp/extract-partial-token "12" 2)))
+ (t/is (nil? (tp/extract-partial-token "" 0)))))
+
+(t/deftest token-at-cursor
+ (t/testing "the token name when the cursor is inside a reference"
+ (t/is (= "color.red" (tp/token-at-cursor "{color.red}" 3)))
+ (t/is (= "color.red" (tp/token-at-cursor "{color.red} + {spacing.md}" 1)))
+ (t/is (= "spacing.md" (tp/token-at-cursor "{color.red} + {spacing.md}" 18))))
+
+ (t/testing "nothing for a reference that isn't closed"
+ (t/is (nil? (tp/token-at-cursor "{color" 3))))
+
+ (t/testing "nothing for an empty reference or one with spaces"
+ (t/is (nil? (tp/token-at-cursor "{}" 1)))
+ (t/is (nil? (tp/token-at-cursor "{color red}" 3))))
+
+ (t/testing "nothing before the first reference"
+ (t/is (nil? (tp/token-at-cursor "1 + {color}" 1)))))
diff --git a/frontend/test/frontend_tests/tokens/token_pill_test.cljs b/frontend/test/frontend_tests/tokens/token_pill_test.cljs
new file mode 100644
index 0000000000..9e98a2c84e
--- /dev/null
+++ b/frontend/test/frontend_tests/tokens/token_pill_test.cljs
@@ -0,0 +1,228 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.tokens.token-pill-test
+ (:require
+ [app.common.test-helpers.ids-map :as thi]
+ [app.common.test-helpers.shapes :as ths]
+ [app.common.types.token :as cto]
+ [app.common.types.tokens-lib :as ctob]
+ [app.config :as cf]
+ [app.main.ui.workspace.tokens.management.token-pill :as wtp]
+ [app.util.i18n :refer [tr]]
+ [cljs.test :as t :include-macros true]))
+
+(t/use-fixtures :each thi/test-fixture)
+
+(def ^:private pill-state @#'wtp/pill-state)
+(def ^:private tooltip-info @#'wtp/tooltip-info)
+
+(def ^:private radius
+ (ctob/make-token :name "radius.md" :type :border-radius :value "8"))
+
+(def ^:private spacing
+ (ctob/make-token :name "spacing.md" :type :spacing :value "16"))
+
+(def ^:private width
+ (ctob/make-token :name "width.md" :type :dimensions :value "100"))
+
+(def ^:private active-theme-tokens
+ {"radius.md" (assoc radius :resolved-value 8)
+ "spacing.md" (assoc spacing :resolved-value 16)
+ "width.md" (assoc width :resolved-value 100)})
+
+(defn- with-token
+ [shape token attributes]
+ (cto/apply-token-to-shape {:shape shape :token token :attributes attributes}))
+
+(defn- state
+ [token selected-shapes & {:keys [tokens is-selected-inside-layout]
+ :or {tokens active-theme-tokens}}]
+ (pill-state token tokens selected-shapes is-selected-inside-layout))
+
+(defn- with-flags
+ [flags f]
+ (with-redefs [cf/flags flags]
+ (f)))
+
+(def ^:private no-tokenscript-flags (disj cf/flags :tokenscript))
+(def ^:private tokenscript-flags (conj cf/flags :tokenscript))
+
+(t/deftest applied-status
+ (t/testing "without a selection the token counts as fully applied"
+ (t/is (= {:is-applied false
+ :is-half-applied false
+ :is-disabled false
+ :status-icon-id "token-status-full"}
+ (select-keys (state radius [])
+ [:is-applied :is-half-applied :is-disabled :status-icon-id]))))
+
+ (t/testing "applied to every attribute of every selected shape"
+ (let [result (state radius [(with-token (ths/sample-shape :rect1) radius cto/border-radius-keys)
+ (with-token (ths/sample-shape :rect2) radius cto/border-radius-keys)])]
+ (t/is (true? (:is-applied result)))
+ (t/is (false? (:is-half-applied result)))
+ (t/is (= "token-status-full" (:status-icon-id result)))))
+
+ (t/testing "applied to only some of the attributes"
+ (let [result (state radius [(with-token (ths/sample-shape :rect1) radius #{:r1})])]
+ (t/is (true? (:is-applied result)))
+ (t/is (true? (:is-half-applied result)))
+ (t/is (= "token-status-partial" (:status-icon-id result)))))
+
+ (t/testing "applied to only some of the selected shapes"
+ (let [result (state radius [(with-token (ths/sample-shape :rect1) radius cto/border-radius-keys)
+ (ths/sample-shape :rect2)])]
+ (t/is (true? (:is-half-applied result)))
+ (t/is (= "token-status-partial" (:status-icon-id result)))))
+
+ (t/testing "another token on the same attributes does not count"
+ (let [other (ctob/make-token :name "radius.lg" :type :border-radius :value "16")
+ result (state radius [(with-token (ths/sample-shape :rect1) other #{:r1})])]
+ (t/is (false? (:is-applied result)))
+ (t/is (= "token-status-non-applied" (:status-icon-id result)))))
+
+ (t/testing "color tokens count all their attributes, not only the fill"
+ (let [color (ctob/make-token :name "brand" :type :color :value "#ff0000")]
+ (t/is (true? (:is-half-applied
+ (state color [(with-token (ths/sample-shape :rect1) color #{:fill})]
+ :tokens {"brand" color}))))
+ (t/is (false? (:is-half-applied
+ (state color [(with-token (ths/sample-shape :rect1) color #{:fill :stroke-color})]
+ :tokens {"brand" color})))))))
+
+(t/deftest disabled-status
+ (t/testing "a token that applies to none of the selected shapes is disabled"
+ (t/is (true? (:is-disabled (state radius [(ths/sample-shape :circle1 :type :circle)]))))
+ (t/is (true? (:is-disabled (state spacing [(ths/sample-shape :rect1)])))))
+
+ (t/testing "one shape the token applies to is enough"
+ (t/is (false? (:is-disabled (state radius [(ths/sample-shape :circle1 :type :circle)
+ (ths/sample-shape :rect1)])))))
+
+ (t/testing "spacing applies to boards with a layout"
+ (t/is (false? (:is-disabled (state spacing [(ths/sample-shape :board1 :type :frame :layout :flex)])))))
+
+ (t/testing "spacing applies as margin to shapes inside a layout"
+ (t/is (false? (:is-disabled (state spacing [(ths/sample-shape :rect1)]
+ :is-selected-inside-layout true)))))
+
+ (t/testing "an applied token is never disabled"
+ (t/is (false? (:is-disabled (state radius [(with-token (ths/sample-shape :circle1 :type :circle)
+ radius cto/border-radius-keys)]))))))
+
+(t/deftest error-status
+ (t/testing "a valid token has no errors"
+ (let [result (state radius [])]
+ (t/is (false? (:has-errors result)))
+ (t/is (nil? (:error-message result)))))
+
+ (t/testing "a reference to a token outside the active sets"
+ (with-flags no-tokenscript-flags
+ #(let [token (ctob/make-token :name "radius.ref" :type :border-radius :value "{radius.missing}")
+ result (state token [])]
+ (t/is (true? (:has-missing-reference result)))
+ (t/is (false? (:has-invalid-value result)))
+ (t/is (true? (:has-errors result)))
+ (t/is (nil? (:error-message result)))))
+
+ (with-flags no-tokenscript-flags
+ #(let [token (ctob/make-token :name "radius.ref" :type :border-radius :value "{radius.md}")]
+ (t/is (false? (:has-errors (state token []))))))
+
+ (with-flags tokenscript-flags
+ #(let [error {:error/code :error.style-dictionary/missing-reference
+ :message "Missing reference"}
+ token (ctob/make-token :name "radius.ref" :type :border-radius :value "{radius.missing}")
+ result (state token [] :tokens {"radius.ref" (assoc token :errors [error])})]
+ (t/is (true? (:has-missing-reference result)))
+ (t/is (true? (:has-invalid-value result)))
+ (t/is (= "Missing reference" (:error-message result))))))
+
+ (t/testing "an invalid value only shows its own message with tokenscript"
+ (let [error {:error/code :error.style-dictionary/invalid-token-value
+ :message "Invalid value"}
+ tokens {"radius.md" (assoc radius :errors [error])}]
+ (with-flags no-tokenscript-flags
+ #(let [result (state radius [] :tokens tokens)]
+ (t/is (true? (:has-invalid-value result)))
+ (t/is (true? (:has-errors result)))
+ (t/is (nil? (:error-message result)))))
+ (with-flags tokenscript-flags
+ #(t/is (= "Invalid value" (:error-message (state radius [] :tokens tokens)))))))
+
+ (t/testing "a name collision shows its message"
+ (with-flags no-tokenscript-flags
+ #(let [error {:error/code :error.token/name-collision
+ :error/value "radius.md"
+ :error/fn (fn [value] (str "Collides: " value))}
+ result (state radius [] :tokens {"radius.md" (assoc radius :errors [error])})]
+ (t/is (true? (:has-errors result)))
+ (t/is (= "Collides: radius.md" (:error-message result)))))))
+
+(defn- tooltip
+ [token shapes & {:keys [tokens is-viewer] :or {tokens active-theme-tokens}}]
+ (tooltip-info token (get tokens (:name token)) (first shapes)
+ (pill-state token tokens shapes false)
+ is-viewer))
+
+(t/deftest tooltip-messages
+ (t/testing "errors replace the token details"
+ (with-flags no-tokenscript-flags
+ #(let [token (ctob/make-token :name "radius.ref" :type :border-radius :value "{radius.missing}")]
+ (t/is (= {:message (tr "workspace.tokens.ref-not-valid" "radius.ref")}
+ (tooltip token [])))))
+
+ (with-flags no-tokenscript-flags
+ #(let [error {:error/code :error.style-dictionary/invalid-token-value}]
+ (t/is (= {:message (tr "workspace.tokens.value-not-valid")}
+ (tooltip radius [] :tokens {"radius.md" (assoc radius :errors [error])}))))))
+
+ (t/testing "a resolved error message replaces the generic one"
+ (let [error {:error/code :error.token/name-collision
+ :error/value "radius.md"
+ :error/fn (fn [value] (str "Collides: " value))}
+ tokens {"radius.md" (assoc radius :errors [error])}]
+ (t/is (= {:message "Collides: radius.md"}
+ (tooltip radius [] :tokens tokens)))))
+
+ (t/testing "a valid token shows its value and resolved value"
+ (t/is (= {:name "radius.md"
+ :value "8"
+ :resolved-value "8"
+ :has-more-options false
+ :applied-to nil}
+ (tooltip radius []))))
+
+ (t/testing "the resolved value comes from the active themes"
+ (let [token (ctob/make-token :name "radius.ref" :type :border-radius :value "{radius.md}")]
+ (t/is (= "8" (:resolved-value
+ (tooltip token [] :tokens (assoc active-theme-tokens
+ "radius.ref" (assoc token :resolved-value 8)))))))))
+
+(t/deftest tooltip-applied-to
+ (t/testing "editors don't see where the token is applied"
+ (t/is (nil? (:applied-to (tooltip radius [(with-token (ths/sample-shape :rect1) radius cto/border-radius-keys)])))))
+
+ (t/testing "viewers see the attributes of the first selected shape"
+ (t/is (= (str "- Border Radius: " (tr "labels.all"))
+ (:applied-to (tooltip radius [(with-token (ths/sample-shape :rect1) radius cto/border-radius-keys)]
+ :is-viewer true))))
+
+ (t/is (= "- Border Radius: Top Left"
+ (:applied-to (tooltip radius [(with-token (ths/sample-shape :rect1) radius #{:r1})]
+ :is-viewer true)))))
+
+ (t/testing "dimension tokens list their attributes by category"
+ (t/is (= "- Sizing: Width."
+ (:applied-to (tooltip width [(with-token (ths/sample-shape :rect1) width #{:width})]
+ :is-viewer true)))))
+
+ (t/testing "nothing is listed when the token isn't applied to the first shape"
+ (t/is (nil? (:applied-to (tooltip radius [(ths/sample-shape :rect1)
+ (with-token (ths/sample-shape :rect2)
+ radius cto/border-radius-keys)]
+ :is-viewer true))))))
diff --git a/frontend/test/frontend_tests/tokens/token_tree_test.cljs b/frontend/test/frontend_tests/tokens/token_tree_test.cljs
new file mode 100644
index 0000000000..2fa83904a1
--- /dev/null
+++ b/frontend/test/frontend_tests/tokens/token_tree_test.cljs
@@ -0,0 +1,37 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.tokens.token-tree-test
+ (:require
+ [app.common.path-names :as cpn]
+ [app.common.types.tokens-lib :as ctob]
+ [app.main.ui.workspace.tokens.management.token-tree :as wtt]
+ [cljs.test :as t :include-macros true]))
+
+(def ^:private sort-nodes @#'wtt/sort-nodes)
+
+(defn- tree
+ [& names]
+ (cpn/build-tree-root
+ (map #(ctob/make-token :name % :type :spacing :value "4") names)
+ ctob/token-separator))
+
+(defn- sorted-names
+ [nodes]
+ (map :name (sort-nodes nodes)))
+
+(t/deftest sort-nodes-test
+ (t/testing "tokens come before groups"
+ (t/is (= ["zeta" "alpha" "beta"]
+ (sorted-names (tree "alpha.sm" "zeta" "beta.md")))))
+
+ (t/testing "numbers in names sort by value"
+ (t/is (= ["size2" "size10" "group2" "group10"]
+ (sorted-names (tree "size10" "group10.sm" "size2" "group2.sm")))))
+
+ (t/testing "a token that also has tokens below it sorts with the groups"
+ (t/is (= ["md" "space"]
+ (sorted-names (tree "space.sm" "md" "space"))))))
diff --git a/frontend/test/frontend_tests/tokens/tokenscript_test.cljs b/frontend/test/frontend_tests/tokens/tokenscript_test.cljs
index f6c1b8e01d..22ee6bf712 100644
--- a/frontend/test/frontend_tests/tokens/tokenscript_test.cljs
+++ b/frontend/test/frontend_tests/tokens/tokenscript_test.cljs
@@ -85,16 +85,25 @@
(t/is (= {:error/code :error.style-dictionary/invalid-token-value :error/value "{zero} + 1"} (error "ref"))
"a token failing through its reference is an invalid value")))
-;; A token named "a" and a token named "a.b" can coexist: `{a}` resolves
-;; to the token, `{a.b}` to the nested one (#9584).
+;; A token cannot contain tokens: next to a token "a", the tokens "a.b"
+;; and "a.b.c" get a name collision error and `{a.b}` is missing (#9584).
(t/deftest resolve-tokens-name-collision-test
(let [resolved (ts/resolve-tokens
(tokens-map {:name "a" :value "8px" :type :border-radius}
{:name "a.b" :value "12px" :type :border-radius}
- {:name "c" :value "{a} + {a.b}" :type :border-radius}))]
+ {:name "a.b.c" :value "1px" :type :border-radius}
+ {:name "c" :value "{a} + {a.b}" :type :border-radius}))
+ error (fn [name] (select-keys (get-in resolved [name :errors 0]) [:error/code :error/value]))]
(t/is (= 8 (get-in resolved ["a" :resolved-value])))
- (t/is (= 12 (get-in resolved ["a.b" :resolved-value])))
- (t/is (= 20 (get-in resolved ["c" :resolved-value])))))
+ (t/is (nil? (get-in resolved ["a" :errors])))
+ (t/is (nil? (get-in resolved ["a.b" :resolved-value])))
+ (t/is (= {:error/code :error.token/name-collision :error/value "a.b"} (error "a.b")))
+ (t/is (= {:error/code :error.token/name-collision :error/value "a.b.c"} (error "a.b.c")))
+ (t/is (= {:error/code :error.style-dictionary/missing-reference :error/value ["a.b"]} (error "c"))))
+ (t/testing "a new token below an existing one collides"
+ (let [tokens (tokens-map {:name "rad1" :value "8px" :type :border-radius})
+ resolved (ts/resolve-token tokens {:name "rad1.bad" :value "10" :type :border-radius})]
+ (t/is (= :error.token/name-collision (get-in resolved [:errors 0 :error/code]))))))
(t/deftest resolve-tokens-composites-test
(t/testing "typography and shadow tokens resolve field by field"
diff --git a/frontend/test/frontend_tests/tokens/typography_form_test.cljs b/frontend/test/frontend_tests/tokens/typography_form_test.cljs
new file mode 100644
index 0000000000..64cc06be21
--- /dev/null
+++ b/frontend/test/frontend_tests/tokens/typography_form_test.cljs
@@ -0,0 +1,99 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.tokens.typography-form-test
+ (:require
+ [app.common.schema :as sm]
+ [app.common.schema.messages :as csm]
+ [app.common.types.tokens-lib :as ctob]
+ [app.main.data.workspace.tokens.errors :as wte]
+ [app.main.ui.workspace.tokens.management.forms.typography :as wtty]
+ [app.util.i18n :refer [tr]]
+ [beicon.v2.core :as rx]
+ [cljs.test :as t :include-macros true]))
+
+(def ^:private make-schema @#'wtty/make-schema)
+(def ^:private form-value @#'wtty/composite-value->form-value)
+(def ^:private check-self-reference @#'wtty/check-typography-token-self-reference)
+(def ^:private validate-token @#'wtty/validate-typography-token)
+
+(def ^:private token
+ (ctob/make-token :name "type.body" :type :typography :value {:font-size "16"}))
+
+(defn- schema
+ [tab]
+ (make-schema (ctob/get-token-path token)
+ (ctob/tokens-tree {(:name token) token})
+ tab))
+
+(defn- form-data
+ [value]
+ {:name (:name token) :description "" :value value})
+
+(defn- errors
+ [tab data]
+ (csm/collect-schema-errors (schema tab) [] {:data data}))
+
+(defn- valid?
+ [tab data]
+ (sm/validate (schema tab) data))
+
+(t/deftest composite-tab
+ (t/testing "one field is enough"
+ (t/is (valid? :composite (form-data {:font-size "16"}))))
+
+ (t/testing "at least one field must be set"
+ (t/is (not (valid? :composite (form-data {}))))
+ (t/is (not (valid? :composite (form-data {:font-size "" :font-weight ""})))))
+
+ (t/testing "a line height needs a font size"
+ (t/is (= (tr "errors.tokens.composite-line-height-needs-font-size")
+ (get-in (errors :composite (form-data {:line-height "1.5"}))
+ [:value :line-height :message])))
+ (t/is (valid? :composite (form-data {:line-height "1.5" :font-size "16"})))))
+
+(t/deftest reference-tab
+ (t/testing "a reference is required"
+ (t/is (not (valid? :reference (form-data {:reference ""}))))
+ (t/is (valid? :reference (form-data {:reference "{type.heading}"}))))
+
+ (t/testing "the token can't reference itself"
+ (t/is (= (tr "errors.tokens.self-reference")
+ (get-in (errors :reference (form-data {:reference "{type.body}"}))
+ [:value :reference :message])))))
+
+(t/deftest composite-self-reference
+ (let [self-reference (wte/get-error-code :error.token/direct-self-reference)]
+ (t/testing "the error names the field that references the token"
+ (t/is (= (assoc self-reference :typography-key :font-size)
+ (check-self-reference {:name "type.body" :value {:font-size "{type.body}"}}))))
+
+ (t/testing "each font family is checked"
+ (t/is (= (assoc self-reference :typography-key :font-family)
+ (check-self-reference {:name "type.body" :value {:font-family ["Inter" "{type.body}"]}}))))
+
+ (t/testing "references to other tokens pass"
+ (t/is (nil? (check-self-reference {:name "type.body" :value {:font-size "{font.size.md}"}}))))))
+
+(t/deftest submit-without-fields
+ (t/async
+ done
+ (->> (validate-token {:token-name "type.body" :token-value nil :tokens {}})
+ (rx/subs! (fn [_]
+ (t/is false "a token without fields must be rejected, not saved")
+ (done))
+ (fn [error]
+ (t/is (= {:errors [(wte/get-error-code :error.token/empty-input)]} error))
+ (done))))))
+
+(t/deftest initial-form-value
+ (t/testing "font families show as one comma separated field"
+ (t/is (= {:font-family "Inter, Arial" :font-size "16"}
+ (form-value {:font-family ["Inter" "Arial"] :font-size "16"}))))
+
+ (t/testing "only the typography fields are kept"
+ (t/is (= {:line-height "1.5"}
+ (form-value {:line-height "1.5" :paragraph-spacing "4"})))))
diff --git a/frontend/test/frontend_tests/ui/file_restored_modal_test.cljs b/frontend/test/frontend_tests/ui/file_restored_modal_test.cljs
new file mode 100644
index 0000000000..169baa4573
--- /dev/null
+++ b/frontend/test/frontend_tests/ui/file_restored_modal_test.cljs
@@ -0,0 +1,34 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.ui.file-restored-modal-test
+ (:require
+ [app.common.time :as ct]
+ [app.main.ui.workspace.file-restored-modal :as frm]
+ [app.util.i18n :as i18n]
+ [cljs.test :as t :include-macros true]))
+
+(defn- message
+ "The translation key and arguments of the restore message."
+ [fullname label created-at]
+ (with-redefs [i18n/tr (fn ([key] [key]) ([key & args] (into [key] args)))]
+ (#'frm/restored-message fullname label created-at)))
+
+(t/deftest the-message-names-the-version-by-its-label-or-its-date
+ (let [created-at (ct/now)
+ date (ct/format-inst created-at "PPp")]
+ (t/is (= ["workspace.file-restored.message-label" "Ada" "Hand-off v2"]
+ (message "Ada" "Hand-off v2" created-at)))
+ (t/is (= ["workspace.file-restored.message-label-anonymous" "Hand-off v2"]
+ (message nil "Hand-off v2" created-at)))
+ (t/is (= ["workspace.file-restored.message-date" "Ada" date]
+ (message "Ada" nil created-at)))
+ (t/is (= ["workspace.file-restored.message-date-anonymous" date]
+ (message nil nil created-at)))
+ (t/is (= ["workspace.file-restored.message" "Ada"]
+ (message "Ada" nil nil)))
+ (t/is (= ["workspace.file-restored.message-anonymous"]
+ (message nil nil nil)))))
diff --git a/frontend/test/frontend_tests/ui/inspect_geometry_test.cljs b/frontend/test/frontend_tests/ui/inspect_geometry_test.cljs
index 3b9c5879d2..5fc4285da9 100644
--- a/frontend/test/frontend_tests/ui/inspect_geometry_test.cljs
+++ b/frontend/test/frontend_tests/ui/inspect_geometry_test.cljs
@@ -112,3 +112,17 @@
(let [markup (render-panel panel shapes)]
(t/is (str/includes? markup "Border width"))
(t/is (str/includes? markup "3px")))))))
+
+;; Scenario: the selected shape points to a parent missing from the page, as
+;; in a damaged file or while a rejected save is on screen. Proves: the
+;; geometry panels and the code view show the size and leave out the
+;; position, which needs the parent, instead of crashing the workspace.
+(t/deftest geometry-without-a-parent-leaves-out-the-position
+ (let [orphan (assoc (shape :rect per-side-stroke) :parent-id (uuid/next) :frame-id (uuid/next))]
+ (doseq [panel [geometry/geometry-panel* styles-geometry/geometry-panel*]]
+ (let [markup (render-panel panel [orphan])]
+ (t/is (str/includes? markup "120px"))
+ (t/is (not (str/includes? markup "Left")))))
+ (let [code (css/get-shape-properties-css {(:id orphan) orphan} orphan css/shape-css-properties)]
+ (t/is (str/includes? code "width: 120px;"))
+ (t/is (not (str/includes? code "left:"))))))
diff --git a/frontend/test/frontend_tests/ui/team_container_test.cljs b/frontend/test/frontend_tests/ui/team_container_test.cljs
new file mode 100644
index 0000000000..b16d0b089d
--- /dev/null
+++ b/frontend/test/frontend_tests/ui/team_container_test.cljs
@@ -0,0 +1,80 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.ui.team-container-test
+ "`team-container*` renders the same hooks with and without a team id.
+ React throws when the hook count changes between two renders of the
+ same component, so these tests mount it and render it again; the
+ documents come from jsdom since the runner has no DOM."
+ (:require
+ ["jsdom" :refer [JSDOM]]
+ ["react-dom" :as rd]
+ ["react-dom/client" :as rdc]
+ [app.common.uuid :as uuid]
+ [app.main.refs :as refs]
+ [app.main.ui :as ui]
+ [cljs.test :as t :include-macros true]
+ [cuerdas.core :as str]
+ [okulary.core :as l]
+ [rumext.v2 :as mf]))
+
+(def ^:private team-id (uuid/next))
+
+(defn- next-immediate
+ "Resolves after the tasks React's scheduler queued with `setImmediate`
+ so far have run."
+ []
+ (js/Promise. (fn [resolve] (js/setImmediate resolve))))
+
+(defn- ^:async render-with
+ "Mounts `team-container*` once and renders it again with each of
+ `team-ids`, in order. Resolves to the errors React reported and the
+ markup left in the document.
+
+ react-dom reads the global `window` while it renders, and its scheduler
+ does so again on a later turn, so the jsdom one stays installed until
+ the root is unmounted and the scheduler has run.
+
+ The effect is replaced by a hook that does nothing: the real one raises
+ for an invalid id, and what is under test is the render. It must still
+ take a hook slot, because React only compares the hooks of two renders
+ when the first one had any."
+ [team-ids]
+ (let [errors (volatile! [])
+ on-error (fn [error _info] (vswap! errors conj error))
+ window (.-window (JSDOM. "
"))
+ container (.getElementById (.-document window) "root")
+ root (rdc/createRoot container #js {:onUncaughtError on-error
+ :onCaughtError on-error
+ :onRecoverableError on-error})
+ child (mf/html [:span "inside"])
+ previous (.-window js/globalThis)]
+ (set! (.-window js/globalThis) window)
+ (try
+ (with-redefs [refs/team (l/atom {:id team-id :permissions {:can-edit true}})
+ mf/useEffect (fn [_f _deps] (mf/use-ref nil))]
+ (doseq [id team-ids]
+ (rd/flushSync
+ (fn []
+ (.render root (mf/element (deref #'ui/team-container*)
+ #js {:teamId id :children child}))))))
+ (let [markup (.-innerHTML container)]
+ (rd/flushSync #(.unmount root))
+ (await (next-immediate))
+ {:errors @errors
+ :markup markup})
+ (finally
+ (set! (.-window js/globalThis) previous)))))
+
+(t/deftest ^:async team-id-arriving-after-the-first-render-keeps-the-hooks
+ (let [{:keys [errors markup]} (await (render-with [nil team-id]))]
+ (t/is (empty? (map #(.-message %) errors)))
+ (t/is (str/includes? markup "inside"))))
+
+(t/deftest ^:async team-id-leaving-after-the-first-render-keeps-the-hooks
+ (let [{:keys [errors markup]} (await (render-with [team-id nil]))]
+ (t/is (empty? (map #(.-message %) errors)))
+ (t/is (= "" markup))))
diff --git a/frontend/test/frontend_tests/ui/viewport_top_bar_test.cljs b/frontend/test/frontend_tests/ui/viewport_top_bar_test.cljs
new file mode 100644
index 0000000000..b753122243
--- /dev/null
+++ b/frontend/test/frontend_tests/ui/viewport_top_bar_test.cljs
@@ -0,0 +1,58 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.ui.viewport-top-bar-test
+ (:require
+ ["react-dom/server" :as rds]
+ [app.main.refs :as refs]
+ [app.main.ui.workspace.viewport.top-bar :as top-bar]
+ [app.util.i18n :as i18n]
+ [cljs.test :as t :include-macros true]
+ [cuerdas.core :as str]
+ [frontend-tests.helpers.mock :as mock]
+ [okulary.core :as l]
+ [rumext.v2 :as mf]))
+
+(defn- render-bar
+ [state]
+ (let [state (l/atom state)]
+ (with-redefs [refs/persistence (l/derived :persistence state)
+ refs/persistence-lock (l/derived :lock state)
+ refs/render-context-lost? (l/derived :context-lost state)
+ i18n/tr (mock/stub (fn [key] key))]
+ (rds/renderToStaticMarkup (mf/element top-bar/view-only-bar* #js {})))))
+
+(t/deftest a-terminal-save-failure-replaces-the-view-mode-message-and-exit
+ (let [markup (render-bar {:lock {:read-only? false}
+ :persistence {:status :error :error {:type :server-error}}})]
+ (t/is (str/includes? markup "workspace.save-failure.stopped"))
+ (t/is (str/includes? markup "role=\"status\""))
+ (t/is (not (str/includes? markup "workspace.top-bar.view-only")))
+ (t/is (not (str/includes? markup " page :objects (dissoc uuid/zero) keys first)]
+ (initialize page)
+ (t/is (some? (get-stored-shape (:id page) shape-id)))
+ (t/is (nil? (:name (get-stored-shape (:id page) shape-id))))))
+
+(t/deftest update-stores-trimmed-fills
+ (let [page (make-page "Page 1")
+ page-id (:id page)
+ shape-id (-> page :objects (dissoc uuid/zero) keys first)]
+ (initialize page)
+ (update-index page-id [{:type :mod-obj :id shape-id :page-id page-id
+ :operations [{:type :set :attr :fills
+ :val [{:fill-color "#ff0000" :fill-opacity 1}]}]}])
+ (t/is (= [{}] (:fills (get-stored-shape page-id shape-id))))))
+
+(t/deftest update-renaming-a-shape-keeps-the-indexes
+ (let [page (make-page "Page 1")
+ page-id (:id page)
+ shape-id (-> page :objects (dissoc uuid/zero) keys first)]
+ (initialize page)
+ (let [before @idx/state]
+ (update-index page-id [{:type :mod-obj :id shape-id :page-id page-id
+ :operations [{:type :set :attr :name :val "renamed"}]}])
+ (t/is (identical? (::idx/selection before) (::idx/selection @idx/state)))
+ (t/is (identical? (::idx/snap before) (::idx/snap @idx/state))))))
+
+(t/deftest update-skips-changes-the-indexes-do-not-read
+ (let [page (make-page "Page 1")
+ page-id (:id page)
+ shape-id (-> page :objects (dissoc uuid/zero) keys first)]
+ (initialize page)
+ (let [before (get-in @idx/state [:pages-index page-id])]
+ (update-index page-id [{:type :set-plugin-data :object-type :shape
+ :object-id shape-id :page-id page-id
+ :namespace "ns" :key "k" :value "v"}
+ {:type :mod-page :id page-id :page-id page-id :name "Renamed"}])
+ (t/is (= before (get-in @idx/state [:pages-index page-id]))))))
+
+(t/deftest every-change-type-is-replayed-or-skipped
+ (let [known (set/union idx/index-change-types idx/skipped-change-types)]
+ (t/is (= #{} (set/difference (set (keys (methods ch/process-change))) known))
+ "Add the new change type to one set; replaying it may need attributes in `app.worker.trim`")
+ (t/is (= #{} (set/intersection idx/index-change-types idx/skipped-change-types)))))
+
+(t/deftest update-skips-unknown-change-types
+ (let [page (make-page "Page 1")
+ page-id (:id page)
+ shape-id (-> page :objects (dissoc uuid/zero) keys first)]
+ (initialize page)
+ (let [before (get-in @idx/state [:pages-index page-id])]
+ (update-index page-id [{:type :unknown-change :id shape-id :page-id page-id}])
+ (t/is (= before (get-in @idx/state [:pages-index page-id]))))))
diff --git a/frontend/test/frontend_tests/worker/messages_test.cljs b/frontend/test/frontend_tests/worker/messages_test.cljs
new file mode 100644
index 0000000000..91ff4771eb
--- /dev/null
+++ b/frontend/test/frontend_tests/worker/messages_test.cljs
@@ -0,0 +1,32 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.worker.messages-test
+ (:require
+ [app.common.files.builder :as fb]
+ [app.common.types.objects-map :as omap]
+ [app.common.uuid :as uuid]
+ [app.util.object :as obj]
+ [app.worker.messages :as wm]
+ [cljs.test :as t :include-macros true]
+ [clojure.string :as str]))
+
+(defn- make-page
+ []
+ (-> (fb/create-state)
+ (fb/add-file {:name "Test"})
+ (fb/add-page {:name "Page 1"})
+ (fb/add-shape {:type :rect :name "unique-shape-name" :x 0 :y 0 :width 100 :height 100})
+ (fb/get-current-page)))
+
+(t/deftest objects-map-shapes-skip-transit
+ (let [page (update (make-page) :objects omap/wrap)
+ encoded (wm/encode {:sender-id (uuid/next)
+ :payload {:cmd :index/initialize :page page}})]
+ (t/is (not (str/includes? (obj/get encoded "payload") "unique-shape-name")))
+ (t/is (instance? js/Map (obj/get encoded "pageObjects")))
+ (t/is (= (count (:objects page))
+ (.-size (obj/get encoded "pageObjects"))))))
diff --git a/frontend/test/frontend_tests/worker/trim_test.cljs b/frontend/test/frontend_tests/worker/trim_test.cljs
new file mode 100644
index 0000000000..2d6bdb7a64
--- /dev/null
+++ b/frontend/test/frontend_tests/worker/trim_test.cljs
@@ -0,0 +1,316 @@
+;; 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 SUBSIDIARY SL
+
+(ns frontend-tests.worker.trim-test
+ (:require
+ [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.test-helpers.compositions :as tho]
+ [app.common.test-helpers.files :as thf]
+ [app.common.test-helpers.ids-map :as thi]
+ [app.common.test-helpers.shapes :as ths]
+ [app.common.types.objects-map :as omap]
+ [app.common.types.path :as path]
+ [app.common.types.text :as txt]
+ [app.common.uuid :as uuid]
+ [app.worker.selection :as selection]
+ [app.worker.snap :as snap]
+ [app.worker.trim :as trim]
+ [cljs.test :as t :include-macros true]
+ [clojure.set :as set]))
+
+(t/use-fixtures :each thi/test-fixture)
+
+(defn- register-bool
+ "Computes the content of `:bool` from its children."
+ [file]
+ (update file :data ch/process-changes
+ [{:type :reg-objects :page-id (thf/current-page-id file) :shapes [(thi/id :bool)]}]))
+
+(defn- make-file
+ "A component main and copy, a board with a styled group, a text, and a
+ bool of a rounded rect and a path."
+ []
+ (-> (thf/sample-file :file)
+ (tho/add-simple-component-with-copy :component :main-root :main-child :copy-root
+ :copy-root-params {:x 200})
+ (tho/add-frame :board :x 400 :y 0 :width 300 :height 300)
+ (tho/add-group :group :parent-label :board)
+ (tho/add-rect :rect :parent-label :group :x 420 :y 20 :width 50 :height 50
+ :fills (ths/sample-fills-color :fill-color "#ff0000")
+ :strokes [{:stroke-width 4 :stroke-alignment :outer
+ :stroke-color "#000000" :stroke-opacity 1}])
+ (tho/add-text :text "Hello")
+ (ths/add-sample-shape :bool :type :bool :bool-type :union
+ :x 0 :y 400 :width 100 :height 100)
+ (tho/add-rect :rounded :parent-label :bool :x 0 :y 400 :width 60 :height 60
+ :r1 10 :r2 10 :r3 10 :r4 10)
+ (ths/add-sample-shape :path :parent-label :bool :type :path
+ :content (path/content [{:command :move-to :params {:x 30 :y 430}}
+ {:command :line-to :params {:x 100 :y 430}}
+ {:command :line-to :params {:x 100 :y 500}}
+ {:command :close-path :params {}}]))
+ (register-bool)))
+
+(defn- get-page-objects
+ [data page-id]
+ (get-in data [:pages-index page-id :objects]))
+
+(defn- replay-full
+ [data page-id changes]
+ (-> (ch/process-changes data changes false)
+ (get-page-objects page-id)
+ (trim/trim-objects)))
+
+(deftype ReadRecorder [inner dropped-keys reads-ref]
+ ;; A trimmed shape that notes each read of an attribute the trim dropped
+ ;; or reduced; writing an attribute makes later reads of it safe.
+ ILookup
+ (-lookup [this k]
+ (-lookup this k nil))
+ (-lookup [_ k not-found]
+ (when (contains? dropped-keys k)
+ (swap! reads-ref conj k))
+ (get inner k not-found))
+
+ IAssociative
+ (-contains-key? [_ k]
+ (when (contains? dropped-keys k)
+ (swap! reads-ref conj k))
+ (contains? inner k))
+ (-assoc [_ k v]
+ (ReadRecorder. (assoc inner k v) (disj dropped-keys k) reads-ref))
+
+ IMap
+ (-dissoc [_ k]
+ (ReadRecorder. (dissoc inner k) (disj dropped-keys k) reads-ref))
+
+ ICollection
+ (-conj [this entry]
+ (if (vector? entry)
+ (-assoc this (nth entry 0) (nth entry 1))
+ (reduce-kv -assoc this entry)))
+
+ IEmptyableCollection
+ (-empty [_]
+ (empty inner))
+
+ ICounted
+ (-count [_]
+ (count inner))
+
+ ISeqable
+ (-seq [_]
+ (seq inner))
+
+ IKVReduce
+ (-kv-reduce [_ f init]
+ (reduce-kv f init inner))
+
+ IMeta
+ (-meta [_]
+ (meta inner))
+
+ IWithMeta
+ (-with-meta [_ m]
+ (ReadRecorder. (with-meta inner m) dropped-keys reads-ref))
+
+ IEquiv
+ (-equiv [_ other]
+ (= inner (if (instance? ReadRecorder other) (.-inner ^js other) other)))
+
+ IHash
+ (-hash [_]
+ (hash inner))
+
+ IFn
+ (-invoke [this k]
+ (-lookup this k nil))
+ (-invoke [this k not-found]
+ (-lookup this k not-found)))
+
+(defn- record-reads
+ "Wraps each trimmed shape so reads of attributes that differ from the
+ full shape are noted in `reads-ref`."
+ [trimmed-objects full-objects reads-ref]
+ (reduce-kv (fn [objects id shape]
+ (let [full (get full-objects id)
+ dropped (into #{}
+ (filter #(and (some? (get full %))
+ (not= (get full %) (get shape %))))
+ (keys full))]
+ (assoc objects id (ReadRecorder. shape dropped reads-ref))))
+ {}
+ trimmed-objects))
+
+(defn- unwrap-objects
+ [objects]
+ (update-vals objects #(if (instance? ReadRecorder %) (.-inner ^js %) %)))
+
+(defn- replay-trimmed
+ "What the worker does: replay on the trimmed page, then trim the
+ candidate objects again. Reads of trimmed attributes go to `reads-ref`."
+ [data page-id changes reads-ref]
+ (let [page (get-in data [:pages-index page-id])
+ trimmed (trim/trim-page page)
+ old-objects (:objects trimmed)
+ recorded (assoc trimmed :objects (record-reads old-objects (:objects page) reads-ref))
+ new-objects (-> (ch/process-changes {:pages-index {page-id recorded}} changes false)
+ (get-page-objects page-id)
+ (unwrap-objects))
+ ids (ch/get-candidate-object-ids old-objects new-objects page-id changes)]
+ (trim/retrim-objects old-objects new-objects ids)))
+
+(defn- set-attrs-change
+ [page-id id attrs]
+ {:type :mod-obj :id id :page-id page-id
+ :operations (mapv (fn [[attr val]] {:type :set :attr attr :val val}) attrs)})
+
+(defn- move-change
+ [data page-id id delta]
+ (let [shape (get (get-page-objects data page-id) id)]
+ (set-attrs-change page-id id (-> (gsh/move shape delta)
+ (select-keys [:x :y :selrect :points])))))
+
+(defn- get-scenarios
+ [data page-id]
+ (let [objects (get-page-objects data page-id)
+ copy-child (-> objects (get (thi/id :copy-root)) :shapes first)
+ text (get objects (thi/id :text))]
+ {"add a shape into a board"
+ [{:type :add-obj :id (uuid/next) :page-id page-id
+ :parent-id (thi/id :board) :frame-id (thi/id :board)
+ :obj (ths/sample-shape nil :type :rect :name "new" :x 450 :y 50 :width 10 :height 10
+ :frame-id (thi/id :board) :parent-id (thi/id :board))}]
+
+ "rename and recolor a shape"
+ [(set-attrs-change page-id (thi/id :rect)
+ {:name "renamed"
+ :fills (ths/sample-fills-color :fill-color "#00ff00")})]
+
+ "edit a copied child (touched)"
+ [(set-attrs-change page-id copy-child
+ {:fills (ths/sample-fills-color :fill-color "#00ff00")})]
+
+ "change a text"
+ [(set-attrs-change page-id (thi/id :text)
+ {:content (txt/change-text (:content text) "Bye")})]
+
+ "delete a group"
+ [{:type :del-obj :id (thi/id :group) :page-id page-id}]
+
+ "move a group into another board"
+ [{:type :mov-objects :page-id page-id
+ :parent-id (thi/id :main-root) :shapes [(thi/id :group)]}]
+
+ "move a shape into a copy (refused)"
+ [{:type :mov-objects :page-id page-id
+ :parent-id (thi/id :copy-root) :shapes [(thi/id :text)]}]
+
+ "move a child out of a copy (refused)"
+ [{:type :mov-objects :page-id page-id
+ :parent-id uuid/zero :shapes [copy-child]}]
+
+ "move a copy into its main (nesting loop, refused)"
+ [{:type :mov-objects :page-id page-id
+ :parent-id (thi/id :main-root) :shapes [(thi/id :copy-root)]}]
+
+ "reorder the children of a copy (refused)"
+ [{:type :reorder-children :page-id page-id
+ :parent-id (thi/id :copy-root) :shapes (reverse (get-in objects [(thi/id :copy-root) :shapes]))}]
+
+ "move a rect inside a group, then register the group"
+ [(move-change data page-id (thi/id :rect) (gpt/point 30 0))
+ {:type :reg-objects :page-id page-id :shapes [(thi/id :rect)]}]
+
+ "move a rounded rect inside a bool, then register the bool"
+ [(move-change data page-id (thi/id :rounded) (gpt/point 0 -40))
+ {:type :reg-objects :page-id page-id :shapes [(thi/id :rounded)]}]
+
+ "fix the children of a board"
+ [{:type :fix-obj :id (thi/id :board) :page-id page-id}]}))
+
+(t/deftest replay-on-trimmed-page-matches-full-replay
+ (let [file (make-file)
+ data (:data file)
+ page-id (thf/current-page-id file)]
+ (doseq [[label changes] (get-scenarios data page-id)]
+ (t/testing label
+ (t/is (= (replay-full data page-id changes)
+ (replay-trimmed data page-id changes (atom #{}))))))))
+
+;; The touched pass looks for the component root, which only edits the
+;; file's components; the worker has none.
+(def ^:private touched-pass-reads #{:component-root :main-instance})
+
+(defn- get-set-attrs
+ "Attributes the `:mod-obj` changes set; `set-shape-attr` reads their old
+ value only to update `:touched`, which the trim drops."
+ [changes]
+ (into #{}
+ (comp (filter #(= :mod-obj (:type %)))
+ (mapcat :operations)
+ (keep :attr))
+ changes))
+
+(t/deftest replay-on-trimmed-page-reads-only-kept-attributes
+ (let [file (make-file)
+ data (:data file)
+ page-id (thf/current-page-id file)]
+ (doseq [[label changes] (get-scenarios data page-id)]
+ (t/testing label
+ (let [reads (atom #{})]
+ (replay-trimmed data page-id changes reads)
+ (t/is (= #{} (set/difference @reads touched-pass-reads (get-set-attrs changes)))))))))
+
+(t/deftest trim-keeps-only-what-the-worker-reads
+ (let [file (make-file)
+ page (thf/current-page file)
+ objects (trim/trim-objects (:objects page))]
+ (t/testing "fills only tell whether there are any"
+ (t/is (= [{}] (get-in objects [(thi/id :rect) :fills]))))
+ (t/testing "strokes keep width and alignment"
+ (t/is (= [{:stroke-width 4 :stroke-alignment :outer}]
+ (get-in objects [(thi/id :rect) :strokes]))))
+ (t/testing "names and text content are dropped"
+ (t/is (nil? (get-in objects [(thi/id :rect) :name])))
+ (t/is (nil? (get-in objects [(thi/id :text) :content]))))
+ (t/testing "path content is kept"
+ (t/is (some? (get-in objects [(thi/id :path) :content]))))))
+
+(t/deftest trim-reads-objects-maps
+ (let [file (make-file)
+ objects (:objects (thf/current-page file))]
+ (t/is (= (trim/trim-objects objects)
+ (trim/trim-objects (omap/wrap objects))))))
+
+(t/deftest indexes-answer-the-same-on-a-trimmed-page
+ (let [file (make-file)
+ page (thf/current-page file)
+ page-id (:id page)
+ full {:selection (selection/add-page {} page)
+ :snap (snap/add-page {} page)}
+ trimmed (let [page (trim/trim-page page)]
+ {:selection (selection/add-page {} page)
+ :snap (snap/add-page {} page)})
+ rects [(grc/make-rect 0 0 1000 1000)
+ (grc/make-rect 440 40 1 1)
+ (grc/make-rect 420 20 1 1)
+ (grc/make-rect 90 420 1 1)
+ (grc/make-rect 10 480 1 1)]]
+ (doseq [rect rects
+ opts [{} {:full-frame? true} {:include-frames? true :using-selrect? true}]]
+ (t/testing (str "selection " rect " " opts)
+ (let [query (merge {:page-id page-id :rect rect} opts)]
+ (t/is (= (selection/query (:selection full) query)
+ (selection/query (:selection trimmed) query))))))
+ (doseq [frame-id [uuid/zero (thi/id :board)]
+ axis [:x :y]]
+ (t/testing (str "snap " frame-id " " axis)
+ (t/is (= (snap/query (:snap full) page-id frame-id axis [0 1000])
+ (snap/query (:snap trimmed) page-id frame-id axis [0 1000])))))))
diff --git a/frontend/test/frontend_tests/worker_snap_test.cljs b/frontend/test/frontend_tests/worker_snap_test.cljs
index c6b1f38a41..2043bebe5c 100644
--- a/frontend/test/frontend_tests/worker_snap_test.cljs
+++ b/frontend/test/frontend_tests/worker_snap_test.cljs
@@ -11,10 +11,16 @@
[app.common.uuid :as uuid]
[app.worker.snap :as snap]
[cljs.pprint :refer [pprint]]
- [cljs.test :as t :include-macros true]))
+ [cljs.test :as t :include-macros true]
+ [clojure.set :as set]))
(def uuid-counter 1)
+(defn- get-object-ids
+ [old-page new-page]
+ (set/union (set (keys (:objects old-page)))
+ (set (keys (:objects new-page)))))
+
(defn get-mocked-uuid
[]
(let [counter (atom 0)]
@@ -207,7 +213,7 @@
(fb/delete-shape shape-id))
new-page (fb/get-current-page state)
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-x (snap/query data (:id page) uuid/zero :x [0 100])
result-y (snap/query data (:id page) uuid/zero :y [0 100])]
@@ -237,7 +243,7 @@
state (fb/delete-shape state shape-id)
new-page (fb/get-current-page state)
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-x (snap/query data (:id page) uuid/zero :x [0 100])
result-y (snap/query data (:id page) uuid/zero :y [0 100])]
@@ -269,7 +275,7 @@
state (fb/delete-shape state shape-id)
new-page (fb/get-current-page state)
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x (snap/query data (:id page) uuid/zero :x [0 100])
result-frame-x (snap/query data (:id page) frame-id :x [0 100])]
@@ -297,7 +303,7 @@
new-page (-> (fb/delete-guide state guide-id)
(fb/get-current-page))
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x (snap/query data (:id page) uuid/zero :x [0 100])
result-zero-y (snap/query data (:id page) uuid/zero :y [0 100])
@@ -330,7 +336,7 @@
new-page (-> (fb/delete-guide file guide-id)
(fb/get-current-page))
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x (snap/query data (:id page) uuid/zero :x [0 100])
result-zero-y (snap/query data (:id page) uuid/zero :y [0 100])
@@ -370,7 +376,7 @@
new-page (fb/get-current-page state)
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x-1 (snap/query data (:id page) uuid/zero :x [0 100])
result-frame-x-1 (snap/query data (:id page) frame-id :x [0 100])
@@ -408,7 +414,7 @@
new-page (fb/get-current-page state)
;; FIXME: update
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x-1 (snap/query data (:id page) uuid/zero :x [0 100])
result-zero-x-2 (snap/query data (:id page) uuid/zero :x [200 300])]
@@ -437,7 +443,7 @@
new-page (-> (fb/update-guide state (assoc guide :position 150))
(fb/get-current-page))
- data (snap/update-page data page new-page)
+ data (snap/update-page data page new-page (get-object-ids page new-page))
result-zero-x-1 (snap/query data (:id page) uuid/zero :x [0 100])
result-zero-y-1 (snap/query data (:id page) uuid/zero :y [0 100])
diff --git a/frontend/text-editor/package.json b/frontend/text-editor/package.json
index 45fc013e71..34e6dcb63f 100644
--- a/frontend/text-editor/package.json
+++ b/frontend/text-editor/package.json
@@ -28,5 +28,5 @@
"vite": "^8.2.0",
"vitest": "^5.0.2"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/frontend/translations/af.po b/frontend/translations/af.po
index 23e462f76f..7083eb6697 100644
--- a/frontend/translations/af.po
+++ b/frontend/translations/af.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Reeds 'n rekening?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Wagwoord vergeet?"
@@ -37,27 +37,27 @@ msgstr "Wagwoord vergeet?"
msgid "auth.fullname"
msgstr "Volle naam"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Meld hier aan"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Wagwoordherwinningskakel na jou inkassie gestuur."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Het suksesvol by die span aangesluit"
@@ -111,11 +111,11 @@ msgstr "Wagwoord vergeet?"
msgid "auth.recovery-submit"
msgstr "Verander jou wagwoord"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Nog nie 'n rekening nie?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Skep 'n rekening"
@@ -123,111 +123,111 @@ msgstr "Skep 'n rekening"
msgid "auth.register-title"
msgstr "Skep 'n rekening"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Diensbepalings"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publiseer"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Alle Penpot-gebruikers"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Is jy seker jy wil hierdie skakel verwyder? As jy dit doen, is dit nie meer "
"vir enigiemand beskikbaar nie"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(huidige)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Vernietig skakel"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Kry skakel"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Skakel suksesvol gekopieer"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Bestuur toestemmings"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "bladsy gedeel"
msgstr[1] "%s bladsye gedeel"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Kan kommentaar lewer"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kan kode inspekteer"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Enigiemand met skakel sal toegang hê"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Bladsye gedeel"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Deelbare skakel sal hier verskyn"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Slegs spanlede"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Deel prototipes"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Kies Alles"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Depubliseer"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Spanbestuur"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot is bedoel vir spanne. Nooi lede om saam te werk aan projekte en lêers"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Span saam!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Voeg by as Gedeelde Biblioteek"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Verander e-pos"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopieer)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Skep 'n nuwe span"
@@ -235,11 +235,11 @@ msgstr "Skep 'n nuwe span"
msgid "dashboard.default-team-name"
msgstr "Jou Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Verwyder span"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Laai Penpot-lêer (.penpot) af"
@@ -255,11 +255,11 @@ msgstr "Dupliseer %s lêers"
msgid "dashboard.export-binary-multi"
msgstr "Laai %s Penpot lêers (.penpot) af"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Voer borde as PDF uit"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Voer as PDF uit"
diff --git a/frontend/translations/ar.po b/frontend/translations/ar.po
index 0b07c80ca7..7eb87b17ce 100644
--- a/frontend/translations/ar.po
+++ b/frontend/translations/ar.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Amine Gdoura \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Arabic "
" \n"
"Language: ar\n"
@@ -10,9 +10,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "هل لديك حساب؟"
@@ -32,7 +32,7 @@ msgstr "أنشئ حساب تجريبي"
msgid "auth.demo-warning"
msgstr "هذه خدمة تجريبية، لا تستخدمها للعمل الحقيقي، ستُمسح المشاريع بشكل دوري."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "أنسيت كلمة السر؟"
@@ -40,35 +40,35 @@ msgstr "أنسيت كلمة السر؟"
msgid "auth.fullname"
msgstr "الاسم الكامل"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "لِج إلى حسابي"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "لِج هنا."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot هو أداة تصميم مجانية ومفتوحة المصدر للتعاون بين التصميم والبرمجة"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "Github"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "جوجل"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -88,7 +88,7 @@ msgstr "الملف التعريف غير موثّق، يُرجى توثيق ال
msgid "auth.notifications.recovery-token-sent"
msgstr "أُرسل رابط استعادة كلمة السر إلى بريدك الوارد."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "انضممت إلى الفريق بنجاح"
@@ -120,11 +120,11 @@ msgstr "أنسيت كلمة السر؟"
msgid "auth.recovery-submit"
msgstr "غيّر كلمة سرك"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "لا تملك حساب بعد؟"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "أنشئ حساب"
@@ -132,43 +132,43 @@ msgstr "أنشئ حساب"
msgid "auth.register-title"
msgstr "أنشئ حساب"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "شروط الخدمة"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "انشر"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "جميع مستخدمي Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "أمتأكد أنك تريد إزالة هذا الرابط؟ إذا فعلت ذلك، فلن يكون متاحًا لأي شخص"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(الحالي)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "أتلف الرابط"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "احصل على الرابط"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "نُسخ الرابط بنجاح"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "أدر الأذونات"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "لم يتم مشاركة الصفحة"
@@ -178,67 +178,67 @@ msgstr[3] "مشاركة صفحات"
msgstr[4] "مشاركة صفحة"
msgstr[5] "مشاركة صفحة"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "يمكن التعليق"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "يمكن فحص الرمز"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "أي شخص لديه الرابط سيكون لديه حق الوصول"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "الصفحات المشتركة"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "سيظهر الرابط القابل للمشاركة هنا"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "أعضاء الفريق فقط"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "شارك النماذج"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "حدّد الكل"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "ألغِ النشر"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "إدارة الفريق"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot صُمّم للفِرق. أدعُ زملاءك للعمل سوياَ على المشاريع والملفات"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "إعمل فريق!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "أضف كمكتبة مشتركة"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "غيّر البريد الإلكتروني"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(نسخ)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "أنشئ فريق جديد"
@@ -246,11 +246,11 @@ msgstr "أنشئ فريق جديد"
msgid "dashboard.default-team-name"
msgstr "Penpot الخاص بك"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "حذف الفريق"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "تنزيل ملف Penpot (.penpot)"
@@ -270,53 +270,53 @@ msgstr "أنشئ ملف جديد"
msgid "dashboard.export-binary-multi"
msgstr "تنزيل ملفات ٪s Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "صدّر اللوحات ك PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "صدّر ك PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s من %s عناصر محدّدة"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "صدّر"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"يمكنك إضافة إعدادات التصدير إلى العناصر من خصائص التصميم (أسفل الشريط "
"الجانبي الأيمن)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "معلومات عن كيفية إعداد التصديرات في Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "لا يوجد عناصر بإعدادت التصدير."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "صدّر التحديد"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "خط مفقود"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "أهمِل الكل"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "ستظهر الخطوط المخصّصة التي ترفعها هنا."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "لم يتم إضافة أي خط"
@@ -326,7 +326,7 @@ msgstr[3] "عدد قليل من الخطوط المضافة"
msgstr[4] "تمت إضافة العديد من الخطوط"
msgstr[5] ""
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -335,7 +335,7 @@ msgstr ""
"عائلة الخطوط على أنها **عائلة خط واحدة **. يمكنك رفع الخطوط بالتنسيقات "
"التالية: **TTF و OTF و WOFF** (ستحتاج إلى واحد فقط)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -343,11 +343,11 @@ msgstr ""
"اكتشف المزيد في قسم حقوق المحتوى في [شروط خدمة Penpot](%s). قد ترغب أيضًا "
"في القراءة عن [ترخيص الخطوط](https://www.typography.com/faq).."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "ارفع الكل"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -357,71 +357,43 @@ msgstr ""
"باستخدام [Transfonter](https://transfonter.org/) لإنشاء خطوط الويب وإصلاح "
"الأخطاء. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "استورد ملفات Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "عذراً! لم نتمكن من استيراد هذا الملف"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s ملف تم ادراجهم بنجاح."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "احتوت بعض الملفات على كائنات غير صالحة أُزيلت."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "معالجة الألوان"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "معالجة المكوّنات"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "معالجة الوسائط"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "معالجة الصفحة: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "معالجة الخطوط"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "يرفع البيانات للخادم (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "يرفع الملف: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "ادعُ الناس"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "غادر الفريق"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "المكتبات والقوالب"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "استكشف المزيد منهم وتعلم كيف تساهم"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "حدثت مشكلة أثناء استيراد القالب. لم يتم استيراد القالب."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "المكتبات"
@@ -429,7 +401,7 @@ msgstr "المكتبات"
msgid "dashboard.loading-files"
msgstr "جارِ تحميل ملفاتك …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "جارِ تحميل خطوطك …"
@@ -445,35 +417,35 @@ msgstr "انقل %s ملف إلى"
msgid "dashboard.move-to-other-team"
msgstr "انقل إلى فريق آخر"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ ملف جديد"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "ملف جديد"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ مشروع جديد"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "مشروع جديد"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "لم يتم العثور على مطابقات ل \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "ستظهر المشاريع المثبتة هنا"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "حُدّث عنوان بريدك الإلكتروني بنجاح"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "تحققَ من عنوان بريدك الإلكتروني بنجاح"
@@ -481,7 +453,7 @@ msgstr "تحققَ من عنوان بريدك الإلكتروني بنجاح"
msgid "dashboard.notifications.password-saved"
msgstr "حُفظت كلمة السر بنجاح!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s الأعضاء"
@@ -489,7 +461,7 @@ msgstr "%s الأعضاء"
msgid "dashboard.open-in-new-tab"
msgstr "افتح الملف في لسان جديد"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "الخيارات"
@@ -497,39 +469,39 @@ msgstr "الخيارات"
msgid "dashboard.password-change"
msgstr "غيّر كلمة السر"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "ثبت/ألغِ التثبيت"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "المشاريع"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "أتريد إزالة حسابك؟"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "احفظ الإعدادات"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "ابحث…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "البحث عن \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "حدّد لغة واجهة المستخدم"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "حدّد نَسقا"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "أظهر كل الملفات"
@@ -549,7 +521,7 @@ msgstr "تم تكرار ملفك بنجاح"
msgid "dashboard.success-duplicate-project"
msgstr "كُرّر مشروعك بنجاح"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "نُقل ملفك بنجاح"
@@ -561,63 +533,63 @@ msgstr "نُقلت الملفات بنجاح"
msgid "dashboard.success-move-project"
msgstr "نُقل مشروعك بنجاح"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "معلومات الفريق"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "أعضاء الفريق"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "مشاريع الفريق"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "نسق واجهة المستخدم"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "نتائج البحث"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "اكتب لإظهار نتائج البحث"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "ألغِ نشر المكتبة"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "حدّث الإعدادات"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "نشط"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "عندما يتم تشغيل هذا الخطاف، سيتم تسليم تفاصيل الحدث"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "نوع المحتوى"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "أنشئ webhook"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "حسابك"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "البريد الالكتروني"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "اسمك"
@@ -633,7 +605,7 @@ msgstr "انتباه"
msgid "ds.component-subtitle"
msgstr "مكوّنات لتحدّثها:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "ألغِ"
@@ -649,27 +621,27 @@ msgstr "هل أنت متأكد؟"
msgid "errors.auth-provider-not-configured"
msgstr "موفّر الاستيثاق غير مضبط."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "يبدوا أنك غير مُستوثق أو أن الجلسة انتهت."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "تعذر تحميل الخط %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "تعذر تحميل الخطوط %s"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "لا يمكن للمتصفح إجراء هذه العملية"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "البريد الإلكتروني مستخدم بالفعل"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "تحققَ من صحة البريد الإلكتروني بالفعل."
@@ -677,25 +649,25 @@ msgstr "تحققَ من صحة البريد الإلكتروني بالفعل."
msgid "errors.email-as-password"
msgstr "لا يمكن لكلمة السر أن تكون بريدك الإلكتروني"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "يحتوي البريد الإلكتروني «%s» على العديد من تقارير الارتداد الدائم."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "بُلّغ عن البريد الإلكتروني «%s» كبريد عشوائي أو مرتد بشكل دائم."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"يبدو أنك تفتح ملفًا فُعّل الميزة \"%s\" فيه ولكن الواجهة الأمامية لـ penpot "
"لا تدعمه أو عُطّل."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "الميزة '%s' غير مدعومة."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "حدث خطأ ما."
@@ -707,7 +679,7 @@ msgstr "لون غير صالح"
msgid "errors.invalid-email"
msgstr "أدخل بريدًا إلكترونيًا صالحًا من فضلك"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "يجب أن يتطابق البريد الإلكتروني للتأكيد"
@@ -739,7 +711,7 @@ msgstr "يبدو أن محتويات الصورة لا تتطابق مع امت
msgid "errors.media-type-not-allowed"
msgstr "يبدو أن هذه ليست صورة صالحة."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"يحتوي الملف الشخصي الذي تدعوه على رسائل بريد إلكتروني مكتومة (تقارير البريد "
@@ -757,7 +729,7 @@ msgstr "يجب ألا تقل كلمة السر عن 8 أحرف"
msgid "errors.profile-blocked"
msgstr "هذا الملف الشخصي محظور"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"يحتوي ملفك الشخصي على رسائل بريد إلكتروني مكتومة (تقارير البريد المزعجة أو "
@@ -767,15 +739,15 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "التسجيل مُعطّل حاليًا."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "أعضاء غير كافيين لمغادرة الفريق، ربما تريد حذفه."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "العضو الذي تحاول تعيينه غير موجود."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "لا يمكن للمالك مغادرة الفريق ، يجب إعادة تعيين دور المالك."
@@ -783,27 +755,27 @@ msgstr "لا يمكن للمالك مغادرة الفريق ، يجب إعاد
msgid "errors.unexpected-error"
msgstr "حدث خطأ غير متوقع."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "رمز غير معروف"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "خطأ في الاتصال ، عنوان إلكتروني لا يمكن الوصول إليه"
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "آخر تسليم لم يكن ناجحًا."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "نفذ الوقت"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "خطأ غير متوقع في التحقق"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "حالة غير متوقعة٪ s"
@@ -819,11 +791,11 @@ msgstr "كلمة السر القديمة غير صحيحة"
msgid "feedback.description"
msgstr "وصف"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "يسعدنا وجودك هنا. إذا كنت بحاجة إلى مساعدة، يرجى البحث أولا قبل النشر."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "مجتمع Penpot"
@@ -837,11 +809,11 @@ msgstr ""
"يرجى وصف سبب بريدك الإلكتروني ، وتحديد ما إذا كانت مشكلة أم فكرة أم شك. "
"سيرد أحد أعضاء فريقنا في أسرع وقت ممكن."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "هنا للمساعدة في استفساراتك التقنية."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "رد عنوان تويتر"
@@ -877,39 +849,27 @@ msgstr "ظلل"
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 "خارج"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "صياغة الحروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "عائلة الخط"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "حجم الخط"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "نوع الخط"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "تباعد الحروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "ارتفاع الخط"
@@ -921,11 +881,11 @@ msgstr "لا شئ"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "مسطر"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "حالة العنوان"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "أحرف صغيرة"
@@ -933,7 +893,7 @@ msgstr "أحرف صغيرة"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "لا شئ"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "الأحرف الكبيرة"
@@ -989,23 +949,23 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "نص"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "الاختصارات"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "إقبل"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "إضافة خط مخصص"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "مشرف"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "الكل"
@@ -1013,25 +973,25 @@ msgstr "الكل"
msgid "labels.and"
msgstr "و"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "العودة"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"يبدو أنك بحاجة إلى الانتظار قليلا وإعادة المحاولة. نحن نقوم بصيانة صغيرة "
"لخوادمنا."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "مدخل خاطأ"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "ألغِ"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "غلق"
@@ -1039,11 +999,11 @@ msgstr "غلق"
msgid "labels.code"
msgstr "شفرة"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "تعليقات"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "مجتمع"
@@ -1051,31 +1011,31 @@ msgstr "مجتمع"
msgid "labels.confirm-password"
msgstr "أكّد كلمة السر"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "استمر"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "يمكنك المتابعة مع حساب Penpot"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "أنشئ"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "أنشئ فريق جديد"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "أدخل اسم الفريق الجديد"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "لوحة التحكم"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "حذف"
@@ -1087,7 +1047,7 @@ msgstr "حذف التعليق"
msgid "labels.delete-comment-thread"
msgstr "حذف موضوع"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "حذف الدعوة"
@@ -1095,23 +1055,23 @@ msgstr "حذف الدعوة"
msgid "labels.delete-multi-files"
msgstr "حذف %s ملفات"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "المسودات"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "تعديل"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "محرر"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "منتهي الصلاحية"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "استخراج"
@@ -1123,35 +1083,35 @@ msgstr "تعطيل الملاحظات"
msgid "labels.feedback-sent"
msgstr "تم إرسال الملاحظات"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "عائلة الخط"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "الأنماط"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "الخطوط"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "مستودع Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "إعطاء ملاحظات"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "الرجوع للخلف"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "مركز المساعدة"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "إخفاء التعليقات التي تم حلها"
@@ -1159,39 +1119,39 @@ msgstr "إخفاء التعليقات التي تم حلها"
msgid "labels.info"
msgstr "معلومات"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "الخطوط المتوفرة"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "خطأ داخلي"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "الدعوات"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "اللغة"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "المكتبات والقوالب"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "تسجيل الدخول أو الاشتراك"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "تسجيل خروج"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "عضو"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "الأعضاء"
@@ -1199,19 +1159,19 @@ msgstr "الأعضاء"
msgid "labels.new-password"
msgstr "كلمة سر جديدة"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "ليس لديك أي إشعارات تعليق معلقة"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "لا توجد دعوات."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "عفواً!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "0 ملف"
@@ -1221,7 +1181,7 @@ msgstr[3] "قليل"
msgstr[4] "كثير"
msgstr[5] "غير ذلك"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "0"
@@ -1231,7 +1191,7 @@ msgstr[3] "بعض"
msgstr[4] "العديد"
msgstr[5] "غير ذلك"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "0"
@@ -1245,131 +1205,131 @@ msgstr[5] "غير ذلك"
msgid "labels.old-password"
msgstr "كلمة السر القديمة"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "مالك"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "كلمة السر"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "قيد الانتظار"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "الملف الشخصي"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "المشاريع"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "ملاحظات الإصدار"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "إزالة"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "إزالة العضو"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "اعاده تسميه"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "إعادة تسمية الفريق"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "إعادة إرسال الدعوة"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "أعد المحاولة"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "دور"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "حفظ"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "البحث عن الخط"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "ارسل"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "ارسال…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "نحن في صيانة مبرمجة لأنظمتنا."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "الخدمة غير متوفرة"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "إعدادات"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "المكتبات المشتركة"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "إظهار كافة التعليقات"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "قائمة التعليقات"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "إظهار تعليقاتك فقط"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "الحالة"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "الدروس"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "تحديث"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "تحديث الفريق"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "رفع"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "تحميل الخطوط المخصصة"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "جارٍ الرفع …"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "مشاهد"
@@ -1377,11 +1337,11 @@ msgstr "مشاهد"
msgid "labels.write-new-comment"
msgstr "كتابة تعليق جديد"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(أنت)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "حسابك"
@@ -1403,43 +1363,43 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "إضافة “%s” كمكتبة مشتركة"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "دفعة كبيرة"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "تحقق من البريد الإلكتروني الجديد"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "سنرسل لك رسالة إلى بريدك الإلكتروني الحالي “%s” للتحقق من هويتك."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "بريد إلكتروني جديد"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "تغيير البريد الإلكتروني"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "تغيير بريدك الإلكتروني"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "ألغِ واحتفظ بحسابي"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "نعم، احذف حسابي"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "بحذف حسابك، ستفقد جميع مشاريعك وأرشيفاتك الحالية."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "هل انت متأكد انك تريد حذف حسابك؟"
@@ -1481,27 +1441,27 @@ msgstr "هل تريد بالتأكيد حذف %s من الملفات؟"
msgid "modals.delete-file-multi-confirm.title"
msgstr "حذف %s الملفات"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "هل أنت متأكد أنك تريد حذف نمط هذا الخط؟ لن يُحمل إذا استُخدم في ملف."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "حذف نمط الخط"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "هل أنت متأكد أنك تريد حذف هذا الخط؟ لن يُحمل إذا استُخدم في ملف."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "حذف الخط"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "هل أنت متأكد أنك تريد حذف هذه الصفحة؟"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "احذف الصفحة"
@@ -1531,99 +1491,99 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "حذف الفريق"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "احذف العضو"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "هل أنت متأكد أنك تريد حذف هذا العضو من الفريق؟"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "احذف عضو الفريق"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "أرسال دعوة"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "رسائل البريد الإلكتروني، مفصولة بفواصل"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "ادعُ الأعضاء إلى الفريق"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "نظرًا لأنك العضو الوحيد في هذا الفريق ، فسيتم حذف الفريق مع مشاريعه وملفاته."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "هل أنت متأكد أنك تريد مغادرة فريق %s؟"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"لا يمكنك مغادرة الفريق إذا لم يكن هناك عضو آخر للترقية إلى المالك. قد ترغب "
"في حذف الفريق."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "أنت %s المالك."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "رقِ وغادر"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "حدّد عضوًا للترقية"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "قبل مغادرتك"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "غادر الفريق"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "هل أنت متأكد أنك تريد مغادرة هذا الفريق؟"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "مغادرة الفريق"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "كمية الدفع"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "انقل الملكية"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"إذا نقلت الملكية، فستتغير دورك إلى المسؤول، وستفقد بعض الأذونات المتعلقة "
"بهذا الفريق. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "هل أنت متأكد أنك تريد ترقية هذا المستخدم إلى مالك؟"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "مالك الفريق الجديد"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "دفعة صغيرة"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgstr "إلغاء النشر"
@@ -1645,19 +1605,19 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "حدّث المكوّن في المكتبة المشتركة"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "أُرسلت الدعوة بنجاح"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "لا يمكنك حذف ملف تعريفك، أعد تعيين فرقك قبل المتابعة."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "حُفظ ملف التعريف بنجاح!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "أُرسل رسالة التحقق إلى %s. راجع بريدك الالكتروني!"
@@ -1669,11 +1629,11 @@ msgstr "مرحبًا بك في Penpot!"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "بعد تسمية فريقك، ستتمكن من دعوة الأشخاص للانضمام."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "ادعُ أعضاء"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "دعوة مع الدور:"
@@ -1719,79 +1679,79 @@ msgstr "ابدأ التصميم"
msgid "profile.recovery.go-to-login"
msgstr "اذهب إلى الولوج"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "مُختلط"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "تعليقات"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "محاذاة لأسفل"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "محاذاة المركز أفقيًا"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "محاذاة اليسار"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "محاذاة اليمين"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "محاذاة الأعلى"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "محاذاة المركز عموديًا"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "أنشئ لوحة من التحديد"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "فرق منطقي"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "استبعاد منطقي"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "تقاطع منطقي"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "الاتحاد المنطقي"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "أرسل إلى الخلف"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "إرسال إلى الوراء"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "ثابر للأمام"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "أحضر إلى الأمام"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "مسح التراجع"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "نسخ"
@@ -1799,35 +1759,35 @@ msgstr "نسخ"
msgid "shortcuts.create-new-project"
msgstr "أضف جديد"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "قطع"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "تصغير"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "حذف"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "حذف العقدة"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "فصل المكوّن"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "منحنى"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "الشكل البيضاوي"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "لوحة"
@@ -1835,39 +1795,39 @@ msgstr "لوحة"
msgid "shortcuts.draw-nodes"
msgstr "أرسم المسار"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "المسار"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "مستطيل"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "نص"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "كرر"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "ألغِ"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "تصدير الأشكال"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "تكبير لتناسب الجميع"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "قلب أفقيًا"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "قلب عموديًا"
@@ -1883,63 +1843,63 @@ msgstr "إذهب إلى المكتبات المشتركة"
msgid "shortcuts.go-to-search"
msgstr "بحث"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "مجموعة"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "وزع أفقيًا"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "إظهار / إخفاء واجهة المستخدم"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "تكبير"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "إدراج صورة"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "ربط العقد"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "إصنع زاوية"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "إصنع منحنى"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "قناع"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "دمج العقد"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "تحرك"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "تحرك بسرعة لأسفل"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "تحرك يسارا بسرعة"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "تحرك يميناً بسرعة"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "تحرك للأعلى بسرعة"
@@ -1947,173 +1907,173 @@ msgstr "تحرك للأعلى بسرعة"
msgid "shortcuts.move-nodes"
msgstr "نقل العقدة"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "تحرك لأسفل"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "تحرك يساراً"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "تحرك يميناً"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "تحرك للأعلى"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "اللوحة التالية"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "لا يوجد إختصارات"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "ضبط التعتيم على 100٪"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "اضبط التعتيم على 10٪"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "اضبط التعتيم على 20٪"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "اضبط التعتيم على 30٪"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "اضبط التعتيم على 40٪"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "اضبط التعتيم على 50٪"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "اضبط التعتيم على 60٪"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "اضبط التعتيم على 70٪"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "اضبط التعتيم على 80٪"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "اضبط التعتيم على 90٪"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "أداة انتقاء اللون"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "اذهب إلى لوحة المعلومات"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "الأساسيات"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "لوحة القيادة"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "مشاهد"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "مساحة العمل"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "محاذاة"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "عام"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "القائمة الرئيسية"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "تعديل الطبقات"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "التنقل"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "التنقل"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "التنقل"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "اللوحات"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "مسارات"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "الأشكال"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "أدوات"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "تكبير"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "تكبير"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "تبديل الطبقات"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "أضف\\أزل ثني التخطيط"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "قفل\\فتح"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "قفل النسب"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "تبديل لوحة النص"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "أظهر\\أخف"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "تبديل أسلوب التكبير"
@@ -2121,67 +2081,67 @@ msgstr "تبديل أسلوب التكبير"
msgid "shortcuts.underline"
msgstr "الخط التحتي"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "تراجع"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "فك التجميع"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "ألغِ القناع"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "النشر عموديا"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "تنقيص عدسة التكبير"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "زيادة عدسة التكبير"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "كبر المحدد"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "مزودي الخط - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "الخطوط - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "المشاريع - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "البحث - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "المكاتب المشتركة - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - صمّم حرية للفرق"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "أرسل انطباعك - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "إعدادات - Penpot"
@@ -2189,27 +2149,27 @@ msgstr "إعدادات - Penpot"
msgid "title.settings.password"
msgstr "كلمة السر - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "ملف التعريف - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "الدعوات - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "الأعضاء - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "إعدادات - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "خطافات الويب - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - وضع العرض - Penpot"
@@ -2217,103 +2177,103 @@ msgstr "%s - وضع العرض - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "لم يُعثر على لوحات في الصفحة."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "لم يُعثر على لوحة."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "التعليقات (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "لا تطهر التفاعلات"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "تكبير الشاشة"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "التفحص (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "التفاعلات"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "التفاعلات (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "نسخ الرابط"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "أطهر التفاعلات بالنقر"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "أطهر التفاعلات بالنقر"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "خريطة الموقع"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "محاذاة المركز الأفقي"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "محاذاة المركز الأفقي (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "توزيع المسافات الأفقية (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "محاذاة للشمال (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "محاذاة لليمين (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "محاذاة للأسفل (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "محاذاة للمركز العمودي (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "توزيع التباعد الرئسي (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "محاذاة لأعلى (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "أضف مكتبة"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "كل الأصول"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "الألوان"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "عناصر"
@@ -2321,15 +2281,15 @@ msgstr "عناصر"
msgid "workspace.assets.create-group"
msgstr "أنشئ مجموعة"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "ستُسمى عناصرك تلقائيًا ك \"اسم مجموعة / اسم عنصر\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "امسح"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "انسخ"
@@ -2337,27 +2297,27 @@ msgstr "انسخ"
msgid "workspace.assets.duplicate-main"
msgstr "انسخ الأصل"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "عدّل"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "مجموعة"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "اسم المجموعة"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "مكتبة محلية"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "أدر المكتبة"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "لا يوجد أصول"
@@ -2365,7 +2325,7 @@ msgstr "لا يوجد أصول"
msgid "workspace.assets.open-library"
msgstr "افتح ملف المكتبة"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "أعد التسمية"
@@ -2373,43 +2333,43 @@ msgstr "أعد التسمية"
msgid "workspace.assets.rename-group"
msgstr "أعد تسمية المجموعة"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "ابحث عن أصول"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "مكتبة مشتركة"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "الطباعة"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "الحجم"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "اسلوب الخط"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "اذهب إلى تحرير نوع ملف المكتبة"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "تباعد الحروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "طول الخط"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "أسلوب خط النص"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "تحويل النص"
@@ -2417,23 +2377,23 @@ msgstr "تحويل النص"
msgid "workspace.assets.ungroup"
msgstr "فك التجميع"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "أنشئ منطقة"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "أنشئ لوحة"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "وضع التركيز"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "تعطيل التركيز"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "فعّل التركيز"
@@ -2445,151 +2405,151 @@ msgstr "الانحدار الخطي"
msgid "workspace.gradients.radial"
msgstr "الانحدار الشعاعي"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "إبطال المحاذاة الدينماكية"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "عطّل المقياس التناسبي"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "عطّل المحاذاة إلى الخطوط الإرشادية"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "عطّل المحاذاة للبكسل"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "فعِّل المحاذاة الدينماكية"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "فعِّل المقياس النسبي"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "محاذاة إلى الخطوط الإرشادية"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "فعِّل المحاذاة للبكسل"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "أخفِ أسماء اللوحة"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "أخفِ لون اللوحة"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "أخفِ تشبيك البكسل"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "أخفِ المسطرات"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "أخفِ لوحة الخطوط"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "عدّل"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "الملف"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "المساعدة و المعلومة"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "التفضيلات"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "العرض"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "أعد"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "حدّد الكل"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "أظهر أسماء اللوحة"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "أظهر لون اللوحة"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "أظهر شبكة البكسل"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "أظهر المسطرات"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "أظهر لوخة أسلوب الخط"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "ارجع"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "صفّر"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "خطأ في حفظ الملف"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "حُفظ"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "الحفظ"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "وضع العرض (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "تكبير"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "ملء - تغيير الحجم لملء"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "احتواء - تصغير للاحتواء"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "التكبير لتناسب الكل"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "ملء الشاشة"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "تكبير"
@@ -2597,19 +2557,19 @@ msgstr "تكبير"
msgid "workspace.layout-grid.editor.title"
msgstr "تحرير التشبيك"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "لا يوجد أنماط اللون في مكتبتك"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "لا يوجد أنماط الكتابة في مكتبتك"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "مكتبة الملفات"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "الألوان المؤخرة"
@@ -2621,55 +2581,55 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "حفظ أسلوب اللون"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "مكتبة الملف"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "المكتبات في هذا الملف"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "المكتبات"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "تحديثات المكتبة"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "لا يوجد مكتبات مشتركة تحتاج إلى تحديث"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "لا يوجد ما يطابق هذا “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "البحث في المكتبات المشتركة"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "مكتبات مشتركة"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "اتصل بمكتبة"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "افصل المكتبة"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "التحديث"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "رؤية جميع التغييرات"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "التحديثات"
@@ -2689,35 +2649,35 @@ msgstr "تطميس المحدد"
msgid "workspace.options.canvas-background"
msgstr "خلفية اللوحة القماشية"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "محتوى المقطع"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "العنصر"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "حاشية"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "النسخ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "أنشئ تعليق توضيحي"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "تحرير حاشية"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "أصل"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "لا توجد أصول في هذه المكتبة بعد"
@@ -2761,11 +2721,11 @@ msgstr "أعلى"
msgid "workspace.options.constraints.topbottom"
msgstr "أعلى و أسفل"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "تصميم"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "تصدير"
@@ -2773,23 +2733,23 @@ msgstr "تصدير"
msgid "workspace.options.export-multiple"
msgstr "تحديد المصدر"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "لاحقة"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "تم التصدير"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "جاري التصدير…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export failed"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "التصدير بطيء بشكل غير متوقع"
@@ -2813,67 +2773,67 @@ msgstr "جاري التخطيط"
msgid "workspace.options.grid.auto"
msgstr "تلقائي"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "أعمدة"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "لون"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "مزراب"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "طول"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "هامش"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "تعيين كافتراضي"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "أسفل"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "وسط"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "شمال"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "يمين"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "تمديد"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "أعلى"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "استعمل الإفتراضي"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "عرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "صفوف"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "مربع"
@@ -2885,11 +2845,11 @@ msgstr "ملأ المجموعة"
msgid "workspace.options.group-stroke"
msgstr "ضرب المجموعة"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "طول"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspectفحص"
@@ -3101,99 +3061,99 @@ msgstr "حين الضغط"
msgid "workspace.options.interactions"
msgstr "التفاعلات"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "اللون"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "احتراق اللون"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "انقاص كثافة اللون"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "أغمق"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "الفارق"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "الإستبعاد"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "ضوء الثابت"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "مسحة"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "تفتيح"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "لمعان"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "تضاعف"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "عادي"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "تراكب"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "التشبع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "شاشة"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "ضوء خافت"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "أقصى ارتفاع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "أقصى عرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "الحد الأدنو للارتفاع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "الحد الأدنى للعرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "المزيد من الألوان"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "المزيد من ألوان المكتبة"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "العتامة"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "النموذج المبدئي"
@@ -3217,19 +3177,19 @@ msgstr "أعلى الشمال"
msgid "workspace.options.radius-top-right"
msgstr "أعلى اليمين"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "مؤخر"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "أعد المحاولة"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "دوران"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "البخث عن نوع الخط"
@@ -3237,7 +3197,7 @@ msgstr "البخث عن نوع الخط"
msgid "workspace.options.select-a-shape"
msgstr "اختر الشكل أو اللوحة لجر الإتصال الى لوحة أو شكل آخر"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "الألوان المختارة"
@@ -3293,47 +3253,47 @@ msgstr "ظلال الإختيار"
msgid "workspace.options.show-fill-on-export"
msgstr "أظهر في المصدر"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "أظهر في وضع العرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "مقاس"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "الإعدادات المسبقة للحجم"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "الدائرة"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "الماس"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "سهم"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "لا شيء"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "دائري"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "مربع"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "مستطيل"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "المثلث"
@@ -3341,35 +3301,35 @@ msgstr "المثلث"
msgid "workspace.options.stroke-color"
msgstr "لون الضرب"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "عرض الضرب"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "مركز"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "متقطع"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "منقط"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "داخل"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "مختلط"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "خارج"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "صلب"
@@ -3405,11 +3365,11 @@ msgstr "العرض التلقائي"
msgid "workspace.options.text-options.grow-fixed"
msgstr "مثبت"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "تباعد الحروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "ارتفاع الخط"
@@ -3453,84 +3413,84 @@ msgstr "تسطير (%s)"
msgid "workspace.options.use-play-button"
msgstr "استعمل زر التشغيل أعلاه لتشغيل منظر النموذج المبدئي."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "عرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X محور"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y محور"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "جر العقدة (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "صل العقد (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "الى الزاوية (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "الى المنحنى (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "دمج العقد (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "نقل العقد (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "فصل العقد (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "كسر العقد (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "افتح"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "عُدّل الملحق منذ آخر مرة فتحته. ويريد الآن أيضًا الوصول إلى:"
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"يُرجى ملاحظة أن هذا المكون الإضافي أُنشئ بواسطة طرف خارجي، لذا تأكد من "
"الوثوق به قبل منحه حق الوصول. خصوصية بياناتك وأمنها مهمان بالنسبة لنا. إذا "
"كانت لديك أي مخاوف، يُرجى التواصل مع الدعم."
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "ليس اﻵن"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"أتريد إلقاء نظرة؟ سيتم فتحه في مسودة جديدة لفريقك الحالي. (وإلا، يمكنك "
"دائمًا العثور عليه في الملحقات المثبتة لأي ملف.)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "إضافة تخطيط الثني"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "إضافة تخطيط التشبيك"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "أنشئ تنويعة"
@@ -3542,7 +3502,7 @@ msgstr "أرسل الى الخلف"
msgid "workspace.shape.menu.backward"
msgstr "أرسل الى الخلف"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "انسخ"
@@ -3550,27 +3510,27 @@ msgstr "انسخ"
msgid "workspace.shape.menu.create-annotation"
msgstr "أنشئ تعليق توضيحي"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "تحديد إلى اللوحة"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "أنشئ مكوّن"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "أنشى مكوّنات جديدة"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "قطع"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "حذف"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "حذف المخطط"
@@ -3582,7 +3542,7 @@ msgstr "فصل المثال"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "فصل الامثلة"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "الفارق"
@@ -3590,15 +3550,15 @@ msgstr "الفارق"
msgid "workspace.shape.menu.duplicate"
msgstr "ينسخ"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "تحرير"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "استبعاد"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "تسطيح"
@@ -3610,7 +3570,7 @@ msgstr "Flip horizontal"
msgid "workspace.shape.menu.flip-vertical"
msgstr "التوجيه الرئسي"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "بداية المخطط"
@@ -3622,39 +3582,39 @@ msgstr "النقل الى الأمام"
msgid "workspace.shape.menu.front"
msgstr "النقل الى الأمام"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "مجموعة"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "إخفاء"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "أظهر أو إخف UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "التفاعلات"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "إغلاق"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "قناع"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "معجون"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "طريق"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "إزالة تخطيط المنحنى"
@@ -3670,11 +3630,11 @@ msgstr "استعادة العنصر الرئيسي"
msgid "workspace.shape.menu.select-layer"
msgstr "اختيار الطبقة"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "العرض"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "العرض في لوحة الاصول"
@@ -3690,19 +3650,19 @@ msgstr "أطهر الصورة المصغرة"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "تعيين كصورة مصغرة"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "فك التجميع"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "اتحاد"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "الغاء القفل"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "كشف القناع"
@@ -3718,43 +3678,43 @@ msgstr "انهيار الشريط الجانبي"
msgid "workspace.sidebar.expand"
msgstr "توسيع الشريط الجانبي"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "التاريخ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "الطبقات"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "العناصر"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "لوحات"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "مجموعات"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "صور"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "قناعات"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "بسومات"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "السمات المستوردةSVG"
@@ -3762,7 +3722,7 @@ msgstr "السمات المستوردةSVG"
msgid "workspace.sidebar.sitemap"
msgstr "صفحات"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "خريطة الموقع"
@@ -3770,47 +3730,47 @@ msgstr "خريطة الموقع"
msgid "workspace.toolbar.assets"
msgstr "أصول"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "لوحة اللون (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "تعليقات (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "منحنى (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "الشكل البيضاوي (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "لوحة (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "صورة (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "تحريك (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "مسار (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "مستطيل (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "نص (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "الكتابات (%s)"
@@ -3818,7 +3778,7 @@ msgstr "الكتابات (%s)"
msgid "workspace.top-bar.read-only.done"
msgstr "تم"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "لا يوجد تغييرات في التاريخ الى الآن"
@@ -3958,19 +3918,19 @@ msgstr "أصل الكتابة"
msgid "workspace.undo.entry.unknown"
msgstr "انتهت العملية %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "رفض"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "مزيد من المعلومات"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "يوجد تحديثات في المكتبة المشتركة"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "تحديث"
diff --git a/frontend/translations/bn.po b/frontend/translations/bn.po
index 23859aedb6..2966ee6dde 100644
--- a/frontend/translations/bn.po
+++ b/frontend/translations/bn.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.6-dev\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "অ্যাকাউন্ট আছে?"
@@ -29,7 +29,7 @@ msgstr ""
"এটি একটি ডেমো সার্ভিস। প্রয়োজনীয় কোনো কাজে ব্যবহার করবেন না। কিছু সময় পর "
"প্রজেক্টগুলো মুছে ফেলা হবে।"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "পাসওয়ার্ড ভুলে গেছেন?"
@@ -37,27 +37,27 @@ msgstr "পাসওয়ার্ড ভুলে গেছেন?"
msgid "auth.fullname"
msgstr "পুরো নাম"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "এখানে লগিন করুন"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "গিটহাব"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "গিটল্যাব"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "গুগল"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "ওপেনআইডি"
diff --git a/frontend/translations/ca.po b/frontend/translations/ca.po
index 005dc3b908..f6e6d01277 100644
--- a/frontend/translations/ca.po
+++ b/frontend/translations/ca.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:17+0000\n"
-"Last-Translator: Aryiu \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Catalan "
" \n"
"Language: ca\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Ja teniu un compte?"
@@ -33,7 +33,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Heu oblidat la contrasenya?"
@@ -41,37 +41,37 @@ msgstr "Heu oblidat la contrasenya?"
msgid "auth.fullname"
msgstr "Nom complet"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Entreu al vostre compte"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Inicieu la sessió aquí."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"El Penpot és l'eina de disseny lliure i de codi obert per a la "
"col·laboració entre el disseny i el codi"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Escriviu una contrasenya nova"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Ara formeu part de %s"
@@ -95,7 +95,7 @@ msgstr "El perfil encara no s'ha verificat, feu-ho abans de continuar."
msgid "auth.notifications.recovery-token-sent"
msgstr "S'ha enviat un enllaç de recuperació de contrasenya al vostre correu."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Us heu unit a l'equip correctament"
@@ -127,7 +127,7 @@ msgstr "Heu oblidat la contrasenya?"
msgid "auth.recovery-submit"
msgstr "Canvieu la contrasenya"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "No teniu un compte?"
@@ -139,7 +139,7 @@ msgstr "Digueu-nos com us hem de dir al tauler i als correus electrònics."
msgid "auth.register-account-title"
msgstr "El vostre nom"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Creeu un compte"
@@ -154,7 +154,7 @@ msgstr ""
"Estic d'acord amb les [condicions del servei](%s) i la [política de "
"privadesa](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Condicions del servei"
@@ -176,93 +176,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "No s'ha trobat ningú amb @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publica"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Tots els usuaris de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Segur que voleu eliminar l'enllaç? Si ho feu, ja no estarà disponible per a "
"ningú"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(actual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Destrueix l'enllaç"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obtén l'enllaç"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "S'ha copiat l'enllaç correctament"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gestió de permisos"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 pàgina compartida"
msgstr[1] "%s pàgines compartides"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Pot comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Pot inspeccionar el codi"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Qualsevol persona amb l'enllaç hi tindrà accés"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pàgines compartides"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "L'enllaç per a compartir apareixerà aquí"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Només membres de l'equip"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartiu prototips"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Selecciona-ho tot"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Despublica"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestió de l'equip"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"El Penpot està pensat per a equips. Convida a membres i treballeu plegats "
"en projectes i fitxers"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Fes equip!"
@@ -278,33 +278,33 @@ msgstr "Restaura el fitxer"
msgid "dashboard.add-file"
msgstr "Afegeix un fitxer"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Afegeix a la biblioteca compartida"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Canvia el correu"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "MOU L'EQUIP"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Mou a:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Els projectes i els fitxers continuaran disponibles per als membres de "
"l'equip. L'equip adoptarà la configuració de la nova organització."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Selecciona una organització"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Canvia l'organització de l'equip"
@@ -364,23 +364,23 @@ msgstr "Mostra el registre de canvis complet"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Mostra les notes de la versió"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Buida la paperera"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(còpia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Crea una organització"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Crea un equip nou"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Fixa aquesta versió"
@@ -388,7 +388,7 @@ msgstr "Fixa aquesta versió"
msgid "dashboard.default-team-name"
msgstr "El meu Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Esteu segur que voleu suprimir definitivament tots els projectes i fitxers "
@@ -400,44 +400,44 @@ msgstr ""
"Esteu segur que voleu suprimir definitivament %s? Aquesta acció és "
"irreversible."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "S'han eliminat %s fitxers correctament."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Suprimeix definitivament"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Elimina el projecte"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Esteu segur que voleu suprimir definitivament el projecte %s? El suprimireu "
"definitivament amb tots els fitxers que conté. Aquesta acció és "
"irreversible."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "S'ha eliminat %s correctament."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Elimina l'equip"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr ""
"La vostra paperera és buida. Els fitxers i projectes eliminats apareixeran "
"aquí."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Se suprimirà %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Baixa el fitxer Penpot (.penpot)"
@@ -449,19 +449,19 @@ msgstr "Duplica"
msgid "dashboard.duplicate-multi"
msgstr "Duplica %s fitxers"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Quan un membre del projecte creï un esborrany, apareixerà aquí."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Encara no hi ha esborranys."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Quan un membre del projecte creï un fitxer, apareixerà aquí."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Encara no hi ha fitxers."
@@ -509,23 +509,23 @@ msgstr "Importa un fitxer .penpot"
msgid "dashboard.empty-project.start"
msgstr "Comença a crear coses increïbles"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "S'ha produït un error en suprimir els fitxers."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "S'ha produït un error en suprimir el projecte %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "S'ha produït un error en restaurar el fitxer %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "S'ha produït un error en restaurar els fitxers."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "S'ha produït un error en restaurar el projecte %s i els seus fitxers."
@@ -533,37 +533,37 @@ msgstr "S'ha produït un error en restaurar el projecte %s i els seus fitxers."
msgid "dashboard.export-binary-multi"
msgstr "Baixa %s fitxers Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exporta els taulers a PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exporta a PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s elements seleccionats"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exporta"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Podeu afegir una configuració d'exportació a elements des de les propietats "
"del disseny (a sota de la barra de la dreta)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informació sobre com establir exportacions a Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "No hi ha elements amb configuració d'exportació."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Selecció d'exportació"
@@ -587,35 +587,35 @@ msgstr "Vista de quadrícula"
msgid "dashboard.files-layout.list"
msgstr "Vista de llista"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "S'ha eliminat la tipografia"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Descarta-ho tot"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Encara no teniu cap tipografia personalitzada instal·lada."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Encara no hi ha tipografies personalitzades."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Quan un membre del projecte pengi una tipografia personalitzada, apareixerà "
"aquí."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -625,7 +625,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -635,11 +635,11 @@ msgstr ""
"Penpot](%s). També podeu llegir sobre les [llicències de les "
"tipografies](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Puja-ho tot"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -650,23 +650,23 @@ msgstr ""
"utilitzar el [Transfonter](https://transfonter.org/) per generar "
"tipografies web i corregir errors. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Ves a la consola d'administració"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Darrera modificació %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importa fitxers de Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Vaja! No s'ha pogut importar aquest fitxer"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "S'ha vinculat automàticament 1 biblioteca pel nom."
@@ -676,41 +676,41 @@ msgstr[1] "S'han vinculat automàticament %s biblioteques pel nom."
msgid "dashboard.import.bad-url"
msgstr "La importació ha fallat. L'URL de la plantilla és incorrecte"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Confirma els vincles de biblioteca"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "No hem pogut verificar aquest fitxer."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Aquest fitxer sembla malmès."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "No s'han importat tots els fitxers"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Els fitxers següents tenen errors:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Els fitxers amb errors no es penjaran."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "S'ha produït un error en processar aquest fitxer."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "S'ha importat 1 fitxer correctament."
msgstr[1] "S'han importat %s fitxers correctament."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Alguns fitxers contenen objectes no vàlids que s'han eliminat."
@@ -718,79 +718,51 @@ msgstr "Alguns fitxers contenen objectes no vàlids que s'han eliminat."
msgid "dashboard.import.no-perms"
msgstr "No teniu permís per importar en aquest equip"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "S'estan carregant els colors"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "S'estan carregant els components"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "S'està carregant la multimèdia"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "S'està carregant la pàgina: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "S'estan processant les tipografies"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "S'estan penjant les dades al servidor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "S'està pujant el fitxer: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Algunes biblioteques no s'han pogut vincular automàticament. Seleccioneu la "
"biblioteca correcta per a cadascuna:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Reviseu els vincles de biblioteca abans de confirmar:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "Vinculades"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Cap biblioteca seleccionada"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Esteu a punt de suprimir les invitacions de:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Esteu a punt de reenviar les invitacions de:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Suprimeix les invitacions"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Reenvia les invitacions"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"No teniu permís per convidar persones a unir-se a aquest equip ni per "
"editar o suprimir invitacions."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Convida a l'equip"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "No teniu permís per convidar persones a aquest equip"
@@ -802,31 +774,31 @@ msgstr "Abandona l'organització"
msgid "dashboard.leave-organization.toast"
msgstr "Ja no formeu part de l'organització %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Abandona l'equip"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Biblioteques i plantilles"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Aquí teniu algunes biblioteques i plantilles que podeu afegir al vostre "
"projecte"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explora'n més i coneix com contribuir-hi"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Biblioteques compartides"
@@ -834,7 +806,7 @@ msgstr "Biblioteques compartides"
msgid "dashboard.loading-files"
msgstr "S'estan carregant els fitxers…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "s'estan carregant les tipografies…"
@@ -854,63 +826,63 @@ msgstr "Mou %s fitxers a"
msgid "dashboard.move-to-other-team"
msgstr "Mou a un altre equip"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Fitxer nou"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Fitxer nou"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Crea un projecte"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Crea un projecte"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "No s'ha trobat cap coincidència amb “%s“"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "No teniu permís per afegir equips a cap de les vostres organitzacions."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"No teniu permís per crear equips dins de l'organització %s. Si necessiteu "
"més informació, contacteu amb la persona propietària de l'organització."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"No teniu permís per suprimir equips que formen part de l'organització %s. "
"Si necessiteu més informació, contacteu amb la persona propietària de "
"l'organització."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"No teniu permís per moure equips que formen part de l'organització %s. Si "
"necessiteu més informació, contacteu amb la persona propietària de "
"l'organització."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Els projectes fixats apareixeran aquí"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notificacions"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "S'ha actualitzat l'adreça de correu"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "S'ha verificat l'adreça de correu"
@@ -922,11 +894,11 @@ msgstr "S'ha actualitzat la configuració de les notificacions"
msgid "dashboard.notifications.password-saved"
msgstr "La contrasenya s'ha desat correctament!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Mostra les notificacions"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membres"
@@ -934,23 +906,23 @@ msgstr "%s membres"
msgid "dashboard.open-in-new-tab"
msgstr "Obre el fitxer en una pestanya nova"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opcions"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Ordena per rol"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Ordena per estat"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "S'ha suprimit l'organització %s."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Altres equips"
@@ -974,11 +946,11 @@ msgstr "Ara sou propietaris d'aquest equip."
msgid "dashboard.permissions-change.viewer"
msgstr "Ara sou lectors d'aquest equip."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Projectes personals"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Fixa/Deixa de fixar"
@@ -994,27 +966,27 @@ msgstr "No es pot analitzar el manifest de l'extensió"
msgid "dashboard.plugins.try-plugin"
msgstr "Prova l'extensió: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "S'estan suprimint els fitxers…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "S'estan restaurant els fitxers…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Supressió inesperadament lenta"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Restauració inesperadament lenta"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projectes"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Voleu eliminar el vostre compte?"
@@ -1022,116 +994,116 @@ msgstr "Voleu eliminar el vostre compte?"
msgid "dashboard.removed-from-team"
msgstr "Ja no formeu part de l'equip “%s“."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Esteu a punt de restaurar tots els vostres projectes i fitxers. Això pot "
"trigar una estona."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Restaura tots els projectes i fitxers"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Restaura-ho tot"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "S'han restaurat %s fitxers correctament."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Restaura el projecte"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Esteu a punt de restaurar el projecte %s i tots els fitxers que conté."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Restaura el projecte"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "S'ha restaurat %s correctament."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Desa la configuració"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Cerca…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "S'està cercant “%s“…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organitzacions"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Equips"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "AFEGEIX A UNA ORGANITZACIÓ"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Trieu una organització:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" només permet que els membres de l'organització s'uneixin als seus "
"equips. Les invitacions pendents a persones de fora de l'organització es "
"revocaran."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Les invitacions pendents a usuaris externs se cancel·laran."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Aquí trobareu les organitzacions de les quals formeu part on teniu permís "
"per moure l'equip."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Aquí trobareu les organitzacions de les quals formeu part on teniu permís "
"per crear o afegir equips."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Selecciona una organització"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Afegeix l'equip a una organització"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Selecciona la llengua de la interfície"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Selecciona un tema"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Dark (per defecte)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Light"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Tema del sistema"
@@ -1195,11 +1167,11 @@ msgstr "Actualitza la configuració"
msgid "dashboard.settings.notifications.title"
msgstr "Notificacions"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Mostra tots els fitxers"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Historial de versions"
@@ -1223,7 +1195,7 @@ msgstr[1] "S'han duplicat els fitxers"
msgid "dashboard.success-duplicate-project"
msgstr "S'ha eliminat el projecte"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "S'ha mogut el fitxer"
@@ -1235,182 +1207,182 @@ msgstr "S'han mogut els fitxers"
msgid "dashboard.success-move-project"
msgstr "S'ha mogut el projecte"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s ara forma part de %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informació de l'equip"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membres de l'equip"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s ja no forma part de %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Organització de l'equip"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Afegeix a una organització"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "No teniu permís per afegir aquest equip a cap de les vostres organitzacions."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Canvia l'organització de l'equip"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Només es pot convidar persones de la vostra organització."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Aquest equip no forma part de cap organització"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Elimina l'equip de l'organització"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projectes de l'equip"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Afegeix al vostre projecte"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema de la interfície"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Resultats de la cerca"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Els fitxers eliminats romandran a la paperera durant"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr "%s dies. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Després d'això, se suprimiran definitivament."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Si canvieu d'opinió, podeu restaurar-los o suprimir-los definitivament des "
"del menú de cada fitxer."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Escriviu per cercar resultats"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Despublica la biblioteca"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Actualitza la configuració"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Ja no sou membre de l'organització %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"El renderatge WebGL pot millorar el rendiment, però és en fase beta i "
"potser menys estable. Poden aparèixer diferències visuals entre el llenç, "
"les exportacions (SVG/PDF) i el mode de vista."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Desactivat"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Activat"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Doneu-nos la vostra opinió"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Estat"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Renderatge WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "És actiu"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Quan s'activi aquest webhook, es lliuraran els detalls de l'esdeveniment"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Només podeu suprimir o modificar els webhooks que hàgiu creat."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tipus de contingut"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Crea un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "S'ha creat el webhook correctament."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Els webhooks són una manera senzilla de permetre que altres llocs web i "
"aplicacions rebin avisos quan passen determinats esdeveniments al Penpot. "
"Enviarem una petició POST a cadascuna de les URL que indiqueu."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Premeu el botó \"Crea un webhook\" per afegir-ne un."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Encara no s'ha creat cap webhook."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "El meu compte"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Correu electrònic"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Nom"
@@ -1426,11 +1398,11 @@ msgstr "Atenció"
msgid "ds.component-subtitle"
msgstr "Components a actualitzar:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permet"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancel·la"
@@ -1450,7 +1422,7 @@ msgstr "No hi ha tokens aplicables als conjunts ni als temes actius."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "No s'ha trobat cap coincidència."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Obre la llista de tokens"
@@ -1466,15 +1438,15 @@ msgstr "Proveïdor d'autenticació no permès per a aquest perfil"
msgid "errors.auth-provider-not-configured"
msgstr "L'autenticació del proveïdor no està configurada."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Sembla que no esteu autenticat o que la sessió ha caducat."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "No s'ha pogut carregar el tipus de lletra %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "No s'han pogut carregar els tipus de lletra %s"
@@ -1486,57 +1458,57 @@ msgstr "No es pot carregar el fitxer multimèdia."
msgid "errors.character-limit-exceeded"
msgstr "S'ha superat el límit de caràcters"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "No es pot afegir la biblioteca: això crearia una dependència circular"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"L'API del porta-retalls no està disponible. Serviu el Penpot amb HTTPS per "
"a habilitar l'accés al porta-retalls"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "El vostre navegador no pot fer aquesta operació"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Accés al porta-retalls denegat. Permeteu l'accés al porta-retalls al vostre "
"navegador per a enganxar contingut"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "S'ha produït un error amb el comentari"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Ho sentim! Aquest és un fitxer antic que utilitza un tipus d'element del "
"Penpot obsolet i no el podeu obrir."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "perquè us puguem ajudar."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Tot i que el Penpot ja no admet aquest tipus d'elements, podeu"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "contactar amb nosaltres"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "No es pot arrossegar un conjunt pare a un camí fill propi."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Aquest correu ja està en ús"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Aquest correu ja està validat."
@@ -1548,29 +1520,29 @@ msgstr "No podeu fer servir l'adreça de correu com a contrasenya"
msgid "errors.email-does-not-match-invitation"
msgstr "El correu electrònic no coincideix amb la invitació."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domini no permès"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "El correu «%s» té molts informes de retorn permanents."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "El correu «%s» s'ha marcat com a brossa o rebot permanent."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Sembla que esteu obrint un fitxer que té la funcionalitat «%s» habilitada, "
"però la versió actual del Penpot no l'admet o la té inhabilitada."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "La funcionalitat «%s» no s'admet."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Ha de contenir com a màxim %s caràcters."
@@ -1578,7 +1550,7 @@ msgstr "Ha de contenir com a màxim %s caràcters."
msgid "errors.field-min-length"
msgstr "Ha de contenir com a mínim 1 caràcter."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Camp buit"
@@ -1586,24 +1558,24 @@ msgstr "Camp buit"
msgid "errors.field-not-all-whitespace"
msgstr "El nom ha de contenir algun caràcter que no sigui un espai."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Sembla que hi ha una discrepància entre les funcionalitats habilitades i "
"les del fitxer que intenteu obrir. Cal aplicar les migracions de «%s» abans "
"de poder obrir el fitxer."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"El nom de la família tipogràfica només pot contenir lletres, números, "
"espais, guions, guions baixos i punts."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Alguna cosa ha anat malament."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "S'ha produït un problema amb el web worker."
@@ -1619,7 +1591,7 @@ msgstr "Dades no vàlides"
msgid "errors.invalid-email"
msgstr "Escriviu un correu electrònic vàlid, si us plau"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "El correu de confirmació ha de coincidir"
@@ -1656,11 +1628,11 @@ msgstr "Aquesta invitació pot estar cancel·lada o caducada."
msgid "errors.ldap-disabled"
msgstr "L'autenticació LDAP està inhabilitada."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Heu arribat a la quota de «%s». Contacteu amb l'assistència."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"S'ha arribat al nombre màxim (%s) de correus electrònics que es poden "
@@ -1680,21 +1652,21 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "Sembla que la imatge no és vàlida."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"El perfil que estàs convidant té els missatges de correu silenciats (per "
"informes de correu brossa o de retorns alts)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migració en curs"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Només la persona creadora de la versió la pot bloquejar"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Només la persona creadora de la versió la pot desbloquejar"
@@ -1708,7 +1680,7 @@ msgstr ""
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "La persona propietària de l'organització no pot abandonar-la."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Aquesta organització no existeix"
@@ -1720,7 +1692,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/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Dades no vàlides al porta-retalls"
@@ -1728,7 +1700,7 @@ msgstr "Dades no vàlides al porta-retalls"
msgid "errors.profile-blocked"
msgstr "El perfil està bloquejat"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"El teu perfil té els missatges de correu silenciats (per informes de correu "
@@ -1738,7 +1710,7 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "El registre està desactivat."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"Els vostres últims canvis no s'han confirmat com a desats. Pot ser que el "
@@ -1746,21 +1718,21 @@ msgstr ""
"pestanya: podríeu perdre canvis. Contacteu amb l'assistència per a obtenir "
"ajuda."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "L'SVG no és vàlid o està mal format"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "S'ha detectat la funcionalitat incompatible «%s»"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"No hi ha suficients membres com per a abandonar l'equip, potser voleu "
"eliminar-lo."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "El membre que intenteu assignar no existeix."
@@ -1768,7 +1740,7 @@ msgstr "El membre que intenteu assignar no existeix."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Només la persona propietària d'un equip el pot suprimir."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"El propietari no pot abandonar l'equip, heu de reassignar el rol de "
@@ -1782,13 +1754,13 @@ msgstr "El nom de l'equip no pot contenir cap dels caràcters següents: «.»,
msgid "errors.token-set-already-exists"
msgstr "Ja existeix un conjunt amb el mateix nom"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"No es pot completar l'arrossegament: ja existeix un conjunt amb el mateix "
"nom en aquest camí."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Ja existeix una opció de tema amb el mateix nom"
@@ -1800,13 +1772,13 @@ msgstr "El tema fa referència a conjunts que no existeixen: %s"
msgid "errors.tokens.circular-reference"
msgstr "El token té una referència circular"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"L'interlineat depèn de la mida de la lletra. Afegiu una mida de lletra per "
"a obtenir el valor resolt."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Aquest camp no pot estar buit"
@@ -1826,13 +1798,13 @@ msgstr "Error d'importació:"
msgid "errors.tokens.invalid-color"
msgstr "Valor de color no vàlid: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr ""
"Valor de token no vàlid: només podeu fer referència a un token de tipus "
"font-family"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valor de pes de lletra no vàlid: utilitzeu valors numèrics (100-950) o noms "
@@ -1853,37 +1825,37 @@ msgstr ""
"Els noms de token només poden contenir lletres i dígits separats per "
"caràcters . i no poden començar amb el signe $."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Tipus d'ombra no vàlid: només s'accepten «innerShadow» o «dropShadow»"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valor de token no vàlid: només s'accepten none, Uppercase, Lowercase o "
"Capitalize"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "Valor de token no vàlid: només s'accepten none, underline i strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Valor no vàlid: ha de fer referència a un token d'ombra compost."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Valor no vàlid: ha de fer referència a un token tipogràfic compost."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valor de token no vàlid: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Referències de token que falten: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"El nom de grup de %s entra en conflicte amb un token del mateix nom en un "
@@ -1897,31 +1869,31 @@ msgstr "No s'ha trobat cap token, conjunt ni tema en aquest fitxer."
msgid "errors.tokens.number-too-large"
msgstr "Valor de token no vàlid. El valor resolt és massa gran: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "L'opacitat ha d'estar entre 0 i 100% o entre 0 i 1 (p. ex. 50% o 0,5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "El token té una autoreferència"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "El difuminat (blur) de l'ombra ha de ser superior o igual a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "L'extensió (spread) de l'ombra ha de ser superior o igual a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "L'amplada del traç ha de ser superior o igual a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valor no vàlid: no es permet %."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valor no vàlid: no es permeten unitats."
@@ -1929,19 +1901,19 @@ msgstr "Valor no vàlid: no es permeten unitats."
msgid "errors.unexpected-error"
msgstr "S'ha produït un error inesperat."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token desconegut"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Aquesta versió ja està bloquejada"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Aquesta versió està bloquejada i la resta de persones no la poden suprimir"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "El fitxer té un número de versió incompatible"
@@ -1974,39 +1946,39 @@ msgstr "Com a mínim 1 lletra majúscula"
msgid "errors.weak-password.too-short"
msgstr "Com a mínim 8 caràcters"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "El WebGL ha deixat de funcionar. Recarregueu la pàgina per a restablir-lo"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Ep! S'ha perdut el context del llenç"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Error de connexió, l'URL no és accessible"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "L'URL no supera la validació."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "L'últim lliurament no ha anat bé."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Error en la validació SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Temps d'espera esgotat"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Error inesperat en validar"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Estat inesperat %s"
@@ -2026,15 +1998,15 @@ msgstr "Descripció"
msgid "feedback.description-placeholder"
msgstr "Descriviu el motiu del vostre comentari"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "Ens encanta que sigueu aquí. Si necessiteu ajuda, cerqueu abans de publicar."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Comunitat de Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Altres maneres de contactar amb nosaltres"
@@ -2059,11 +2031,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contacteu amb nosaltres"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Compte per a ajudar amb dubtes tècnics."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Compte de X d'ajuda"
@@ -2083,43 +2055,39 @@ msgstr "Idea"
msgid "feedback.type.issue"
msgstr "Incidència"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Baixa els fitxers"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Els recursos de les biblioteques vinculades no s'inclouran al fitxer."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Tracta els recursos com a objectes bàsics"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Els fitxers amb biblioteques vinculades s'inclouran a l'exportació i "
"mantindran els vincles. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Exporta el fitxer + biblioteques"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr "En importar, podreu vincular biblioteques existents amb noms coincidents."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Vincula les biblioteques coincidents en importar"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"El vostre fitxer s'exportarà amb els recursos de biblioteca fusionats a la "
"biblioteca local."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Incrusta els recursos de biblioteca al fitxer"
@@ -2127,7 +2095,7 @@ msgstr "Incrusta els recursos de biblioteca al fitxer"
msgid "generic.error"
msgstr "S'ha produït un error"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Aplica"
@@ -2175,7 +2143,7 @@ msgstr "Previsualització de la imatge d'emplenat de la forma"
msgid "inspect.attributes.shadow"
msgstr "Ombra"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Mida i posició"
@@ -2183,43 +2151,31 @@ msgstr "Mida i posició"
msgid "inspect.attributes.stroke"
msgstr "Traç"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centre"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Interior"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Exterior"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Família tipogràfica"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Mida de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Estil de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Espaiat de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Alçada de la línia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Famílies tipogràfiques mixtes"
@@ -2235,11 +2191,11 @@ msgstr "Ratllat"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Subratllat"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Inicials en majúscules"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minúscules"
@@ -2251,7 +2207,7 @@ msgstr "Cap"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Sense assignar"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Majúscules"
@@ -2379,23 +2335,23 @@ msgstr "Valor resolt:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Propietats de les variants"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Creeu un token d'accés nou"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Premeu el botó \"Creeu un token d'accés nou\" per a generar-ne un."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "De moment no teniu cap token."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Tokens d'accés personals"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Els tokens d'accés personals funcionen com una alternativa al nostre "
@@ -2480,53 +2436,53 @@ msgstr "La clau MCP caducarà el %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "La clau MCP no té data de caducitat"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"El servidor MCP del Penpot permet que els clients MCP interactuïn "
"directament amb els fitxers de disseny del Penpot."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Com configurar els clients MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Aquesta és l'URL del servidor que haureu de configurar al vostre client MCP "
"per a connectar-lo al servidor MCP del Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Regenera la clau MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "Clau MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "La clau MCP és necessària per a configurar el client MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Estat"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Desactivat"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Activat"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"La clau MCP utilitzada per a connectar-vos al servidor MCP ha caducat. Per "
"tant, no es pot establir la connexió."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Regenereu la clau MCP i actualitzeu la configuració del vostre client amb "
@@ -2536,10 +2492,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "Servidor MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Nom"
@@ -2590,7 +2542,7 @@ msgstr "Regenera la clau MCP"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "S'ha regenerat la clau MCP"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Integracions"
@@ -2608,47 +2560,47 @@ msgstr "El token caducarà el %s"
msgid "integrations.token.will-not-expire"
msgstr "El token no té data de caducitat"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Marca-ho tot com a llegit"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Dreceres"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Quant a Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Acceptar"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Actiu"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Afegeix"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Afegeix tipografia"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "S'està afegint…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administració"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Tots"
@@ -2656,17 +2608,17 @@ msgstr "Tots"
msgid "labels.and"
msgstr "i"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Enrere"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Sembla que heu d'esperar una mica i tornar a provar; estem realitzant un "
"petit manteniment dels nostres servidors."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Error del servidor (Bad Gateway)"
@@ -2678,23 +2630,23 @@ msgstr "Difuminat"
msgid "labels.blur-effects"
msgstr "Efectes de difuminat"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancel·la"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Comprova si hi ha actualitzacions"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "S'està comprovant si hi ha actualitzacions…"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Tanca"
@@ -2702,7 +2654,7 @@ msgstr "Tanca"
msgid "labels.code"
msgstr "Codi"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Replega"
@@ -2714,15 +2666,15 @@ msgstr "Color"
msgid "labels.comment"
msgstr "Comentari"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentaris"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Comunitat"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Comunitat i contribucions"
@@ -2734,19 +2686,19 @@ msgstr "Calculat"
msgid "labels.confirm-password"
msgstr "Confirmeu la contrasenya"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contacta amb l'assistència"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contacteu amb nosaltres"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continua"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Podeu continuar amb un compte de Penpot"
@@ -2758,23 +2710,23 @@ msgstr "Copia"
msgid "labels.copy-color"
msgstr "Copia el color"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copia l'enllaç"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-actualitat"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Crea"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Crea un equip nou"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Introduïu el nom de l'equip nou"
@@ -2782,7 +2734,7 @@ msgstr "Introduïu el nom de l'equip nou"
msgid "labels.current"
msgstr "Actual"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Tauler"
@@ -2790,7 +2742,7 @@ msgstr "Tauler"
msgid "labels.default"
msgstr "Predeterminat"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Elimina"
@@ -2802,7 +2754,7 @@ msgstr "Elimina el comentari"
msgid "labels.delete-comment-thread"
msgstr "Elimina el fil"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Esborra invitació"
@@ -2810,39 +2762,35 @@ msgstr "Esborra invitació"
msgid "labels.delete-multi-files"
msgstr "Elimina %s fitxers"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Esteu segur que voleu suprimir la foto de perfil?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Suprimeix la foto de perfil"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Suprimits"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Desenvolupament"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Descarta"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Baixa %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Baixa"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "S'està baixant el fitxer…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Esborranys"
@@ -2850,19 +2798,19 @@ msgstr "Esborranys"
msgid "labels.duplicate"
msgstr "Duplica"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Edita"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Buit"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Error"
@@ -2870,11 +2818,11 @@ msgstr "Error"
msgid "labels.exit"
msgstr "Surt"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Ha caducat"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exporta"
@@ -2886,7 +2834,7 @@ msgstr "Opinions desactivades"
msgid "labels.feedback-sent"
msgstr "S'ha enviat l'opinió"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2894,63 +2842,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Emplenament"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Disposició flexible"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Família tipogràfica"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Estils"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Tipografies"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositori Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Envia opinions"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Enrere"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Disseny gràfic"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Disposició de quadrícula"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centre d'ajuda"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Ajuda i aprenentatge"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Amaga"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Amaga els comentaris resolts"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importa"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactiu"
@@ -2958,53 +2906,53 @@ msgstr "Inactiu"
msgid "labels.info"
msgstr "Informació"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Tipografies instal·lades"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Integracions"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Alguna cosa ha fallat."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Podeu tornar a provar l'operació o contacteu amb l'assistència per informar "
"de l'error."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Error intern"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitacions"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Llengua"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Disposició"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centre d'aprenentatge"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Biblioteques i plantilles"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "S'està carregant…"
@@ -3012,7 +2960,7 @@ msgstr "S'està carregant…"
msgid "labels.lock"
msgstr "Bloqueja"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Inicia sessió o registra'm"
@@ -3020,19 +2968,19 @@ msgstr "Inicia sessió o registra'm"
msgid "labels.login"
msgstr "Entra"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Tanca la sessió"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Màrqueting"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membre"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membres"
@@ -3044,43 +2992,43 @@ msgstr "Menció"
msgid "labels.new-password"
msgstr "Contrasenya nova"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Següent"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"Aquesta instància necessita un pas de configuració que arriba amb la versió "
"més recent."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Consulteu la nostra"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "El Penpot encara no es pot iniciar."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "guia tècnica"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"El Penpot no està disponible temporalment per un problema del sistema. "
"Torneu-ho a provar d'aquí a una estona."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "No teniu notificacions de comentaris pendents"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "No hi ha invitacions."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Reuniu la vostra gent i creeu grans coses plegats."
@@ -3088,27 +3036,27 @@ msgstr "Reuniu la vostra gent i creeu grans coses plegats."
msgid "labels.no-matches"
msgstr "Cap coincidència"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Vaja!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notificacions"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fitxer"
msgstr[1] "%s fitxers"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tauler"
msgstr[1] "%s taulers"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projecte"
@@ -3118,43 +3066,43 @@ msgstr[1] "%s projectes"
msgid "labels.old-password"
msgstr "Contrasenya antiga"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Obre"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opcions"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Altra (especifiqueu)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Altra"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Propietari"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Contrasenya"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pendent"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Registre de canvis del Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Projectes fixats"
@@ -3162,31 +3110,31 @@ msgstr "Projectes fixats"
msgid "labels.post"
msgstr "Publica"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Anterior"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Disseny de producte o UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestió de productes"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Perfil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projectes"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Recents"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referència"
@@ -3194,27 +3142,27 @@ msgstr "Referència"
msgid "labels.refresh"
msgstr "Actualitza"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notes de la versió"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Recarrega la pàgina"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Elimina"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Elimina membre"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Canvia el nom"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Canvia el nom de l’equip"
@@ -3238,11 +3186,11 @@ msgstr "resposta nova"
msgid "labels.reply.thread"
msgstr "Respon"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Reenvia"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Reenvia invitació"
@@ -3250,43 +3198,43 @@ msgstr "Reenvia invitació"
msgid "labels.restore"
msgstr "Restaura"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Tornar a intentar-ho"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Desa"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Cerca"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Cerca tipografia"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Seleccioneu una opció"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Envia"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "S'està enviant…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Estem de manteniment programat dels nostres sistemes."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Servei no disponible"
@@ -3294,70 +3242,70 @@ msgstr "Servei no disponible"
msgid "labels.sets"
msgstr "Sets"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configuració"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Ombra"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Comparteix"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Biblioteques compartides"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Mostra"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Mostra tots els comentaris"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Mostra la llista de comentaris"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Mostra només les vostres mencions"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Mostra només els meus comentaris"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Recursos"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"L'inici de sessió amb el proveïdor d'identitat de la vostra organització no "
"s'ha completat. Pot ser que el proveïdor no estigui disponible o que el "
"vostre compte encara no figuri al seu directori."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Torneu-ho a provar"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "No s'ha pogut iniciar la sessió a %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Comença"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Estat"
@@ -3365,7 +3313,7 @@ msgstr "Estat"
msgid "labels.stroke"
msgstr "Traç"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Estudiant o professor"
@@ -3377,7 +3325,7 @@ msgstr "Estils"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Intercanvia"
@@ -3385,19 +3333,19 @@ msgstr "Intercanvia"
msgid "labels.text"
msgstr "Text"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Temes"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorials"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Tipografia"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Error desconegut"
@@ -3409,35 +3357,31 @@ msgstr "Desbloqueja"
msgid "labels.unpublish-multi-files"
msgstr "Despublica %s fitxers"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Actualitza"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Actualitza l'equip"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Puja"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Pugeu tipografies personalitzades"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "S'està pujant…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "S'està pujant el fitxer…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variant"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Notes de la versió %s"
@@ -3445,7 +3389,7 @@ msgstr "Notes de la versió %s"
msgid "labels.view-only"
msgstr "Només lectura"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visor"
@@ -3459,7 +3403,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s avís"
msgstr[1] "%s avisos"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3467,11 +3411,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Escriu un comentari nou"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(jo)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "El meu compte"
@@ -3619,7 +3563,7 @@ msgstr ""
"Sou l'únic membre d'alguns dels equips. Aquests equips se suprimiran "
"juntament amb els seus projectes i fitxers."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "ABANS D'ABANDONAR L'ORGANITZACIÓ"
@@ -3627,80 +3571,80 @@ msgstr "ABANS D'ABANDONAR L'ORGANITZACIÓ"
msgid "modals.before-leave-organization.warning"
msgstr "Qualsevol equip del qual sigueu l'únic membre se suprimirà."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Màxima"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Repetiu el correu electrònic nou"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Us enviarem un correu electrònic a l'adreça actual \"%s\" per a verificar "
"la vostra identitat."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Correu electrònic nou"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Canvia el correu"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Canvieu el vostre correu electrònic"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Crea un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Crea un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Cancel·la i conserva el meu compte"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Sí, elimina el meu compte"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Si suprimiu el compte, perdreu tots els vostres projectes i arxius actuals."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Aquesta acció és irreversible. El vostre compte, la subscripció i les "
"organitzacions se suprimiran immediatament. També perdreu l'accés als "
"vostres projectes i fitxers actuals."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organitzacions que se suprimiran"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s membres"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s equips"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Segur que voleu eliminar el compte?"
@@ -3760,23 +3704,23 @@ 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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "S'està eliminant l'estil de tipografia"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "S'està eliminant la tipografia"
@@ -3784,19 +3728,19 @@ msgstr "S'està eliminant la tipografia"
msgid "modals.delete-organization-team-confirm.message"
msgstr "Segur que voleu suprimir aquest equip que forma part de l'organització %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Segur que voleu eliminar la pàgina?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Elimina la pàgina"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Segur que voleu suprimir les pàgines seleccionades?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Elimina les pàgines"
@@ -3812,31 +3756,31 @@ msgstr "Segur que voleu eliminar el projecte?"
msgid "modals.delete-project-confirm.title"
msgstr "Elimina el projecte"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Suprimeix el fitxer"
msgstr[1] "Suprimeix els fitxers"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "No està activada en cap fitxer."
msgstr[1] "No estan activades en cap fitxer."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Aquesta biblioteca està activada aquí: "
msgstr[1] "Aquestes biblioteques estan activades aquí: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Esteu segur que voleu suprimir aquest fitxer?"
msgstr[1] "Esteu segur que voleu suprimir aquests fitxers?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "S'està suprimint el fitxer"
@@ -3856,19 +3800,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "S'està eliminant l'equip"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Elimina el membre"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Segur que voleu eliminar aquest membre de l'equip?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Elimina el membre de l'equip"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3878,23 +3822,23 @@ msgstr[1] ""
"Els recursos que ja s'hagin utilitzat en aquests fitxers hi romandran (cap "
"disseny no es farà malbé)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Suprimeix el webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Segur que voleu suprimir aquest webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "S'està suprimint el webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Edita el webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Edita el webhook"
@@ -3912,15 +3856,15 @@ msgstr "Importa els tokens"
msgid "modals.import-library-tokens.title"
msgstr "Voleu importar els tokens de la biblioteca?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Envia una invitació"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Correus electrònics, separats per una coma"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Alguns membres ja són a l'equip. Convidarem la resta."
@@ -3941,99 +3885,99 @@ msgstr ""
"totes aquestes persones ja en són membres. Si necessiteu més informació, "
"contacteu amb la persona propietària de l'organització."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Adreces que no rebran cap invitació"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Cancel·la"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Només es pot convidar membres existents de l'organització."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Envia les invitacions"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Algunes invitacions no es poden enviar"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Algunes persones de la vostra llista no rebran les invitacions."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Podeu convidar membres a l'equip perquè puguin accedir a aquest fitxer i a "
"tots els fitxers de l'equip."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Convida membres a l'equip"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Com que no hi ha ningú més a aquest equip, s'eliminarà l'equip amb els seus "
"arxius i projectes."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Segur que vols deixar l'equip %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"No es pot abandonar l'equip si no hi ha cap altre membre capaç d'ascendir a "
"propietari. És possible que vulgueu eliminar l'equip."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Sou el propietari d’aquest equip. Seleccioneu una altra persona integrant "
"per a promoure-la al rol de propietat."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Ascendeix i abandona"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Seleccioneu un membre per a ascendir"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Seleccioneu un membre per a ascendir"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Abandona l'equip"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Segur que voleu deixar l'equip?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "S'està abandonant l'equip"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Sou propietari d'alguns equips de l'organització. Promoveu un altre membre "
"a propietari."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Sou l'únic membre d'alguns dels equips. Aquests equips se suprimiran "
"juntament amb els seus projectes i fitxers."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"A més, sou propietari d'alguns equips de l'organització. Promoveu un altre "
@@ -4053,57 +3997,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Voleu abandonar l'organització %s?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Mou"
msgstr[1] "Mou"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Segur que voleu moure aquesta biblioteca?"
msgstr[1] "Segur que voleu moure aquestes biblioteques?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Mou la biblioteca"
msgstr[1] "Mou les biblioteques"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Quantitat d'atracció"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Ascendeix"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Si transferiu la propietat, canviareu el vostre rol a admin, perdent alguns "
"permisos sobre l'equip. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Actualment sou el propietari de l'equip. Segur que voleu transferir la "
"propietat de l'equip a %s?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Ascendeix a propietari"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publica"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "La vostra biblioteca està buida. Segur que voleu publicar-la?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publica la biblioteca buida"
@@ -4125,23 +4069,23 @@ msgstr "Segur que voleu treure l'equip «%s» de l'organització «%s»?"
msgid "modals.remove-team-organization.title"
msgstr "TRAIEU L'EQUIP DE L'ORGANITZACIÓ"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Mínima"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Despublica"
msgstr[1] "Despublica"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Segur que voleu despublicar aquesta biblioteca?"
msgstr[1] "Segur que voleu despublicar aquestes biblioteques?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Despublica la biblioteca"
@@ -4231,38 +4175,38 @@ msgstr "Activa"
msgid "nitrate.code-activation.title"
msgstr "Activeu l'Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Contacteu amb vendes"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Per a canviar a aquest pla, contacteu amb el nostre equip de vendes. Us "
"ajudarem a actualitzar la vostra subscripció i ens assegurarem que tot "
"quedi configurat correctament."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "La vostra organització s'eliminarà."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"El vostre emmagatzematge total, l'historial de versions automàtiques i el "
"període de recuperació de fitxers es limitaran."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Els equips, els projectes i els fitxers deixaran de formar part de cap "
"organització, però continuaran disponibles."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Quan baixeu de pla:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Voleu canviar al pla %s?"
@@ -4280,15 +4224,15 @@ msgstr "Contacteu amb nosaltres per a provar l'Enterprise durant 14 dies:"
msgid "nitrate.form.contact-upgrade"
msgstr "Contacteu amb nosaltres per a pujar a l'Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Contacteu amb nosaltres per a provar el pla Enterprise durant 14 dies:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Contacteu amb nosaltres per a pujar al pla Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Ara mateix no se us cobrarà res. El pagament es processarà al final del "
@@ -4310,7 +4254,7 @@ msgstr ""
"Llibertat total del codi obert, amb la governança que la vostra "
"organització necessita"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr ""
"Tot el que els vostres equips necessiten per a treballar de manera segura a "
@@ -4320,7 +4264,7 @@ msgstr ""
msgid "nitrate.form.enterprise.price"
msgstr "per membre i mes"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Proveu-ho gratis durant 14 dies"
@@ -4336,7 +4280,7 @@ msgstr "Comenceu amb l'Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "Subscriviu-vos amb un codi d'activació"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Desbloquegeu les funcions Enterprise"
@@ -4348,7 +4292,7 @@ msgstr "Proveu-ho gratis durant 14 dies"
msgid "nitrate.modal-success.title"
msgstr "Us donem la benvinguda a l'Enterprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Actiu fins al %s"
@@ -4356,25 +4300,25 @@ msgstr "Actiu fins al %s"
msgid "nitrate.subscription.renew-success"
msgstr "La vostra subscripció a l'Enterprise s'ha renovat."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Cancel·leu la subscripció"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr ""
"Per a cancel·lar la vostra subscripció a l'Enterprise, contacteu amb "
"nosaltres a:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Renoveu amb un codi d'activació"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Aquesta pàgina no existeix"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Error 404"
@@ -4392,11 +4336,11 @@ msgstr "Us hem enviat un correu de recuperació a"
msgid "not-found.login.sent-recovery-check"
msgstr "Comproveu el correu i feu clic en l'enllaç per a crear una contrasenya nova."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Registreu-vos gratuïtament"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "I comenceu a utilitzar el Penpot en segons!"
@@ -4404,67 +4348,67 @@ msgstr "I comenceu a utilitzar el Penpot en segons!"
msgid "not-found.made-with-love"
msgstr "Fet amb AMOR i codi obert"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Ja heu sol·licitat accés a aquest fitxer."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Ja heu sol·licitat accés a aquest fitxer o a altres fitxers o projectes "
"d'aquest equip."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Ja heu sol·licitat accés a aquest projecte o a altres projectes o fitxers "
"d'aquest equip."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Ja heu sol·licitat accés a aquest projecte."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "SOL·LICITEU L'ACCÉS"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Recordeu que, si el propietari ho permet, us convidaran a l'equip."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "La vostra sol·licitud s'ha enviat correctament!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "No teniu accés a aquest fitxer."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Aneu als projectes personals"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Si el propietari ho permet, us convidaran a l'equip."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Fitxer del Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "No teniu accés a aquest projecte."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJECTE"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Per a accedir a aquest fitxer, podeu demanar-ho al propietari de l'equip."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Per a accedir a aquest projecte, podeu demanar-ho al propietari de l'equip."
@@ -4478,33 +4422,33 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Hi ha una versió nova disponible."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Aquesta invitació ja no està disponible."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invitació suprimida correctament"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "La invitació s'ha enviat correctament"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Enllaç d'invitació copiat"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"No podeu eliminar el vostre perfil. Reassigneu els vostres equips abans de "
"continuar."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "El perfil s'ha desat correctament!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "S'ha enviat un correu electrònic de verificació a %s. Reviseu el correu!"
@@ -4542,7 +4486,7 @@ msgstr "Nom de l'equip"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Creeu l'equip"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Convida membres"
@@ -4552,98 +4496,98 @@ msgstr ""
"Desenvolupadors, dissenyadors, gestors... tothom és benvingut. Podreu "
"convidar més gent més tard."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Convideu amb el rol:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Comencem!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generar codi real a partir de dissenys"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Crear sistemes de disseny"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipatge"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Dissenyar la UI/UX d'una app"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Per a què utilitzareu el Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Expliqueu-nos una mica qui sou per a ajudar-nos a fer que el Penpot "
"funcioni per a vosaltres. Les vostres respostes ens ajudaran a prioritzar "
"funcionalitats noves i a orientar-vos per a començar."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Ajudieu-nos a conèixer-vos"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Quina d'aquestes eines utilitzeu més?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Quina mena de feina feu?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Quina és la mida de la vostra empresa?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Per on voldríeu començar?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1.001 - 5.000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1.000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Només jo"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5.001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Educació"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personal"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Feina"
@@ -4725,11 +4669,11 @@ msgstr "Restaura la configuració predeterminada"
msgid "restore-shortcuts.restore"
msgstr "Restaura"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Desvincula"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mixt"
@@ -4741,35 +4685,35 @@ msgstr "Elimina el color"
msgid "settings.select-this-color"
msgstr "Selecciona els elements que utilitzen aquest estil"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comentaris"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Alinea a baix"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Alinea al centre horitzontalment"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Alinea a l'esquerra"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Alinea a la dreta"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Alinea a dalt"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Alinea al centre verticalment"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Crea un tauler a partir de selecció"
@@ -4777,55 +4721,55 @@ msgstr "Crea un tauler a partir de selecció"
msgid "shortcuts.bold"
msgstr "Commuta la negreta"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Diferència booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusió booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Intersecció booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Unió booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Envia-ho al fons"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Envia-ho cap avall"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Envia-ho cap amunt"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Envia-ho a dalt"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Esborra desfer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copia"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copia l'enllaç"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copia les propietats"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Crea un component o una variant"
@@ -4833,63 +4777,63 @@ msgstr "Crea un component o una variant"
msgid "shortcuts.create-new-project"
msgstr "Crea nou"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Retalla"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Disminueix el zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Elimina"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Elimina el node"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Elimina el node i els segments"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Desselecciona-ho tot"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Separa el component"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Deshabilita la drecera"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Deshabilitada"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Drecera deshabilitada"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Fletxa"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Corba"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "El·lipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tauler"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Línia"
@@ -4897,65 +4841,65 @@ msgstr "Línia"
msgid "shortcuts.draw-nodes"
msgstr "Dibuixa el camí"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Camí"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectangle"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplica"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Combinació assignada a \"%s\". Si la deseu, s'eliminarà d'allà."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Si la deseu, aquesta drecera tornarà al valor original:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr ""
"Aquesta combinació de tecles està disponible i es pot assignar sense "
"conflictes."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Personalitzeu-les a la configuració"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancel·la"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exporta formes"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Cerca"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Cerca i reemplaça"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Amplia per encabir-ho tot"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Gira horitzontalment"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Gira verticalment"
@@ -4979,27 +4923,27 @@ msgstr "Ves a les biblioteques compartides"
msgid "shortcuts.go-to-search"
msgstr "Cerca"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Agrupa"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribueix horitzontalment"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Mostra/Amaga la interfície"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Importa/Exporta"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Amplia"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Insereix imatge"
@@ -5007,11 +4951,11 @@ msgstr "Insereix imatge"
msgid "shortcuts.italic"
msgstr "Commuta la cursiva"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Uneix nodes"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Premeu la combinació de tecles"
@@ -5019,39 +4963,39 @@ msgstr "Premeu la combinació de tecles"
msgid "shortcuts.line-through"
msgstr "Commuta el text tatxat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Fes cantonada"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Fes corba"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Màscara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fusiona nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mou"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mou avall ràpidament"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mou a l'esquerra ràpidament"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mou a la dreta ràpidament"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mou amunt ràpidament"
@@ -5059,379 +5003,379 @@ msgstr "Mou amunt ràpidament"
msgid "shortcuts.move-nodes"
msgstr "Mou node"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mou avall"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mou a l'esquerra"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mou a la dreta"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mou amunt"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Següent tauler"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "No hi ha dreceres deshabilitades"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Ves a Totes per començar a personalitzar les dreceres."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "No hi ha cap drecera que coincideixi amb la cerca"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "No s'han trobat dreceres"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Fixa l'opacitat al 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Fixa l'opacitat al 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Fixa l'opacitat al 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Fixa l'opacitat al 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Fixa l'opacitat al 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Fixa l'opacitat al 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Fixa l'opacitat al 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Fixa l'opacitat al 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Fixa l'opacitat al 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Fixa l'opacitat al 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Selector de color"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Ves als comentaris del visor"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Ves al panell de control"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ves a la secció d'inspecció del visor"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Ves a les interaccions del visor"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Ves a les interaccions del visor"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Ves a l'espai de treball"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " o "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Aquesta drecera s'ha reassignat a %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Pàgina de dreceres"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Enganxa"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Enganxa les propietats"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Enganxa i reemplaça"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Personalitzades"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Gestor d'extensions"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tauler anterior"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Refés"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Després d'editar les dreceres, recarregueu les altres pestanyes obertes del "
"Penpot per aplicar els canvis."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Canvia el nom"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Restableix els valors predeterminats"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Restableix el zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Escala"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Bàsics"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Panell de control"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visor"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Espai de treball"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Selecciona-ho tot"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Selecciona la capa següent"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Selecciona la capa pare"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Selecciona la capa anterior"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separa els nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Mostra les mesures"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Mostra/Amaga graella de píxels"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Mostra/Amaga dreceres"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Ajusta als nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Ajusta a la graella de píxels"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Comença a editar"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alineació"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Edita"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Genèric"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menú principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modifica les capes"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navegació"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navegació"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navegació"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panells"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Camins"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formes"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Textos"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Eines"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Estableix miniatures"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Dreceres de teclat"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Commuta l'alineació dinàmica"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Commuta els recursos"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Commuta paleta de colors"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Mostra o amaga els comentaris"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Activa/desactiva el mode de concentració"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Activa/desactiva la pantalla completa"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Mostra / Amaga les guies"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Mostra/Amaga l'historial"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Commuta les capes"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Afegeix o suprimeix la disposició flexible"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Afegeix o suprimeix la disposició de quadrícula"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Bloqueja la selecció"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Bloqueja les proporcions"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Mostra o amaga les regles"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Ajusta a les guies"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Ajusta a les guies de les regles"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Mostra/amaga la paleta de text"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Canvia el tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Mostra/amaga l'element"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Commuta l'estil de zoom"
@@ -5439,31 +5383,31 @@ msgstr "Commuta l'estil de zoom"
msgid "shortcuts.underline"
msgstr "Commuta el subratllat"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Desfés"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Desagrupa"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Desemmascara"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribueix verticalment"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Redueix el zoom de la lupa"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Augmenta el zoom de la lupa"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Amplia a la selecció"
@@ -5482,7 +5426,7 @@ msgstr "Vegeu l'Enterprise en acció"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5494,7 +5438,7 @@ msgstr "Enterprise (prova)"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "La vostra subscripció"
@@ -5627,107 +5571,107 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Convidar persones amb el pla Unlimited"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "El pagament no s'ha completat. Torneu-ho a intentar quan vulgueu."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"El pagament no s'ha completat. Torneu-ho a intentar. Si el problema "
"continua, contacteu amb nosaltres: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Subscripció"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Introduïu el codi d'activació"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Afegiu un mètode de pagament per a continuar després del període de prova"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Consola d'administració"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Tots els avantatges del pla Professional i:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Tots els avantatges del pla Unlimited i:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Tots els avantatges del pla Unlimited, a més de:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editors)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (prova)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Versions desades automàticament de 90 dies i recuperació de fitxers"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Factura mensual fixa"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Control avançat:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Seguretat Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Gestió multiorganització:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"SAML/SSO natiu i registre complet d'auditoria (Audit Trail) per a informes "
"de compliment."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Llista blanca granular de complements (plugins), inclòs el nostre servidor "
"MCP segur i aïllat per a la connectivitat amb IA."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr ""
"Compatibilitat amb jerarquies d'equips complexes i suborganitzacions "
"independents."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Emmagatzematge il·limitat"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gestioneu la vostra subscripció"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Afegiu les dades de pagament"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Afegiu ara les vostres dades de pagament perquè la vostra subscripció "
@@ -5735,176 +5679,176 @@ msgstr ""
"continueu donant suport al nostre projecte de codi obert. De moment no se "
"us farà cap càrrec."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Ometeu-ho de moment i comenceu la prova"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Ajudeu-nos a créixer i faciliteu el vostre període de prova"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Actualment teniu %s persona als vostres equips que pot editar."
msgstr[1] "Actualment teniu %s persones als vostres equips que poden editar."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Atenció: si canvieu a un pla inferior, tindreu menys emmagatzematge i "
"còpies de seguretat i un historial de versions més curts."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editors"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Propietaris, administradors i editors. Els lectors no compten com a "
"editors)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"No podeu fixar un nombre d'editors inferior al que teniu ara. Canvieu el "
"rol (d'editor/administrador a lector) de les persones que no editen fitxers "
"a la configuració de l'equip."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr ""
"El càrrec es farà després del període de prova. Ara mateix no cal cap "
"targeta de crèdit."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/mes"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Apliqueu %s als vostres equips"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Consell: podeu augmentar ara el nombre de seients per a avançar-vos a les "
"invitacions. Amb 25 o més editors en tots els equips, gaudireu d'una tarifa "
"plana de 175 $ al mes."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Membre del Penpot des de: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Més informació"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "membre de l'organització / mes"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Altres plans del Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organització per mes"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "usuari / mes"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "Versions desades automàticament de 7 dies i recuperació de fitxers"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "Totes les funcions de disseny i prototipatge. Assistència de la comunitat."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Control total sobre les dades i la infraestructura."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Usuaris, equips i fitxers il·limitats."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 GB d'emmagatzematge"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Equips il·limitats. Fins a 8 editors als vostres equips."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Recomanat"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "La vostra subscripció"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Comenceu la prova gratuïta"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Subscriviu-vos"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Esteu al pla %s des de %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Podeu editar la vostra subscripció en qualsevol moment des de la "
"pàgina\"Subscripció\" als detalls del compte."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Gaudiu del vostre pla!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Gràcies per triar el pla %s del Penpot!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Sou %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Proveu-ho gratis durant 14 dies"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (prova)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "Versions desades automàticament de 30 dies i recuperació de fitxers"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Factura mensual limitada a 175 $"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 GB d'emmagatzematge"
@@ -5929,45 +5873,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Si voleu augmentar aquest límit, [canvieu el vostre pla|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invitació seleccionada"
msgstr[1] "%s invitacions seleccionades"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Proveïdors de tipografies - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Tipografies - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projectes - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Cerca - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Biblioteques compartides - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Llibertat de disseny per a equips"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Envia opinions - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Integracions - Penpot"
@@ -5975,7 +5919,7 @@ msgstr "Integracions - Penpot"
msgid "title.settings.notifications"
msgstr "Notificacions - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Configuració - Penpot"
@@ -5983,27 +5927,27 @@ msgstr "Configuració - Penpot"
msgid "title.settings.password"
msgstr "Contrasenya - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Perfil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitacions - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membres - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Configuració - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Visor - Penpot"
@@ -6015,51 +5959,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Desvincula el token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "No s'ha trobat cap tauler a la pàgina."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "No s'ha trobat el tauler."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comentaris (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "No mostris les interaccions"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Pantalla completa"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspecciona (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interaccions"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interaccions (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copia l'enllaç"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Mostra les interaccions"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Mostra les interaccions en fer clic"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa del lloc"
@@ -6096,67 +6040,67 @@ msgstr "Seguiu la nostra "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "guia de resolució de problemes de WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "Renderització WebGL desactivada"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "Renderització WebGL activada"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "S'ha perdut el context WebGL"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "S'ha recuperat el context WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "L'últim lliurament ha anat bé."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Alinea el centre horitzontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribueix l'espaiat horitzontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Alinea a l'esquerra (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Alinea a la dreta (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Alinea la part inferior (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Alinea el centre vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribueix l'espaiat vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Alinea la part superior (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Afegeix una biblioteca"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Tots els recursos"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Colors"
@@ -6168,7 +6112,7 @@ msgstr "Afegeix un color"
msgid "workspace.assets.component-group-options"
msgstr "Opcions del grup de components"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Components"
@@ -6176,7 +6120,7 @@ msgstr "Components"
msgid "workspace.assets.components.add-component"
msgstr "Afegeix un component"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s variants"
@@ -6184,13 +6128,13 @@ msgstr "%s variants"
msgid "workspace.assets.create-group"
msgstr "Crea un grup"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Els elements s'anomenaran automàticament com a \"nom del grup / nom de "
"l'element\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Elimina"
@@ -6198,11 +6142,11 @@ msgstr "Elimina"
msgid "workspace.assets.delete-group"
msgstr "Elimina el grup"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Elimina les pàgines"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplica"
@@ -6210,39 +6154,39 @@ msgstr "Duplica"
msgid "workspace.assets.duplicate-main"
msgstr "Duplica el principal"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Edita"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtra"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Vista de quadrícula"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Agrupa"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nom del grup"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Vista de llista"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "llibreria local"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gestiona la biblioteca"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "No s'han trobat recursos"
@@ -6250,7 +6194,7 @@ msgstr "No s'han trobat recursos"
msgid "workspace.assets.open-library"
msgstr "Obre el fitxer de la biblioteca"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Canvia el nom"
@@ -6258,11 +6202,11 @@ msgstr "Canvia el nom"
msgid "workspace.assets.rename-group"
msgstr "Canvia el nom del grup"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Cerca recursos"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Biblioteca compartida"
@@ -6272,43 +6216,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 component"
msgstr[1] "%s components"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Ordena"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografies"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Afegeix una tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Mida"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Estil de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Espaiat de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Alçada de la línia"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transforma el text"
@@ -6316,15 +6260,15 @@ msgstr "Transforma el text"
msgid "workspace.assets.ungroup"
msgstr "Desagrupa"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "S'està copiant la imatge…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Imatge copiada al porta-retalls"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Error en copiar la imatge"
@@ -6336,85 +6280,85 @@ msgstr "Selector de color"
msgid "workspace.colorpicker.color-tokens"
msgstr "Tokens de color"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Els components no es poden niar dins d'ells mateixos."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"No s'han pogut intercanviar algunes còpies. Els components no es poden niar "
"dins d'ells mateixos."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Crea una àrea"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Copia les columnes"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Copia les files"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Crea un tauler"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Fusiona les cel·les"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Enganxa"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Afegeix 1 columna a la dreta"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Afegeix 1 columna a l'esquerra"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Elimina la columna"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Elimina la columna amb el contingut"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplica la columna"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Afegeix 1 fila a sota"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Afegeix 1 fila a sobre"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Elimina la fila"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Elimina la fila amb el contingut"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplica la fila"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Color de la guia"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Elimina la guia"
@@ -6422,15 +6366,15 @@ msgstr "Elimina la guia"
msgid "workspace.debug.title"
msgstr "Eines de depuració"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Mode d'enfocament"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Enfocament apagat"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Enfocament actiu"
@@ -6442,243 +6386,243 @@ msgstr "Degradat lineal"
msgid "workspace.gradients.radial"
msgstr "Degradat radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Desactiva l'alineació dinàmica"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Desactiva l'escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "No ajustis a les guies"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "No ajustis als píxels"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "No ajustis a les guies de les regles"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Desactiva el renderatge WebGL (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Activa l'alineació dinàmica"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Activa l'escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Ajusta a les guies"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Ajusta als píxels"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Ajusta a les guies de les regles"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Activa el renderatge WebGL (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Cerca"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Cerca i reemplaça"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Amaga els noms dels taulers"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Amaga els comentaris"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Amaga les guies"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Amaga la paleta de colors"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Amaga la graella de píxels"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Amaga les regles"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Amaga la paleta de tipografies"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Bloca les guies"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Connecta"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Desconnecta"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Gestiona (estat: desactivat)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Gestiona (estat: activat)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Edita"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fixer"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Ajuda i informació"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "Servidor MCP"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferències"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Mostra"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Refés"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Selecciona-ho tot"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Mostra els noms dels taulers"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Mostra els comentaris"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Mostra les guies"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Mostra la paleta de colors"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Mostra graella de píxels"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Mostra les regles"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Mostra la paleta de tipografies"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Canvia al mode fosc"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Canvia al mode clar"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Canvia al tema del sistema"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Desfés"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Desbloca les guies"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Restableix"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "S'ha produït un error en desar"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Desat"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "S'està desant"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Comparteix"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Visor (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Emplena - Amplia per a omplir"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ajusta - Redueix per a encaixar"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Apropa per a omplir-ho tot"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Pantalla completa"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Apropa la selecció"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Edita la grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Surt"
@@ -6686,7 +6630,7 @@ msgstr "Surt"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Padding inferior"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Mostra les opcions de padding als 4 costats"
@@ -6722,37 +6666,37 @@ msgstr "Fet"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Localitza"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Localitza el layout de grid"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 color"
msgstr[1] "%s colors"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Afegeix un color a la biblioteca"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Encara no hi ha estils de color a la vostra biblioteca"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Encara no hi ha colors recents"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Encara no hi ha estils de tipografia a la vostra biblioteca"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteca del fitxer"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Colors recents"
@@ -6764,75 +6708,75 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Desa l'estil de color"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Mostra/amaga la paleta de colors"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 component"
msgstr[1] "%s components"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Connectada amb"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "O afegiu-ne algunes per a provar:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "No hi ha biblioteques compartides al vostre equip; podeu cercar"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "algunes plantilles aquí"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteca del fitxer"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 gràfic"
msgstr[1] "%s gràfics"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTEQUES EN AQUEST FITXER"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTEQUES"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ACTUALITZACIONS DE LES BIBLIOTEQUES"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "S'està carregant…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "No hi ha biblioteques compartides pendents d'actualitzar"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "No s'ha trobat cap coincidència per a “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Cerca biblioteques compartides"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTEQUES COMPARTIDES"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Connecta una biblioteca"
@@ -6856,25 +6800,25 @@ msgstr "Desvincula tots els recursos"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Desvincula tots els tokens"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 tipografia"
msgstr[1] "%s tipografies"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Desconnecta la biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Actualitza"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "mostra tots els canvis"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ACTUALITZACIONS"
@@ -6936,7 +6880,7 @@ msgstr "Mostra/amaga el difuminat"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Mostra/amaga més opcions"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Cancel·la"
@@ -6944,117 +6888,117 @@ msgstr "Cancel·la"
msgid "workspace.options.canvas-background"
msgstr "Fons del llenç"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Trunca el contingut"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Component"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Anotació"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Còpia"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Crea una anotació"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Edita una anotació"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principal"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Intercanvia el component"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Encara no hi ha recursos en aquesta biblioteca"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Desvinculat"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Localitza les variants en conflicte"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Aquest component té variants en conflicte. Assegureu-vos que cada variant "
"tingui un conjunt únic de propietats i valors."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Localitza les variants duplicades"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Algunes variants tenen propietats i valors idèntics"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Aquestes variants tenen propietats i valors idèntics. Ajusteu els valors "
"per tal que es puguin recuperar."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Aquesta variant té propietats i valors idèntics als d'una altra variant. "
"Ajusteu els valors per tal que es puguin recuperar."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Algunes d'aquestes variants tenen propietats i valors idèntics. Ajusteu els "
"valors per tal que es puguin recuperar."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Aquest component té variants amb noms no vàlids. Assegureu-vos que cada "
"variant segueixi l'estructura correcta."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Localitza les variants no vàlides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Algunes variants tenen noms no vàlids"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Localitza les variants no vàlides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Aquestes variants tenen noms no vàlids."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Aquesta variant té un nom no vàlid."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Algunes d'aquestes variants tenen noms no vàlids."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[propietat]=[valor], [propietat]=[valor]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Proveu d'utilitzar l'estructura següent:"
@@ -7092,7 +7036,7 @@ msgstr "Tenen el mateix nivell de jerarquia."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Els grups, els taulers i els layouts es consideren equivalents."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Com es mantenen connectades les variants"
@@ -7140,11 +7084,11 @@ msgstr "Superior i inferior"
msgid "workspace.options.convert-to-typography"
msgstr "Crea un estil de tipografia"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Disseny"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exporta"
@@ -7152,53 +7096,53 @@ msgstr "Exporta"
msgid "workspace.options.export-multiple"
msgstr "Exporta la selecció"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "Exporta 1 element"
msgstr[1] "Exporta %s elements"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Afegeix una exportació"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Elimina l'exportació"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufix"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "El servei d'exportació està ocupat; torneu-ho a provar més tard"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Exportació cancel·lada"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "S'està cancel·lant…"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportació completa"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "S'està exportant…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Exportació fallida"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Exportació inesperadament lenta"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "S'està esperant…"
@@ -7218,7 +7162,7 @@ msgstr "Elimina l'emplenat"
msgid "workspace.options.fill.section"
msgstr "Secció d'emplenat"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Redimensiona el tauler per a ajustar-lo al contingut"
@@ -7242,67 +7186,67 @@ msgstr "S'inicia el flux"
msgid "workspace.options.grid.auto"
msgstr "Automàtic"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Columnes"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Color"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Espaiat"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Alçada"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marge"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Estableix com a predeterminat"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Inferior"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centre"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Esquerra"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Dreta"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Estira"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Superior"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Usa valors predeterminats"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ample"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Files"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Quadrat"
@@ -7314,7 +7258,7 @@ msgstr "Emplenament del grup"
msgid "workspace.options.group-stroke"
msgstr "Traç del grup"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Afegeix una guia"
@@ -7322,19 +7266,19 @@ msgstr "Afegeix una guia"
msgid "workspace.options.guides.remove-guide"
msgstr "Elimina la guia"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guies"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Mostra/amaga la guia"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspecciona"
@@ -7550,115 +7494,115 @@ msgstr "Interaccions"
msgid "workspace.options.interactions.add-interaction"
msgstr "Afegeix una interacció"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Crema el color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Aclareix el color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Enfosqueix"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Resta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusió"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Llum forta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "To"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Il·lumina"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Lluminositat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplica"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Llum normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Superposa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturació"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Pantalla"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Llum suau"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Secció del menú de capes"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Mostra/amaga la capa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Alçada màx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Amplada màx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Alçada mín."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Amplada mín."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Més colors"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Més llibreries de colors"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Més tokens de color"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Cap mida predefinida coincident"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacitat"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototip"
@@ -7694,23 +7638,23 @@ msgstr "Secció del radi de la vora"
msgid "workspace.options.radius.show-single-corners"
msgstr "Mostra els radis independents"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recent"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Torna-ho a provar"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotació"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Cerca tipografia"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Cerca una mida predefinida"
@@ -7720,11 +7664,11 @@ 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Colors seleccionats"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Secció de selecció de colors"
@@ -7792,55 +7736,55 @@ msgstr "Mostra/amaga l'ombra"
msgid "workspace.options.show-fill-on-export"
msgstr "Mostra en l'exportació"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Mostra al visor"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Mida"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Mides predefinides"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Bloca la proporció"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Desbloca la proporció"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cercle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Fletxa"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Cap"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Redó"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Quadrat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectangle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangle"
@@ -7848,31 +7792,31 @@ msgstr "Triangle"
msgid "workspace.options.stroke-color"
msgstr "Color del traç"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Guió"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Buit"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Ample del traç"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Inferior (block end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Esquerra (inline start)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Dreta (inline end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Superior (block start)"
@@ -7880,49 +7824,49 @@ msgstr "Superior (block start)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Afegeix un color de traç"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centrat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "A ratlles"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Puntejat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Interior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixte"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Exterior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Traç per costat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"La funció de traç per costat només està disponible amb el renderatge nou. "
"Canvieu el renderatge per a utilitzar-la."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Elimina el traç"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Sòlid"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Mostra/amaga el traç"
@@ -7958,11 +7902,11 @@ msgstr "Ample automàtic"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fix"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Espaiat de la lletra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Alçada de la línia"
@@ -8012,154 +7956,154 @@ 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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ample"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Dibuixa els nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Alineat"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Independent"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Igual"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Comportament del tirador"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Uneix els nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Converteix a cantó (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Converteix a corba (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Combina els nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mou els nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separa els nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Alinea els nodes (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Obre"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Descobreix [més extensions](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Encara no hi ha extensions instal·lades"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "El manifest de l'extensió no és correcte."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Heu de ser editors per a utilitzar aquesta extensió"
-#: src/app/main/data/plugins.cljs:158
+#: src/app/main/data/plugins.cljs:160
msgid "workspace.plugins.error.unreachable"
msgstr "No s'ha pogut contactar amb el connector."
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "L'extensió no existeix o l'URL no és correcte."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instal·la"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Extensions instal·lades"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Gestor d'extensions"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Extensions"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ACTUALITZA AQUESTA EXTENSIÓ"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"L'extensió s'ha modificat des de la darrera vegada que l'heu oberta. Ara "
"també vol accedir a:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Inicia baixades de fitxers."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Desa dades al navegador."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Llegeix el contingut del porta-retalls."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Llegeix i escriu al porta-retalls."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Llegeix els vostres comentaris i respostes."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Llegeix i modifica els vostres comentaris i respon en nom vostre."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Llegeix el contingut dels fitxers als quals teniu accés."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Llegeix i modifica el contingut dels fitxers als quals teniu accés."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Tingueu en compte que un tercer ha creat aquesta extensió; assegureu-vos "
@@ -8167,74 +8111,74 @@ msgstr ""
"són importants per a nosaltres. Si teniu cap dubte, contacteu amb "
"l'assistència."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Llegeix les vostres biblioteques i recursos."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Llegeix i modifica les vostres biblioteques i recursos."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "L'EXTENSIÓ '%s' VOL ACCEDIR A:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Llegeix la informació del perfil de l'usuari actual."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Llista d'extensions"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Elimina l'extensió"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Escriu l'URL d'una extensió"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Extensions"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "ARA NO"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Voleu fer-hi una ullada? S'obrirà en un esborrany nou de l'equip actual. "
"(Si no, sempre la trobareu a les extensions instal·lades de qualsevol "
"fitxer.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "L'EXTENSIÓ '%s' S'HA INSTAL·LAT PER AL VOSTRE USUARI!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PROVA L'EXTENSIÓ"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Afegeix un flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Afegeix un grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Afegeix un layout"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Crea una variant"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Afegeix una propietat nova"
@@ -8246,11 +8190,11 @@ msgstr "Envia-ho al fons"
msgid "workspace.shape.menu.backward"
msgstr "Envia-ho darrere"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Elimina les guies del tauler"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combina com a variants"
@@ -8258,7 +8202,7 @@ msgstr "Combina com a variants"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Els components han d'estar a la mateixa pàgina"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copia"
@@ -8302,27 +8246,27 @@ msgstr "Copia com a text"
msgid "workspace.shape.menu.create-annotation"
msgstr "Crea una anotació"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Selecciona al tauler"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Crea un component"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Crea components múltiples"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Retalla"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Elimina"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Elimina l'inici del flux"
@@ -8334,7 +8278,7 @@ msgstr "Desconnecta la instància"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Desenganxa les instàncies"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferència"
@@ -8342,15 +8286,15 @@ msgstr "Diferència"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplica"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Edita"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exclou"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Aplana"
@@ -8362,7 +8306,7 @@ msgstr "Volteja horitzontalment"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Volteja verticalment"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Inici del flux"
@@ -8374,31 +8318,31 @@ msgstr "Porta-ho endavant"
msgid "workspace.shape.menu.front"
msgstr "Porta-ho a primer pla"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Agrupa"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Amaga"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Mostra/Amaga la interfície"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersecció"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Bloca"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Màscara"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Enganxa"
@@ -8406,27 +8350,27 @@ msgstr "Enganxa"
msgid "workspace.shape.menu.paste-props"
msgstr "Enganxa les propietats"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Camí"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Elimina el flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Elimina el grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Elimina el layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Elimina la propietat"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "La variant ha de tenir com a mínim una propietat"
@@ -8450,11 +8394,11 @@ msgstr "Restaura la variant"
msgid "workspace.shape.menu.select-layer"
msgstr "Selecciona la capa"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Mostra"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Mostra al panell de recursos"
@@ -8462,7 +8406,7 @@ msgstr "Mostra al panell de recursos"
msgid "workspace.shape.menu.show-main"
msgstr "Vés al component principal"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Converteix el traç en camí"
@@ -8474,19 +8418,19 @@ msgstr "Elimina la miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Estableix com a miniatura"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Desagrupa"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Unió"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Desbloca"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Desemmascara"
@@ -8502,79 +8446,79 @@ msgstr "Replega la barra lateral"
msgid "workspace.sidebar.expand"
msgstr "Desplega la barra lateral"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historial"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Capes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Components"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtra"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Taulers"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grups"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Imatges"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Màscares"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Cap coincidència"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Reemplaça"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Reemplaça-ho tot"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Reemplaça amb…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Cerca capes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Cerca i reemplaça"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Contingut del text"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Noms de les capes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textos"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Atributs SVG importats"
@@ -8586,7 +8530,7 @@ msgstr "Pàgines"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Afegeix una pàgina"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa del lloc"
@@ -8614,7 +8558,7 @@ msgstr "Afegeix un set a aquest grup"
msgid "workspace.tokens.add-token"
msgstr "Afegeix un token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Aplicat a"
@@ -8634,7 +8578,7 @@ msgstr "Mida de la lletra de base"
msgid "workspace.tokens.base-font-size.error"
msgstr "La mida de la lletra de base ha de ser un valor en píxels o sense unitat."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Color"
@@ -8646,7 +8590,7 @@ msgstr "Copia el camí del token"
msgid "workspace.tokens.create-new-theme"
msgstr "Creeu el primer tema ara."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Creeu-ne un."
@@ -8670,7 +8614,7 @@ msgstr "Duplica el token"
msgid "workspace.tokens.duplicate-group"
msgstr "Duplicar grup de tokens"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "còpia"
@@ -8694,7 +8638,7 @@ msgstr "Edita el token de %s"
msgid "workspace.tokens.enter-token-name"
msgstr "Escriviu el nom del token de %s"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "No es poden aplicar tokens mentre editeu text. Seleccioneu la capa de text."
@@ -8722,7 +8666,7 @@ msgstr "Previsualització:"
msgid "workspace.tokens.export.single-file"
msgstr "Fitxer únic"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Mida de la lletra o {alias}"
@@ -8732,7 +8676,7 @@ msgstr ""
"Error en definir el pes o l'estil de la lletra. Aquest estil no existeix en "
"la lletra actual"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Pes de la lletra (300, Bold Italic...) o un {alias}"
@@ -8770,7 +8714,7 @@ msgstr ""
"En un fitxer JSON únic, les claus de primer nivell han de ser els noms dels "
"sets de tokens."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importa els tokens"
@@ -8778,17 +8722,17 @@ msgstr "Importa els tokens"
msgid "workspace.tokens.import-warning"
msgstr "En importar tokens se sobreescriuran els tokens, sets i temes actuals."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactiu"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Aquest set no està actiu. Canvieu el tema o activeu aquest set per a veure "
"els canvis a la vista"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Utilitza tokens individuals"
@@ -8808,11 +8752,11 @@ msgstr "Tema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Afegeix un tema (p. ex. Clar)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Espaiat de la lletra o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Alçada de la línia (multiplicador, px, %) o {alias}"
@@ -8828,11 +8772,11 @@ msgstr "Mida màx."
msgid "workspace.tokens.min-size"
msgstr "Mida mín."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Referència no trobada"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Feu clic dret per a veure les opcions"
@@ -8848,7 +8792,7 @@ msgstr "Cap tema actiu"
msgid "workspace.tokens.no-permisions-set"
msgstr "Heu de ser editors per a activar o desactivar sets"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Heu de ser editors per a utilitzar temes"
@@ -8860,7 +8804,7 @@ msgstr "Encara no hi ha cap set definit. Creeu-ne un primer."
msgid "workspace.tokens.no-sets-yet"
msgstr "Encara no hi ha cap set."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "No hi ha cap tema."
@@ -8876,7 +8820,7 @@ msgstr "No ho remapegis"
msgid "workspace.tokens.num-active-sets"
msgstr "%s sets actius"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valor original: %s"
@@ -8888,15 +8832,15 @@ msgstr "Emplenats"
msgid "workspace.tokens.radius"
msgstr "Radi"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "La referència de {%s} no és vàlida o no és a cap set actiu."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Escriviu un àlies de tipografia de token"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Escriviu un àlies d'ombra de token"
@@ -8934,7 +8878,7 @@ msgstr "Canviar nom del grup de tokens"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Els teus tokens es renomenaran automàticament a %s.(sufix).(token)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valor resolt: %s"
@@ -8972,27 +8916,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Configuració dels tokens"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Afegeix una ombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Difuminat"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Interior"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Elimina l'ombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Difusió"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "El valor de difuminat no pot ser negatiu"
@@ -9000,11 +8944,11 @@ msgstr "El valor de difuminat no pot ser negatiu"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "El valor de difusió no pot ser negatiu"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -9012,11 +8956,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Mida"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through o {alias}"
@@ -9034,31 +8978,31 @@ msgstr "Llista de temes"
msgid "workspace.tokens.token-description"
msgstr "Descripció"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Selecciona la família tipogràfica"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Família tipogràfica"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Família tipogràfica o llista de lletres separades per comes (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nom"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Ja existeix un token al camí: %s o en un prefix d'aquest."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "El nom ha de tenir com a mínim 1 caràcter"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
"no és un nom de token vàlid.\n"
@@ -9069,11 +9013,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valor"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Escriviu un valor o un àlies amb {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -9092,15 +9036,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "El tipus '%s' no està disponible (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Utilitza una referència"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "El valor no és vàlid"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Fletxa (%s)"
@@ -9108,79 +9052,75 @@ msgstr "Fletxa (%s)"
msgid "workspace.toolbar.assets"
msgstr "Recursos"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta de colors (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comentaris (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Corba (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "El·lipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tauler (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Imatge (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:413
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
msgid "workspace.toolbar.label"
msgstr "Barra d'eines"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Línia (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Connecta aquí"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP connectat"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Mou (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Barra de paletes"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Camí (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Extensions (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectangle (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografies (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Mostra/amaga la barra d'eines"
@@ -9201,11 +9141,11 @@ msgstr "El renderatge no està disponible. Actualitzeu per a restaurar l'edició
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Actualitza"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Encara no hi ha canvis a l'historial"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "per %s"
@@ -9345,19 +9285,19 @@ msgstr "recurs tipogràfic"
msgid "workspace.undo.entry.unknown"
msgstr "Operació sobre %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Descarta"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Més informació"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Hi ha actualitzacions a les biblioteques compartides"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Actualitza"
diff --git a/frontend/translations/cs.po b/frontend/translations/cs.po
index 5760d638f1..70f84a12b6 100644
--- a/frontend/translations/cs.po
+++ b/frontend/translations/cs.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: \"Amerey.eu\" \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Czech "
" \n"
"Language: cs\n"
@@ -9,9 +9,9 @@ msgstr ""
"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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Už máte účet?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Zapomněli jste heslo?"
@@ -37,37 +37,37 @@ msgstr "Zapomněli jste heslo?"
msgid "auth.fullname"
msgstr "Jméno a příjmení"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Přihlásit se do mého účtu"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Přihlaste se zde."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -87,7 +87,7 @@ msgstr "Profil není ověřen, před pokračováním prosím ověřte profil."
msgid "auth.notifications.recovery-token-sent"
msgstr "Odkaz na obnovení hesla byl zaslán na váš e-mail."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Připojení k týmu proběhlo úspěšně"
@@ -119,7 +119,7 @@ msgstr "Zapomněli jste heslo?"
msgid "auth.recovery-submit"
msgstr "Změnit heslo"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ještě nemáte účet?"
@@ -131,7 +131,7 @@ msgstr "Řekněte nám, jak bychom vám měli říkat."
msgid "auth.register-account-title"
msgstr "Vaše jméno"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Vytvořit účet"
@@ -144,7 +144,7 @@ msgstr "Vytvořit účet"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Všeobecné podmínky poskytování služeb"
@@ -156,94 +156,94 @@ msgstr "Pracovní email"
msgid "comments.mentions.not-found"
msgstr "Pro @%s nebyli nalezeni žádní lidé"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Zveřejnit"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Všichni uživatelé Penpotu"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Opravdu chcete tento odkaz odstranit? Pokud to uděláte, nebude už pro "
"nikoho dostupný"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(aktuální)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Zničit odkaz"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Získat odkaz"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Odkaz byl úspěšně zkopírován"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Spravovat oprávnění"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 sdílená stránka"
msgstr[1] "%s sdílené stránky"
msgstr[2] "%s sdílených stránek"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Může komentovat"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Může prohlížet kód"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Kdokoliv s odkazem bude mít přístup"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Sdílené stránky"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Odkaz ke sdílení se zobrazí zde"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Pouze členové týmu"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Sdílet prototypy"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Vybrat vše"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Zrušit zveřejnění"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Správa týmu"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot je určený pro týmy. Pozvěte členy ke spolupráci na projektech a "
"souborech"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Vytvořte tým!"
@@ -251,23 +251,23 @@ msgstr "Vytvořte tým!"
msgid "dashboard.add-file"
msgstr "Přidat soubor"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Přidat jako sdílenou knihovnu"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Změnit e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(zkopírovat)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Vytvořit nový tým"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Připnout tuto verzi"
@@ -275,11 +275,11 @@ msgstr "Připnout tuto verzi"
msgid "dashboard.default-team-name"
msgstr "Váš Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Smazat tým"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Stáhnout soubor Penpot (.penpot)"
@@ -291,19 +291,19 @@ msgstr "Duplikovat"
msgid "dashboard.duplicate-multi"
msgstr "Duplikovat %s soubory"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Jakmile člen projektu vytvoří koncept, zobrazí se zde."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Zatím žádné koncepty."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Jakmile člen projektu vytvoří soubor, zobrazí se zde."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Zatím žádné soubory."
@@ -326,68 +326,68 @@ msgstr "Zatím žádné knihovny."
msgid "dashboard.export-binary-multi"
msgstr "Stáhnout soubory %s Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportovat tabule do PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportovat do PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s z %s prvků vybráno"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportovat"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Nastavení exportu můžete přidat k prvkům ve vlastnostech návrhu (v dolní "
"části pravého postranního panelu)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informace o nastavování exportů v Penpotu."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Neexistují žádné prvky s nastavením exportu."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Výběr exportu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Písmo odstraněno"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Odmítnout vše"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Stále nemáte nainstalované žádné vlastní písma."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Zatím žádná vlastní písma."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -397,7 +397,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -406,11 +406,11 @@ msgstr ""
"[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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Nahrát vše"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -421,11 +421,11 @@ msgstr ""
"[Transfonter](https://transfonter.org/) ke generování webových písem a "
"opravě chyb. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importovat Penpot soubory"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ups! Tento soubor se nepodařilo importovat"
@@ -433,14 +433,14 @@ msgstr "Ups! Tento soubor se nepodařilo importovat"
msgid "dashboard.import.bad-url"
msgstr "Import se nezdařil. Adresa URL šablony je nesprávná"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Některé soubory obsahovaly neplatné objekty, které byly odstraněny."
@@ -448,55 +448,27 @@ msgstr "Některé soubory obsahovaly neplatné objekty, které byly odstraněny.
msgid "dashboard.import.no-perms"
msgstr "Nemáte oprávnění k importu do tohoto týmu"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Zpracovávání barev"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Zpracovávání komponentů"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Zpracovávání médií"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Zpracovává se stránka: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Zpracovávání typografií"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Nahrávání dat na server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Nahrávání souboru: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Pozvat do týmu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Odejít z týmu"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Knihovny a šablony"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Knihovny"
@@ -504,7 +476,7 @@ msgstr "Knihovny"
msgid "dashboard.loading-files"
msgstr "načítání vašich souborů …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "načítání vašich písem …"
@@ -520,39 +492,39 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nový soubor"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nový soubor"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nový projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nový projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nebyly nalezeny žádné shody pro “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Připnuté projekty se zobrazí zde"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Oznámení"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Vaše e-mailová adresa byla úspěšně aktualizována"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Vaše e-mailová adresa byla úspěšně ověřena"
@@ -564,11 +536,11 @@ msgstr "Nastavení oznámení bylo aktualizováno"
msgid "dashboard.notifications.password-saved"
msgstr "Heslo bylo úspěšně uloženo!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Zobrazit oznámení"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "Počet členů: %s"
@@ -576,7 +548,7 @@ msgstr "Počet členů: %s"
msgid "dashboard.open-in-new-tab"
msgstr "Otevřít soubor na nové kartě"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Možnosti"
@@ -600,7 +572,7 @@ msgstr "Nyní jste vlastníkem tohoto týmu."
msgid "dashboard.permissions-change.viewer"
msgstr "Nyní jste v tomto týmu divákem."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Připnout/Odepnout"
@@ -616,11 +588,11 @@ msgstr "Manifest pluginu nelze analyzovat"
msgid "dashboard.plugins.try-plugin"
msgstr "Zkuste plugin: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekty"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Chcete odstranit svůj účet?"
@@ -628,23 +600,23 @@ msgstr "Chcete odstranit svůj účet?"
msgid "dashboard.removed-from-team"
msgstr "Již nejste součástí týmu „%s“."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Uložit nastavení"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Vyhledat…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Hledá se “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Vybrat jazyk uživatelského rozhraní"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Vyberte téma"
@@ -708,11 +680,11 @@ msgstr "Aktualizovat nastavení"
msgid "dashboard.settings.notifications.title"
msgstr "Oznámení"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Zobrazit všechny soubory"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Historie verze"
@@ -738,7 +710,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Váš soubor byl úspěšně přesunut"
@@ -750,86 +722,86 @@ msgstr "Vaše soubory byly úspěšně přesunuty"
msgid "dashboard.success-move-project"
msgstr "Váš projekt byl úspěšně přesunut"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informace o týmu"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Členové týmu"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projekty týmu"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Téma UI"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Výsledky vyhledávání"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Zadejte výraz pro hledání"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Zrušit zveřejnění knihovny"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Aktualizovat nastavení"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Je aktivní"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Když je tento webhook spuštěn, budou doručeny podrobnosti o události"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Smazat nebo upravit můžete pouze vámi vytvořené webhooky."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Typ obsahu"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Vytvořit webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook byl úspěšně vytvořen."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooky jsou jednoduchým způsobem, jak umožnit jiným webům a aplikacím, "
"aby byly upozorňovány na určité události v Penpotu. Na každou z vámi "
"poskytnutých adres URL odešleme požadavek POST."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Chcete-li webhook přidat, stiskněte tlačítko „Přidat webhook“."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Dosud nebyly vytvořeny žádné webhooky."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Váš účet"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Vaše jméno"
@@ -845,11 +817,11 @@ msgstr "Pozor"
msgid "ds.component-subtitle"
msgstr "Komponenty k aktualizaci:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Povolit"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Zrušit"
@@ -869,15 +841,15 @@ msgstr "Poskytovatel autorizace není pro tento profil povolen"
msgid "errors.auth-provider-not-configured"
msgstr "Zprostředkovatel ověřování není nakonfigurován."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Zdá se, že nejste ověřeni nebo platnost relace vypršela."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Písmo %s se nepodařilo načíst"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Písma %s se nepodařilo načíst"
@@ -885,15 +857,15 @@ 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/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Váš prohlížeč tuto operaci nedokáže provést"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Již použitá e-mailová adresa"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail byl již ověřen."
@@ -901,25 +873,25 @@ msgstr "E-mail byl již ověřen."
msgid "errors.email-as-password"
msgstr "Jako heslo nelze použít váš e-mail"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Doména není povolena"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "E-mail «%s» má mnoho trvalých zpráv o nedoručitelnosti."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "E-mail «%s» byl nahlášen jako spam nebo byl trvale nedostupný."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Vypadá to, že otevíráte soubor, který má povolenou funkci '%s', ale "
"aktuální verze penpotu ji nepodporuje nebo je deaktivovaná."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Funkce '%s' není podporována."
@@ -931,14 +903,14 @@ msgstr "Musí obsahovat alespoň 1 znak."
msgid "errors.field-not-all-whitespace"
msgstr "Název musí obsahovat jiný znak než mezeru."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Zdá se, že existuje nesoulad mezi povolenými funkcemi a funkcemi souboru, "
"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:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Něco se pokazilo."
@@ -950,7 +922,7 @@ msgstr "Chybná barva"
msgid "errors.invalid-email"
msgstr "Zadejte prosím platný email"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Potvrzovací e-mail se musí shodovat"
@@ -970,11 +942,11 @@ msgstr "Tato pozvánka byla pravděpodobně zrušena nebo vypršela její platno
msgid "errors.ldap-disabled"
msgstr "Ověřování LDAP je vypnuto."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Dosáhli jste '%s' kvóty. Kontaktujte podporu."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Bylo dosaženo maximálního (%s) počtu e-mailů, které lze pozvat v jedné "
@@ -992,13 +964,13 @@ msgstr "Zdá se, že obsah obrázku neodpovídá příponě souboru."
msgid "errors.media-type-not-allowed"
msgstr "Zdá se, že toto není platný obrázek."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Profil, který zvete, má ztlumené e-maily (zprávy o spamu nebo vysoké "
"nedoručitelnosti)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Probíhá migrace"
@@ -1010,7 +982,7 @@ msgstr "Potvrzovací heslo se musí shodovat"
msgid "errors.password-too-short"
msgstr "Heslo by mělo mít nejméně 8 znaků"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Neplatná data ve schránce"
@@ -1018,7 +990,7 @@ msgstr "Neplatná data ve schránce"
msgid "errors.profile-blocked"
msgstr "Profil je zablokován"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Váš profil má ztlumené e-maily (zprávy o spamu nebo vysoká nedoručitelnost)."
@@ -1026,21 +998,21 @@ msgstr "Váš profil má ztlumené e-maily (zprávy o spamu nebo vysoká nedoru
msgid "errors.registration-disabled"
msgstr "Registrace je momentálně zakázána."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Zjištěna nekompatibilní funkce '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Nedostatečný počet členů pro opuštění týmu, pravděpodobně jste chtěli tým "
"smazat."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Člen, kterého se pokoušíte přiřadit, neexistuje."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Vlastník nemůže opustit tým, musíte přeřadit roli vlastníka."
@@ -1048,39 +1020,39 @@ msgstr "Vlastník nemůže opustit tým, musíte přeřadit roli vlastníka."
msgid "errors.unexpected-error"
msgstr "Došlo k neočekávané chybě."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Neznámý token"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Soubor má nekompatibilní číslo verze"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Chyba připojení, adresa URL není dostupná"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "Adresa URL neprošla ověřením."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Poslední dodávka nebyla úspěšná."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Chyba při ověřování SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Při ověřování došlo k neočekávané chybě"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Neočekávaný stav %s"
@@ -1096,13 +1068,13 @@ msgstr "Staré heslo je nesprávné"
msgid "feedback.description"
msgstr "Popisek"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Jsme rádi, že jste tady. Pokud potřebujete pomoc, zkuste nejdříve hledání "
"na fóru."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot komunita"
@@ -1116,11 +1088,11 @@ msgstr ""
"Popište důvod svého e-mailu a uveďte, zda se jedná o problém, nápad nebo "
"připomínku. Člen našeho týmu vám co nejdříve odpoví."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Zde vám pomůžeme s vašimi technickými dotazy."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Účet podpory na X"
@@ -1152,7 +1124,7 @@ msgstr "Stáhnout zdrojový obrázek"
msgid "inspect.attributes.shadow"
msgstr "Stín"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Velikost a pozice"
@@ -1160,39 +1132,27 @@ msgstr "Velikost a pozice"
msgid "inspect.attributes.stroke"
msgstr "Obrys"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Střed"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Uvnitř"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Venku"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typografie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Rodina písem"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Velikost písma"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Styl písma"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Mezery mezi písmeny"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Výška řádku"
@@ -1204,11 +1164,11 @@ msgstr "Žádná"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Podtržení"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "První písmena velká"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Malá písmena"
@@ -1220,7 +1180,7 @@ msgstr "Žádná"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Nenastaveno"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Velká písmena"
@@ -1284,39 +1244,39 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Text"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Zkratky"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Přijmout"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktivní"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Přidat"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Přidat vlastní písmo"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Přidávání..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Správce"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Vše"
@@ -1324,29 +1284,29 @@ msgstr "Vše"
msgid "labels.and"
msgstr "a"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Zpět"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Vypadá to, že musíte chvíli počkat a zkusit to znovu; provádíme drobnou "
"údržbu našich serverů."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Špatná brána"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Zrušit"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Zavřít"
@@ -1354,7 +1314,7 @@ msgstr "Zavřít"
msgid "labels.code"
msgstr "Kód"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Sbalit"
@@ -1362,11 +1322,11 @@ msgstr "Sbalit"
msgid "labels.comment"
msgstr "Komentář"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komentáře"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Komunita"
@@ -1374,35 +1334,35 @@ msgstr "Komunita"
msgid "labels.confirm-password"
msgstr "Potvrďte heslo"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Pokračovat"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Můžete pokračovat s účtem Penpot"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopírovat odkaz"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Vytvořit"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Vytvořit nový tým"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Zadejte název nového týmu"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Menu"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Smazat"
@@ -1414,7 +1374,7 @@ msgstr "Smazat komentář"
msgid "labels.delete-comment-thread"
msgstr "Smazat vlákno"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Smazat pozvánku"
@@ -1422,31 +1382,31 @@ msgstr "Smazat pozvánku"
msgid "labels.delete-multi-files"
msgstr "Smazat soubory %s"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Vývojář"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Zahodit"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Pracovní verze"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Upravit"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Platnost vypršela"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportovat"
@@ -1458,51 +1418,51 @@ msgstr "Zpětná vazba zakázána"
msgid "labels.feedback-sent"
msgstr "Zpětná vazba byla odeslána"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Rodina písem"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Styly"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Písma"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Úložiště Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Poslat zpětnou vazbu"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Jít zpět"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafický design"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centrum nápovědy"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Skrýt vyřešené komentáře"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Import"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Neaktivní"
@@ -1510,35 +1470,35 @@ msgstr "Neaktivní"
msgid "labels.info"
msgstr "Informace"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Nainstalovaná písma"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Interní chyba"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Pozvánky"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Jazyk"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Knihovny a šablony"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Načítání…"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Přihlásit se ne registrovat"
@@ -1546,19 +1506,19 @@ msgstr "Přihlásit se ne registrovat"
msgid "labels.login"
msgstr "Přihlášení"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Odhlásit se"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Člen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Členové"
@@ -1566,41 +1526,41 @@ msgstr "Členové"
msgid "labels.new-password"
msgstr "Nové heslo"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Další"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Vše je aktuální! Zde se zobrazí upozornění na nové komentáře."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Nejsou žádné pozvánky."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Oznámení"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 soubor"
msgstr[1] "%s soubory"
msgstr[2] "%s souborů"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tabule"
msgstr[1] "%s tabule"
msgstr[2] "%s tabulí"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projekt"
@@ -1611,27 +1571,27 @@ msgstr[2] "%s projektů"
msgid "labels.old-password"
msgstr "Staré heslo"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Možnosti"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Jiné (upřesněte)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Ostatní"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Majitel"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Heslo"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Nevyřízený"
@@ -1639,43 +1599,43 @@ msgstr "Nevyřízený"
msgid "labels.post"
msgstr "Příspěvek"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Předchozí"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Produktový nebo UX design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Produktový nebo projektový manažer"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekty"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Poznámky k verzi"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Odstranit"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Odebrat člena"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Přejmenovat"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Přejmenovat tým"
@@ -1699,7 +1659,7 @@ msgstr "nová odpověď"
msgid "labels.reply.thread"
msgstr "Odpověď"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Znovu poslat pozvánku"
@@ -1707,43 +1667,43 @@ msgstr "Znovu poslat pozvánku"
msgid "labels.restore"
msgstr "Obnovit"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Zkusit znovu"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Role"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Uložit"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Hledat"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Hledat písmo"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Vyberte možnost"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Poslat"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Odesílání…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Provádíme plánovanou údržbu našich systémů."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Služba je nedostupná"
@@ -1751,55 +1711,55 @@ msgstr "Služba je nedostupná"
msgid "labels.sets"
msgstr "Sady"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Nastavení"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Sdílet"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Knihovny"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Zobrazit všechny komentáře"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Zobrazit seznam komentářů"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Zobrazit pouze vaše zmínky"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Zobrazit pouze vaše komentáře"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Start"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Student nebo učitel"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Motivy"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriály"
@@ -1807,23 +1767,23 @@ msgstr "Tutoriály"
msgid "labels.unpublish-multi-files"
msgstr "Zrušit publikování %s souborů"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Aktualizovat"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Aktualizovat tým"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Nahrát"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Nahrát vlastní písma"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Nahrávání…"
@@ -1831,11 +1791,11 @@ msgstr "Nahrávání…"
msgid "labels.view-only"
msgstr "Jen pro čtení"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Prohlížeč"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -1843,11 +1803,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Napsat nový komentář"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(vy)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Váš účet"
@@ -1900,61 +1860,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Přidat „%s“ jako Sdílenou knihovnu"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Velké posunutí"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Ověřit nový e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Zašleme vám e-mail na váš aktuální e-mail „%s“, abychom ověřili vaši "
"identitu."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nový e-mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Změnit e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Změňte svůj e-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Vytvořit webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Vytvořit webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Adresa URL datové části"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Zrušit a ponechat si můj účet"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ano, odstranit můj účet"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Odebráním účtu ztratíte všechny své aktuální projekty a archivy."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Opravdu chcete smazat svůj účet?"
@@ -2004,29 +1964,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Odstranění stylu písma"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Mazání písma"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Opravdu chcete smazat tuto stránku?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Smazat stránku"
@@ -2042,35 +2002,35 @@ msgstr "Opravdu chcete smazat tento projekt?"
msgid "modals.delete-project-confirm.title"
msgstr "Smazat projekt"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Smazat soubor"
msgstr[1] "Smazat soubory"
msgstr[2] "Smazat soubory"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Není aktivován v žádném souboru."
msgstr[1] "Nejsou aktivovány v žádném souboru."
msgstr[2] "Nejsou aktivovány v žádném souboru."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Tato knihovna je aktivována zde: "
msgstr[1] "Tyto knihovny jsou aktivovány zde: "
msgstr[2] "Tyto knihovny jsou aktivovány zde: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Opravdu chcete smazat tento soubor?"
msgstr[1] "Opravdu chcete smazat tyto soubory?"
msgstr[2] "Opravdu chcete smazat tyto soubory?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Mazání souboru"
@@ -2091,19 +2051,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Mazání týmu"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Smazat člena"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Opravdu chcete tohoto člena smazat z týmu?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Smazat člena týmu"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2116,172 +2076,172 @@ msgstr[2] ""
"Aktiva, která již byla v těchto souborech použita, tam zůstanou (nebude "
"porušen žádný návrh)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Smazat webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Opravdu chcete tento webhook smazat?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Mazání webhooku"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Upravit webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Upravit webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Poslat pozvánku"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-maily oddělené čárkou"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Některé e-maily jsou od současných členů týmu. Jejich pozvánky nebudou "
"odeslány."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Můžete pozvat členy do týmu, aby měli přístup k tomuto souboru a všem "
"souborům týmu."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Pozvat členy do týmu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Protože jste jediným členem tohoto týmu, tým bude smazán spolu s jeho "
"projekty a soubory."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Opravdu chcete opustit tým %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Nemůžete opustit tým, pokud není žádný jiný člen, kterého by bylo možné "
"povýšit na vlastníka. Možná budete chtít tým smazat."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Jste vlastníkem tohoto týmu. Než odejdete, vyberte jiného člena, kterého "
"chcete povýšit na vlastníka."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Povýšit a odejít"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Vyberte člena, kterého chcete povýšit"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Než odejdete"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Opustit tým"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Opravdu chcete opustit tento tým?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Opuštění týmu"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Přesunout"
msgstr[1] "Přesunout"
msgstr[2] "Přesunout"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Opravdu chcete tuto knihovnu přesunout?"
msgstr[1] "Opravdu chcete přesunout tyto knihovny?"
msgstr[2] "Opravdu chcete přesunout tyto knihovny?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Přesunout knihovnu"
msgstr[1] "Přesunout knihovny"
msgstr[2] "Přesunout knihovny"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Posunout o"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Převést vlastnictví"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Pokud převedete vlastnictví, změníte svou roli na správce a ztratíte "
"některá oprávnění k tomuto týmu. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Jste současným vlastníkem tohoto týmu. Opravdu chcete udělat %s novým "
"vlastníkem týmu?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nový majitel týmu"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publikovat"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Vaše knihovna je prázdná. Opravdu to chcete publikovat?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publikovat prázdnou knihovnu"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Malé posunutí"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Zrušit publikování"
msgstr[1] "Zrušit publikování"
msgstr[2] "Zrušit publikování"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Opravdu chcete zrušit publikování této knihovny?"
msgstr[1] "Opravdu chcete zrušit publikování těchto knihoven?"
msgstr[2] "Opravdu chcete zrušit publikování těchto knihoven?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Zrušit publikování knihovny"
@@ -2306,11 +2266,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Aktualizovat komponentu ve sdílené knihovně"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Tato stránka neexistuje"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Chyba 404"
@@ -2328,11 +2288,11 @@ msgstr "Odeslali jsme obnovovací e-mail na adresu"
msgid "not-found.login.sent-recovery-check"
msgstr "Zkontrolujte svůj e-mail a kliknutím na odkaz vytvořte nové heslo."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Zaregistrujte se zdarma"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "A začněte používat Penpot během několika sekund!"
@@ -2340,67 +2300,67 @@ msgstr "A začněte používat Penpot během několika sekund!"
msgid "not-found.made-with-love"
msgstr "Vytvořeno s LÁSKOU a Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "O přístup k tomuto souboru jste již požádali."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Již jste požádali o přístup k tomuto souboru nebo jiným souborům nebo "
"projektům tohoto týmu."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Již jste požádali o přístup k tomuto projektu nebo jiným projektům nebo "
"souborům tohoto týmu."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Již jste požádali o přístup k tomuto projektu."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "POŽÁDAT O PŘÍSTUP"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Pamatujte, že pokud to vlastník dovolí, budete pozváni do týmu."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Vaše žádost byla správně odeslána!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "K tomuto souboru nemáte přístup."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Přejděte na svůj Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Pokud to vlastník dovolí, budete pozváni do týmu."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Soubor Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "K tomuto projektu nemáte přístup."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJEKT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Chcete-li získat přístup k tomuto souboru, můžete požádat vlastníka týmu."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Chcete-li získat přístup k tomuto projektu, můžete požádat vlastníka týmu."
@@ -2412,23 +2372,23 @@ msgstr "Přestávka na údržbu: do 5 minut budeme mimo provoz na krátkou údr
msgid "notifications.by-code.upgrade-version"
msgstr "K dispozici je nová verze."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Pozvánka byla úspěšně odeslána"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Odkaz na pozvánku zkopírován"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Nemůžete smazat svůj profil. Než budete pokračovat, znovu přiřaďte své týmy."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil byl úspěšně uložen!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Ověřovací e-mail byl odeslán na adresu %s. Zkontrolujte si e-mail!"
@@ -2456,78 +2416,78 @@ msgstr "Po pojmenování svého týmu budete moci pozvat lidi, aby se přidali."
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Vytvořte tým"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Pozvat členy"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Pozvat s rolí:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Pusťme se do toho!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Vytváření reálného kódu z návrhů"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Vytváření designových systémů"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototypování"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Design UI/UX aplikace"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "K čemu budete Penpot používat?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Řekněte nám něco o sobě, abyste nám pomohli nastavit Penpot pro vás. Vaše "
"odpovědi nám pomohou stanovit priority nových funkcí a nasměrovat vás "
"správným směrem, abyste mohli začít."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Pomozte nám se s vámi seznámit"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Který z těchto nástrojů používáte nejčastěji?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Jakou práci děláte?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Řekněte nám o své práci"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Kde byste chtěli začít?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Vzdělání"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Osobní"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Pracovní"
@@ -2577,11 +2537,11 @@ msgstr "Začněte navrhovat"
msgid "profile.recovery.go-to-login"
msgstr "Přejít na přihlášení"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Odpojit"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Smíšený"
@@ -2593,35 +2553,35 @@ msgstr "Odstranit barvu"
msgid "settings.select-this-color"
msgstr "Vyberte položky pomocí tohoto stylu"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komentáře"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Zarovnat dolů"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Zarovnat vodorovně na střed"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Zarovnat vlevo"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Zarovnat vpravo"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Zarovnat nahoru"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Zarovnat na střed svisle"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Vytvořit tabuli z výběru"
@@ -2629,47 +2589,47 @@ msgstr "Vytvořit tabuli z výběru"
msgid "shortcuts.bold"
msgstr "Přepnout tučné písmo"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Rozdíl"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Vyloučení"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Průnik"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Sloučení"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Přesunout dozadu"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Přesunout dozadu"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Přesunout dopředu"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Posunout dopředu"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Vymazat zpět"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopírovat"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Zkopírovat odkaz do schránky"
@@ -2677,35 +2637,35 @@ msgstr "Zkopírovat odkaz do schránky"
msgid "shortcuts.create-new-project"
msgstr "Vytvořit nový"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Vyjmout"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Oddálit"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Smazat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Smazat uzel"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Odpojit komponentu"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Křivka"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipsa"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tabule"
@@ -2713,39 +2673,39 @@ msgstr "Tabule"
msgid "shortcuts.draw-nodes"
msgstr "Nakreslit cestu"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Cesta"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Obdélník"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplikovat"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Zrušit"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportovat tvary"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Přiblížit, aby se vešlo vše"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Překlopit vodorovně"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Překlopit svisle"
@@ -2769,23 +2729,23 @@ msgstr "Přejít na sdílené knihovny"
msgid "shortcuts.go-to-search"
msgstr "Hledat"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Skupina"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Rozložit vodorovně"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Zobrazit/skrýt uživatelské rozhraní"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Přiblížit"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Vložit obrázek"
@@ -2793,7 +2753,7 @@ msgstr "Vložit obrázek"
msgid "shortcuts.italic"
msgstr "Přepnout kurzívu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Propojit uzly"
@@ -2801,39 +2761,39 @@ msgstr "Propojit uzly"
msgid "shortcuts.line-through"
msgstr "Přepnout řádek"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Udělat roh"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Udělat křivku"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maska"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Sloučit uzly"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Posunout"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Posunout dolů rychle"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Posunout doleva rychle"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Posunout doprava rychle"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Posunout nahoru rychle"
@@ -2841,321 +2801,321 @@ msgstr "Posunout nahoru rychle"
msgid "shortcuts.move-nodes"
msgstr "Posunout uzel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Posunout dolů"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Posunout vlevo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Posunout vpravo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Posunout nahoru"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Další tabule"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nebyly nalezeny žádné zkratky"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Nastavit průhlednost na 100 %"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Nastavit průhlednost na 10 %"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Nastavit průhlednost na 20 %"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Nastavit průhlednost na 30 %"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Nastavit průhlednost na 40 %"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Nastavit průhlednost na 50 %"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Nastavit průhlednost na 60 %"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Nastavit průhlednost na 70 %"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Nastavit průhlednost na 80 %"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Nastavit průhlednost na 90 %"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Výběr barvy"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Přejít do sekce komentářů"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Přejít na nástěnku"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Přejděte do sekce inspektor"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Přejít do části interakce"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Přejít do části interakce"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Přejít na pracovní plochu"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " nebo "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Vložit"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Předchozí tabule"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Znovu"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Přejmenovat"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Obnovit přiblížení"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Měřítko"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Základy"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Nástěnka"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Prohlížeč"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Pracovní plocha"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Vybrat vše"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Vybrat další vrstvu"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Vybrat nadřazenou vrstvu"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Vybrat předchozí vrstvu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Rozdělit uzly"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Zobrazit/skrýt mřížku pixelů"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Zobrazit/skrýt zkratky"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Přichytit k uzlům"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Přichytit k mřížce pixelů"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Začít upravovat"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Zarovnání"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Obecný"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Hlavní menu"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Upravit vrstvy"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigace"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigace"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigace"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panely"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Cesty"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Tvary"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Texty"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Nástroje"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Přiblížení"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Přiblížení"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Nastavit náhledy"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Klávesové zkratky"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Přepnout dynamické zarovnání"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Přepnout podklady"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Přepnout paletu barev"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Přepnout režim soustředění"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Přepnout zobrazení na celou obrazovku"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Zobrazit / Skrýt vodící linky"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Přepnout historii"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Přepínání vrstev"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Přidat/odebrat flexibilní rozložení"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Přidat/odebrat rozložení mřížky"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Uzamknout vybrané"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Uzamknout proporce"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Zobrazit / Skrýt pravítka"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Přichytit na vodící linky"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Přichytit k vodítkům pravítek"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Přepnout paletu textu"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Změnit motiv"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Přepnout viditelnost"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Přepnout styl přiblížení"
@@ -3163,63 +3123,63 @@ msgstr "Přepnout styl přiblížení"
msgid "shortcuts.underline"
msgstr "Přepnout podtržení"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Zpět"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Zrušit seskupení"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Zrušit masku"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Rozmístit vertikálně"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Zmenšení zoomu"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Zvětšení zoomu"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Přiblížit vybrané"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Poskytovatelé písem - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Písma - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekty - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Hledat - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Sdílené knihovny - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot – Svoboda designu pro týmy"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Poskytněte zpětnou vazbu – Penpot"
@@ -3227,7 +3187,7 @@ msgstr "Poskytněte zpětnou vazbu – Penpot"
msgid "title.settings.notifications"
msgstr "Upozornění – Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Nastavení - Penpot"
@@ -3235,27 +3195,27 @@ msgstr "Nastavení - Penpot"
msgid "title.settings.password"
msgstr "Heslo - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Pozvánky – %s – Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Členové - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Nastavení - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Režim zobrazení - Penpot"
@@ -3263,99 +3223,99 @@ msgstr "%s - Režim zobrazení - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Na stránce nebyly nalezeny žádné tabule."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Tabule nenalezena."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Komentáře (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Nezobrazovat interakce"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Celá obrazovka"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Zkontrolovat (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interakce"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interakce (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopírovat odkaz"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Zobrazit interakce"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Zobrazit interakce po kliknutí"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa stránek"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Poslední doručení proběhlo úspěšně."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Zarovnat vodorovně na střed (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Rozmístit vodorovné mezery (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Zarovnat doleva (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Zarovnat doprava (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Zarovnat dolů (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Zarovnat svisle na střed (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Rozmístit vertikální mezery (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Zarovnat nahoru (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Přidat knihovnu"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Všechny podklady"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Barvy"
@@ -3363,7 +3323,7 @@ msgstr "Barvy"
msgid "workspace.assets.colors.add-color"
msgstr "Přidat barvu"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponenty"
@@ -3375,17 +3335,17 @@ msgstr "Přidat komponentu"
msgid "workspace.assets.create-group"
msgstr "Vytvořit skupinu"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Delete"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplikovat"
@@ -3393,35 +3353,35 @@ msgstr "Duplikovat"
msgid "workspace.assets.duplicate-main"
msgstr "Duplikovat hlavní"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Upravit"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtr"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Zobrazení mřížky"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Skupina"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Název skupiny"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Zobrazení seznamu"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "místní knihovna"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nebyly nalezeny žádné podklady"
@@ -3429,7 +3389,7 @@ msgstr "Nebyly nalezeny žádné podklady"
msgid "workspace.assets.open-library"
msgstr "Otevřete soubor knihovny"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Přejmenovat"
@@ -3437,11 +3397,11 @@ msgstr "Přejmenovat"
msgid "workspace.assets.rename-group"
msgstr "Přejmenovat skupinu"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Hledat v podkladech"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Sdílená knihovna"
@@ -3452,43 +3412,43 @@ msgstr[0] "1 komponenta"
msgstr[1] "%s komponenty"
msgstr[2] "%s komponent"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Seřadit"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typografie"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Přidat typografii"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Velikost"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Styl písma"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Mezery mezi písmeny"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Výška řádku"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformace textu"
@@ -3496,67 +3456,67 @@ msgstr "Transformace textu"
msgid "workspace.assets.ungroup"
msgstr "Zrušit seskupení"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Vytvořit oblast"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Vytvořit tabuli"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Sloučit buňky"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Přidat 1 sloupec vpravo"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Přidat 1 sloupec vlevo"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Smazat sloupec"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Smazat sloupec a tvary"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplikovat sloupec"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Přidat 1 řádek níže"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Přidat 1 řádek výše"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Smazat řádek"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Smazat řádek a tvary"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplikovat řádek"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Režim soustředění"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Vypnout režim soustředění"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Zapnout režim soustředění"
@@ -3568,191 +3528,191 @@ msgstr "Lineární přechod"
msgid "workspace.gradients.radial"
msgstr "Radiální přechod"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Zakázat dynamické zarovnání"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Zakázat proporcionální měřítko"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Zakázat přichycení k vodicím lištám"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Zakázat přichycení k pixelu"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Zakázat přichycení na vodící linky pravítek"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Povolit dynamické zarovnání"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Povolit proporcionální měřítko"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Přichytit k vodicím lištám"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Povolit přichycení k pixelu"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Přichytit k vodítkům pravítek"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Skrýt názvy tabulí"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Skrýt vodící linky"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Skrýt paletu barev"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Skrýt mřížku pixelů"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Skrýt pravítka"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Skrýt paletu písem"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Upravit"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Soubor"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Nápověda a informace"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Předvolby"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Zobrazit"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Znovu"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Vybrat vše"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Zobrazit názvy tabulí"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Zobrazit vodící linky"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Zobrazit paletu barev"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Zobrazit mřížku pixelů"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Zobrazit pravítka"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Zobrazit paletu písem"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Přepnout na tmavý motiv"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Přepnout na světlý motiv"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Zpět"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Resetovat"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Chyba při ukládání"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Uloženo"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Ukládání"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Sdílet"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Přiblížení"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Zvětšit na celou obrazovku"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Zmenšit na celou obrazovku"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Přiblížit, aby se vše vešlo"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Celá obrazovka"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Přiblížit vybrané"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Upravit mřížku"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Odejít"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Zobrazit možnosti mezer uvnitř všech stran"
@@ -3768,23 +3728,23 @@ msgstr "Hotovo"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Lokalizovat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Vyhledat rozložení mřížky"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Ve vaší knihovně zatím nejsou žádné barevné styly"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Ve vaší knihovně zatím nejsou žádné typografické styly"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Knihovna souborů"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Nedávné barvy"
@@ -3796,71 +3756,71 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Uložit styl barev"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Nebo přidejte některé z těchto:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "nějaké šablony zde"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Knihovna souborů"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "KNIHOVNY V TOMTO SOUBORU"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "KNIHOVNY"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "AKTUALIZACE KNIHOVNY"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Načítání…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Nebyly nalezeny žádné shody pro „%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Prohledat sdílené knihovny"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "SDÍLENÉ KNIHOVNY"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Připojit knihovnu"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Odpojit knihovnu"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Aktualizace"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "zobrazit všechny změny"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "AKTUALIZACE"
@@ -3892,39 +3852,39 @@ msgstr "Přepnout rozostření"
msgid "workspace.options.canvas-background"
msgstr "Pozadí plátna"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Oříznout obsah"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponenta"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Anotace"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopírovat"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Vytvořte anotaci"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Upravit anotaci"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Hlavní"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Vyměnit komponentu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "V této knihovně zatím nejsou žádné položky"
@@ -3968,11 +3928,11 @@ msgstr "Nahoře"
msgid "workspace.options.constraints.topbottom"
msgstr "Nahoře a dole"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportovat"
@@ -3980,38 +3940,38 @@ msgstr "Exportovat"
msgid "workspace.options.export-multiple"
msgstr "Exportovat výběr"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Přidat export"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Odebrat export"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Přípona"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Export byl dokončen"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportování…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export se nezdařil"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Export je nečekaně pomalý"
@@ -4027,7 +3987,7 @@ 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:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Změňte velikost panelu podle obsahu"
@@ -4051,67 +4011,67 @@ msgstr "Začátky"
msgid "workspace.options.grid.auto"
msgstr "Automaticky"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Sloupce"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Barva"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Mezera"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Výška"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Mezera vně"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Nastavit jako výchozí"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Dole"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Střed"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Vlevo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Vpravo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Roztáhnout"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Nahoře"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Použít výchozí"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Šířka"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Řádky"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Čtverec"
@@ -4123,15 +4083,15 @@ msgstr "Výplň skupiny"
msgid "workspace.options.group-stroke"
msgstr "Ohraničení skupiny"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Vodící linky"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Výška"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspektor"
@@ -4347,103 +4307,103 @@ msgstr "Interakce"
msgid "workspace.options.interactions.add-interaction"
msgstr "Přidat interakci"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Color burn"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Color dodge"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Darken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Difference"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Hard light"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Hue"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Lighten"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosity"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiply"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Overlay"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Screen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Soft light"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Přepnout viditelnost vrstvy"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
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:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Maximální šířka"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
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:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Minimální šířka"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Více barev"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Více barev knihovny"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Průhlednost"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototyp"
@@ -4467,19 +4427,19 @@ msgstr "Nahoře vlevo"
msgid "workspace.options.radius-top-right"
msgstr "Nahoře vpravo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Nedávné"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Opakovat"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Otočit"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Hledat písmo"
@@ -4487,7 +4447,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Vybrané barvy"
@@ -4555,47 +4515,47 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Zobrazit v režimu zobrazení"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Velikost"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Předvolby velikosti"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Kruh"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Šipka"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Žádné"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Kulaté"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Čtvercové"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Obdélník"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Trojúhelník"
@@ -4603,7 +4563,7 @@ msgstr "Trojúhelník"
msgid "workspace.options.stroke-color"
msgstr "Barva obrysu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Šířka obrysu"
@@ -4611,35 +4571,35 @@ msgstr "Šířka obrysu"
msgid "workspace.options.stroke.add-stroke"
msgstr "Přidat barvu obrysu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Uprostřed"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Přerušovaný"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Tečkovaný"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Uvnitř"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Smíšený"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Vně"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Odebrat obrys"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Plný"
@@ -4675,11 +4635,11 @@ msgstr "Automatická šířka"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Pevná"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Mezery mezi písmeny"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Výška řádku"
@@ -4723,186 +4683,186 @@ msgstr "Podtrhnout (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Šířka"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Kreslit uzly (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Připojit uzly (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Do rohu (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Do křivky (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Sloučit uzly (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Přesunout uzly (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Oddělit uzly (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Přichytit uzly (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Otevřít"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Objevte [další pluginy](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Zatím nejsou nainstalovány žádné pluginy"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Manifest pluginu je nesprávný."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Abyste mohli tento plugin používat, musíte být editor"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Plugin neexistuje nebo adresa URL není správná."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instalovat"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Nainstalované pluginy"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Správce pluginů"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Pluginy"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "AKTUALIZOVAT TENTO PLUGIN"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "Plugin byl změněn od posledního otevření. Nyní chce také získat přístup k:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Zahájit stahování souborů."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Přečtěte si své komentáře a odpovědi."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Přečtěte si a upravte své komentáře a odpovídejte svým jménem."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Číst obsah souborů, ke kterým mají uživatelé přístup."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Číst a upravovat obsah souborů, ke kterým mají uživatelé přístup."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Tento plugin je vytvořen třetí stranou, takže se před udělením přístupu "
"ujistěte, že mu důvěřujete. Ochrana a bezpečnost vašich dat jsou pro nás "
"důležité. Máte-li jakékoli obavy, kontaktujte podporu."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Číst vaše knihovny a položky."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Číst a upravovat vaše knihovny a položky."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "PLUGIN '%s' POŽADUJE PŘÍSTUP K:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Číst informace o profilu aktuálního uživatele."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Seznam pluginů"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Odebrat plugin"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Napište adresu URL pluginu"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Pluginy"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "TEĎ NE"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Chcete se podívat? Otevře se v novém konceptu pro váš aktuální tým. (Pokud "
"ne, můžete jej vždy najít v nainstalovaných zásuvných modulech libovolného "
"souboru.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "PLUGIN '%s' JE NAINSTALOVÁN PRO VAŠEHO UŽIVATELE!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "VYZKOUŠET PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Přidat flexibilní rozložení"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Přidat rozvržení mřížky"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Přidat rozvržení"
@@ -4914,7 +4874,7 @@ msgstr "Poslat na konec"
msgid "workspace.shape.menu.backward"
msgstr "Poslat dozadu"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopírovat"
@@ -4946,27 +4906,27 @@ msgstr "Kopírovat jako text"
msgid "workspace.shape.menu.create-annotation"
msgstr "Vytvořit anotaci"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Výběr na tabuli"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Vytvořit komponentu"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Vytvořte více komponent"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Vyjmout"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Smazat"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Smazat počáteční bod"
@@ -4978,7 +4938,7 @@ msgstr "Odpojit instanci"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Odpojit instance"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Rozdíl"
@@ -4986,15 +4946,15 @@ msgstr "Rozdíl"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplikovat"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Upravit"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Vyloučit"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Vyrovnat"
@@ -5006,7 +4966,7 @@ msgstr "Překlopit vodorovně"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Překlopit svisle"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "začátek"
@@ -5018,31 +4978,31 @@ msgstr "Posunout dopředu"
msgid "workspace.shape.menu.front"
msgstr "Posunout na začátek"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Skupina"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Skrýt"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Zobrazit/skrýt uživatelské rozhraní"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Průnik"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Zamknout"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maska"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Vložit"
@@ -5050,19 +5010,19 @@ msgstr "Vložit"
msgid "workspace.shape.menu.paste-props"
msgstr "Vlastnosti vložit"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Cesta"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Odstranit flexibilní rozložení"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Odebrat rozložení mřížky"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Odebrat rozložení"
@@ -5082,11 +5042,11 @@ msgstr "Obnovit hlavní komponentu"
msgid "workspace.shape.menu.select-layer"
msgstr "Vybrat vrstvu"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Zobrazit"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Zobrazit v panelu položek"
@@ -5102,19 +5062,19 @@ msgstr "Odebrat miniaturu"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Nastavit jako miniaturu"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Zrušit seskupení"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Sloučení"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Odemknout"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Zrušit masku"
@@ -5130,47 +5090,47 @@ msgstr "Sbalit postranní panel"
msgid "workspace.sidebar.expand"
msgstr "Rozbalit postranní panel"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historie"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Vrstvy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponenty"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Tabule"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Skupiny"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Obrázky"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masky"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Prohledat vrstvy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Tvary"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Texty"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Importované atributy SVG"
@@ -5182,7 +5142,7 @@ msgstr "Stránky"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Přidat stránku"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa stránek"
@@ -5190,7 +5150,7 @@ msgstr "Mapa stránek"
msgid "workspace.tokens.active-themes"
msgstr "%s aktivních motivů"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Aplikováno na"
@@ -5202,7 +5162,7 @@ msgstr "Zpět na seznam motivů"
msgid "workspace.tokens.create-new-theme"
msgstr "Vytvořte si svůj první motiv hned teď."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Vytvořte si."
@@ -5254,7 +5214,7 @@ msgstr "Žádný motiv není aktivní"
msgid "workspace.tokens.no-permisions-set"
msgstr "K aktivaci/deaktivaci sad musíte být editor"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Abyste mohli používat témata, musíte být editor"
@@ -5266,7 +5226,7 @@ msgstr "Zatím nejsou definovány žádné sady. Nejprve si jednu vytvořte."
msgid "workspace.tokens.no-sets-yet"
msgstr "Zatím nejsou žádné sady."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Nejsou zde žádné motivy."
@@ -5274,11 +5234,11 @@ msgstr "Nejsou zde žádné motivy."
msgid "workspace.tokens.no-themes-currently"
msgstr "Momentálně nemáte žádné motivy."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Původní hodnota: %s"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Vyřešená hodnota: %s"
@@ -5300,11 +5260,11 @@ msgstr ""
msgid "workspace.tokens.token-description"
msgstr "Popis"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Jméno"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" není platný název tokenu.\n"
@@ -5315,7 +5275,7 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Hodnota"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENY - %s"
@@ -5323,7 +5283,7 @@ msgstr "TOKENY - %s"
msgid "workspace.tokens.tools"
msgstr "Nástroje"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Hodnota není platná"
@@ -5331,55 +5291,55 @@ msgstr "Hodnota není platná"
msgid "workspace.toolbar.assets"
msgstr "Položky"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta barev (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Komentáře (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Křivka (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipsa (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tabule (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Obrázek (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Přesunout (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Cesta (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Pluginy (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Obdélník (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typografie (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Přepnout panel nástrojů"
@@ -5392,7 +5352,7 @@ msgstr "Hotovo"
msgid "workspace.top-bar.view-only"
msgstr "**Kontrola kódu** (Pouze zobrazení)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Zatím nedošlo k žádným změnám v historii"
@@ -5532,19 +5492,19 @@ msgstr "položka typografie"
msgid "workspace.undo.entry.unknown"
msgstr "Operace nad %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Zrušit"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Více informací"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Ve sdílených knihovnách jsou aktualizace"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Aktualizace"
diff --git a/frontend/translations/da.po b/frontend/translations/da.po
index 21387692b9..49c8e2aaf6 100644
--- a/frontend/translations/da.po
+++ b/frontend/translations/da.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Har du allerede en konto?"
@@ -29,7 +29,7 @@ msgstr ""
"Det her er en DEMO service, BRUG IKKE for rigtigt arbejde, projekterne vil "
"blive slettet periodevis."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Glemt adgangskode?"
@@ -37,27 +37,27 @@ msgstr "Glemt adgangskode?"
msgid "auth.fullname"
msgstr "Fulde Navn"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Log på her"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "Github"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "Gitlab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "Profilen er ikke bekræftet, venligt verificer profilen før du går vid
msgid "auth.notifications.recovery-token-sent"
msgstr "Gendannelseslink for adgangskoden er sendt til din indbakke."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Tilsluttet teamet med succes"
@@ -105,11 +105,11 @@ msgstr "Glemt adgangskode?"
msgid "auth.recovery-submit"
msgstr "Skift din adgangskode"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ingen konto?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Opret en konto"
@@ -117,19 +117,19 @@ msgstr "Opret en konto"
msgid "auth.register-title"
msgstr "Opret en konto"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Tilføj som Delt Bibliotek"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Skift email"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopi)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Opret nyt team"
@@ -137,7 +137,7 @@ msgstr "Opret nyt team"
msgid "dashboard.default-team-name"
msgstr "Dit Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Slet team"
@@ -149,7 +149,7 @@ msgstr "Dublikér"
msgid "dashboard.duplicate-multi"
msgstr "Dublikér %s filer"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -159,7 +159,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -167,15 +167,15 @@ msgstr ""
"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)."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invitér til team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Forlad team"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Delte Biblioteker"
@@ -195,35 +195,35 @@ msgstr "Flyt %s filer til"
msgid "dashboard.move-to-other-team"
msgstr "Flyt til andet team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Ny Fil"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Ny Fil"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nyt projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nyt Projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Intet match fundet for “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Fastgjorte projekter bliver vist her"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Din email-adresse er blevet opdateret med succes"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Din email-adresse er blevet bekræftet med succes"
@@ -231,7 +231,7 @@ msgstr "Din email-adresse er blevet bekræftet med succes"
msgid "dashboard.notifications.password-saved"
msgstr "Adgangskode gemt med succes!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s medlemmer"
@@ -243,35 +243,35 @@ msgstr "Åben fil i en ny fane"
msgid "dashboard.password-change"
msgstr "Skift adgangskode"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Fastgør/Løsne"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekter"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Vil du slette din konto?"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Søg…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Søger efter “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Vælg UI sprog"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Vælg tema"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Vis alle filer"
@@ -291,7 +291,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Din fil er blevet flyttet med succes"
@@ -303,47 +303,47 @@ msgstr "Dine filer er blevet flyttet med succes"
msgid "dashboard.success-move-project"
msgstr "Dit projekt er blevet flyttet med succes"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Team info"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Medlemmer"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Team projekter"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI tema"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Søgeresultater"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Skriv for at søge i resultater"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Opdater indstillinger"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Din konto"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Email"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Dit navn"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Fortryd"
@@ -355,7 +355,7 @@ msgstr "Ok"
msgid "ds.confirm-title"
msgstr "Er du sikker?"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Din browser kan ikke gøre denne operation"
@@ -363,52 +363,52 @@ msgstr "Din browser kan ikke gøre denne operation"
msgid "errors.invalid-recovery-token"
msgstr "Genopretningspoletten er ugyldig."
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Skrifttypefamilie"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Skrifttyper"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Gå tilbage!"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Installeret skrifttyper"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Søg efter skrifttype"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Upload"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Upload brugerdefinerede skrifttyper"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Uploader..."
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Sletter skrifttype"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Skrifttype Udbydere - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Skrifttyper - %s - Penpot"
diff --git a/frontend/translations/de.po b/frontend/translations/de.po
index b04b506455..334a2786b9 100644
--- a/frontend/translations/de.po
+++ b/frontend/translations/de.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: German "
" \n"
"Language: de\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Sie haben bereits ein Konto?"
@@ -33,7 +33,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Passwort vergessen?"
@@ -41,37 +41,37 @@ msgstr "Passwort vergessen?"
msgid "auth.fullname"
msgstr "Vollständiger Name"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "In mein Konto einloggen"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Hier anmelden."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,6 +79,10 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Geben Sie ein neues Passwort ein"
+#: src/app/main/ui/auth/verify_token.cljs:54
+msgid "auth.notifications.organization-invitation-accepted"
+msgstr "Sie gehören jetzt zu %s"
+
#: src/app/main/ui/auth/recovery.cljs:52
msgid "auth.notifications.password-changed-successfully"
msgstr "Passwort erfolgreich geändert"
@@ -93,7 +97,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Der Link zur Wiederherstellung des Passworts wurde an Ihre E-Mail gesendet."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Sie sind dem Team beigetreten"
@@ -125,7 +129,7 @@ msgstr "Passwort vergessen?"
msgid "auth.recovery-submit"
msgstr "Passwort ändern"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Noch kein Konto?"
@@ -139,7 +143,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Ihr Name"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Konto erstellen"
@@ -154,7 +158,7 @@ msgstr ""
"Ich stimme den [Nutzungsbedingungen](%s) und der "
"[Datenschutzrichtlinie](%s) zu."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Nutzungsbedingungen"
@@ -176,93 +180,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Es wurden keine Personen für @%s gefunden"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Veröffentlichen"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Alle Penpot-Benutzer"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Sind Sie sicher, dass Sie diesen Link löschen möchten? Wenn Sie das tun, "
"wird er für niemanden mehr verfügbar sein"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(aktuell)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Link entfernen"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Link erstellen"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link wurde erfolgreich kopiert"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Verwalten von Berechtigungen"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 Seite freigegeben"
msgstr[1] "%s Seiten freigegeben"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Können kommentieren"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Können den Code ansehen"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Jeder mit dem Link kann auf die Datei zugreifen"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Geteilte Seiten"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Link zum Teilen wird hier erscheinen"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Nur Teammitglieder"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Prototypen teilen"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Alle auswählen"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Veröffentlichung aufheben"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Teammanagement"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot ist für Teams gedacht. Um gemeinsam an Projekten und Dateien zu "
"arbeiten, laden Sie Mitglieder ein"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Teamwork!"
@@ -278,26 +282,42 @@ msgstr "Datei wiederherstellen"
msgid "dashboard.add-file"
msgstr "Datei hinzufügen"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Hinzufügen als gemeinsam genutzte Bibliothek"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "E-Mail-Adresse ändern"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:614
+msgid "dashboard.change-organization-modal.accept"
+msgstr "TEAM VERSCHIEBEN"
+
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Verschieben nach:"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:611
+msgid "dashboard.change-organization-modal.description"
+msgstr ""
+"Projekte und Dateien bleiben für die Teammitglieder verfügbar. Das Team "
+"übernimmt die Einstellungen der neuen Organisation."
+
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Wählen Sie eine Organisation aus"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Organisation des Teams ändern"
+#: src/app/main/ui/dashboard/check_updates.cljs:334
+msgid "dashboard.check-updates.available-message"
+msgstr ""
+"Neuere Versionen bringen Leistungsverbesserungen, neue Funktionen und "
+"Korrekturen, damit Ihre Installation aktuell bleibt."
+
#: src/app/main/ui/dashboard/check_updates.cljs:309
msgid "dashboard.check-updates.available-title"
msgstr "EINE NEUE PENPOT VERSION IST VERFÜGBAR"
@@ -318,31 +338,49 @@ msgstr "Letzte Version"
msgid "dashboard.check-updates.try-again"
msgstr "Versuchen Sie es wieder"
+#: src/app/main/ui/dashboard/check_updates.cljs:230
+msgid "dashboard.check-updates.unable-hint"
+msgstr ""
+"Überprüfen Sie Ihr Netzwerk oder die Instanzkonfiguration und versuchen Sie "
+"es erneut."
+
#: src/app/main/ui/dashboard/check_updates.cljs:226
msgid "dashboard.check-updates.unable-message"
msgstr "Diese Installation konnte den Penpot Releases Service nicht erreichen."
+#: src/app/main/ui/dashboard/check_updates.cljs:265
+msgid "dashboard.check-updates.uptodate-message"
+msgstr "Sie verwenden die neueste stabile Version:"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:254
+msgid "dashboard.check-updates.uptodate-title"
+msgstr "PENPOT IST AUF DEM NEUESTEN STAND"
+
#: src/app/main/ui/dashboard/check_updates.cljs:371
msgid "dashboard.check-updates.view-changelog"
msgstr "Vollständiges Changelog anzeigen"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/check_updates.cljs:374
+msgid "dashboard.check-updates.view-release-notes"
+msgstr "Versionshinweise anzeigen"
+
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Papierkorb leeren"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(Kopie)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Neue Organisation erstellen"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Neues Team erstellen"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Diese Version anheften"
@@ -350,7 +388,7 @@ msgstr "Diese Version anheften"
msgid "dashboard.default-team-name"
msgstr "Ihr Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Wollen Sie wirklich alle Projekte und Dateien unwiderruflich löschen? Diese "
@@ -362,43 +400,43 @@ msgstr ""
"Wollen Sie wirklich %s unwiderruflich löschen? Diese Aktion kann nicht "
"rückgängig gemacht werden."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s Dateien wurden gelöscht."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Unwiderruflich löschen"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Projekt löschen"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Wollen Sie wirklich das Projekt %s löschen? Diese Aktion kann nicht "
"rückgängig gemacht werden."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s wurde erfolgreich gelöscht."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Team löschen"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr ""
"Ihr Papierkorb ist leer. Gelöschte Dateien und Projekte werden hier "
"angezeigt."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Wird gelöscht am %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Penpot-Datei herunterladen (.penpot)"
@@ -410,19 +448,19 @@ msgstr "Duplizieren"
msgid "dashboard.duplicate-multi"
msgstr "%s Dateien duplizieren"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Sobald ein Projektmitglied einen Entwurf erstellt, wird es hier angezeigt."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Noch keine Entwürfe vorhanden."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Sobald ein Projektmitglied eine Datei erstellt, wird es hier angezeigt."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Noch keine Dateien vorhanden."
@@ -470,23 +508,23 @@ msgstr "Eine .penpot-Datei importieren"
msgid "dashboard.empty-project.start"
msgstr "Beginnen Sie mit dem Erschaffen erstaunlicher Dinge"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Beim Löschen der Dateien ist ein Fehler aufgetreten."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Beim Löschen des Projektes %s ist ein Fehler aufgetreten."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Beim Wiederherstellen der Datei %s ist ein Fehler aufgetreten."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Beim Wiederherstellen der Dateien ist ein Fehler aufgetreten."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Beim Wiederherstellen des Projektes %s ist ein Fehler aufgetreten."
@@ -494,37 +532,37 @@ msgstr "Beim Wiederherstellen des Projektes %s ist ein Fehler aufgetreten."
msgid "dashboard.export-binary-multi"
msgstr "%s Penpot-Dateien herunterladen (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Zeichenflächen als PDF exportieren"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Als PDF exportieren"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s von %s Elementen ausgewählt"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportieren"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Sie können den Elementen über die Designeigenschaften (unten in der rechten "
"Seitenleiste) Exporteinstellungen hinzufügen."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informationen zum Festlegen von Exporten bei Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Es gibt keine Elemente mit Exporteinstellungen."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Auswahl exportieren"
@@ -548,37 +586,37 @@ msgstr "Rasteransicht"
msgid "dashboard.files-layout.list"
msgstr "Listenansicht"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Schriftart gelöscht"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Alle ablehnen"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr ""
"Die von Ihnen hochgeladenen benutzerdefinierten Schriftarten werden hier "
"angezeigt."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Noch keine eigenen Schriftarten vorhanden."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -589,7 +627,7 @@ msgstr ""
"den folgenden Formaten hochladen: **TTF, OTF und WOFF** (nur eine wird "
"benötigt)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -599,11 +637,11 @@ msgstr ""
"Penpot](%s). Mehr über die [Lizenzierung von Schriftarten erfahren Sie "
"hier](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Alle hochladen"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -614,47 +652,69 @@ msgstr ""
"empfehlen wir die Verwendung von [Transfonter](https://transfonter.org/), "
"um Webfonts zu generieren und Fehler zu beheben. "
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
+msgid "dashboard.go-to-admin-console"
+msgstr "Zur Admin-Konsole"
+
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Letzte Änderung %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Dateien importieren"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Huch! Wir konnten diese Datei nicht importieren"
+#: src/app/main/ui/dashboard/import.cljs:698
+msgid "dashboard.import.auto-linked-libraries"
+msgid_plural "dashboard.import.auto-linked-libraries"
+msgstr[0] "1 Bibliothek wurde automatisch anhand des Namens verknüpft."
+msgstr[1] "%s Bibliotheken wurden automatisch anhand des Namens verknüpft."
+
#: src/app/main/ui/dashboard.cljs:264
msgid "dashboard.import.bad-url"
msgstr "Der Import ist fehlgeschlagen. Die URL der Vorlage ist falsch"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:838
+msgid "dashboard.import.confirm-library-links"
+msgstr "Bibliotheksverknüpfungen bestätigen"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Dateiname"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Wir konnten diese Datei nicht überprüfen."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Diese Datei scheint beschädigt zu sein."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Nicht alle Dateien wurden importiert"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Die folgenden Dateien sind fehlerhaft:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Dateien mit Fehlern werden nicht hochgeladen."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:728
+msgid "dashboard.import.import-error.unknown-error"
+msgstr "Beim Verarbeiten dieser Datei ist ein Fehler aufgetreten."
+
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s Dateien wurden erfolgreich importiert."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Einige Dateien enthielten ungültige Objekte, die entfernt wurden."
@@ -662,79 +722,95 @@ msgstr "Einige Dateien enthielten ungültige Objekte, die entfernt wurden."
msgid "dashboard.import.no-perms"
msgstr "Sie haben nicht die Berechtigung, in dieses Team zu importieren"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Farben werden verarbeitet"
+#: src/app/main/ui/dashboard/import.cljs:431
+msgid "dashboard.import.resolve-libraries"
+msgstr ""
+"Einige Bibliotheken konnten nicht automatisch verknüpft werden. Wählen Sie "
+"für jede die richtige Bibliothek:"
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Komponenten werden verarbeitet"
+#: src/app/main/ui/dashboard/import.cljs:553
+msgid "dashboard.import.resolve-libraries-summary"
+msgstr "Prüfen Sie die Bibliotheksverknüpfungen, bevor Sie bestätigen:"
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Medien werden verarbeitet"
+#: src/app/main/ui/dashboard/import.cljs:509
+msgid "dashboard.import.summary.linked"
+msgstr "Automatisch verknüpft"
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Seite %s wird verarbeitet"
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Neu"
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Textstile werden verarbeitet"
+#: src/app/main/ui/dashboard/import.cljs:546
+msgid "dashboard.import.summary.no-selection"
+msgstr "Keine Bibliothek ausgewählt"
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Daten werden hochgeladen (%s/%s)"
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Original"
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Datei %s wird hochgeladen"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Diese Einladungen werden gelöscht:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Diese Einladungen werden erneut gesendet:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Einladungen löschen"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Einladungen erneut versenden"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
+msgid "dashboard.invitations.no-permission"
+msgstr ""
+"Sie haben keine Berechtigung, Personen in dieses Team einzuladen oder "
+"Einladungen zu bearbeiten oder zu löschen."
+
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Personen einladen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/team.cljs:136
+msgid "dashboard.invite-profile-disabled"
+msgstr "Sie haben keine Berechtigung, Personen in dieses Team einzuladen"
+
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:235, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:266
+msgid "dashboard.leave-organization"
+msgstr "Organisation verlassen"
+
+#: src/app/main/data/nitrate.cljs:259
+msgid "dashboard.leave-organization.toast"
+msgstr "Sie gehören nicht mehr zur Organisation %s."
+
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Team verlassen"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotheken & Vorlagen"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Hier finden Sie einige Bibliotheken und Vorlagen, die Sie zu Ihrem Projekt "
"hinzufügen können"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Gemeinsam genutzte Bibliotheken"
@@ -742,7 +818,7 @@ msgstr "Gemeinsam genutzte Bibliotheken"
msgid "dashboard.loading-files"
msgstr "laden Ihrer Dateien …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "laden Ihrer Schriftarten …"
@@ -762,39 +838,69 @@ msgstr "%s Dateien verschieben"
msgid "dashboard.move-to-other-team"
msgstr "Zu anderem Team verschieben"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Neue Datei"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Neue Datei"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Neues Projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Neues Projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Keine Übereinstimmungen für “%s“ gefunden"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/team_form.cljs:162
+msgid "dashboard.no-organization-allows-create-team.message"
+msgstr ""
+"Sie haben keine Berechtigung, Teams zu einer Ihrer Organisationen "
+"hinzuzufügen."
+
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Noch keine Organisationen."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
+msgid "dashboard.no-permission-create-team.message"
+msgstr ""
+"Sie dürfen in der Organisation %s keine Teams erstellen. Wenn Sie mehr "
+"Informationen benötigen, wenden Sie sich an den Eigentümer der Organisation."
+
+#: src/app/main/ui/dashboard/team_form.cljs:158
+msgid "dashboard.no-permission-delete-team.message"
+msgstr ""
+"Sie dürfen keine Teams löschen, die zur Organisation %s gehören. Wenn Sie "
+"mehr Informationen benötigen, wenden Sie sich an den Eigentümer der "
+"Organisation."
+
+#: src/app/main/ui/dashboard/team_form.cljs:164
+msgid "dashboard.no-permission-move-team.message"
+msgstr ""
+"Sie dürfen keine Teams verschieben, die zur Organisation %s gehören. Wenn "
+"Sie mehr Informationen benötigen, wenden Sie sich an den Eigentümer der "
+"Organisation."
+
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Angeheftete Projekte werden hier angezeigt"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Benachrichtigungen"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Ihre E-Mail-Adresse wurde erfolgreich aktualisiert"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Ihre E-Mail-Adresse wurde erfolgreich verifiziert"
@@ -806,11 +912,11 @@ msgstr "Benachrichtigungseinstellungen aktualisiert"
msgid "dashboard.notifications.password-saved"
msgstr "Passwort wurde erfolgreich gespeichert!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Benachrichtigungen anzeigen"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s Mitglieder"
@@ -818,18 +924,26 @@ msgstr "%s Mitglieder"
msgid "dashboard.open-in-new-tab"
msgstr "Datei in neuem Tab öffnen"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Optionen"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Nach Rolle sortieren"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Nach Status sortieren"
+#: src/app/main/data/dashboard.cljs:721
+msgid "dashboard.organization-deleted"
+msgstr "Die Organisation %s wurde gelöscht."
+
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
+msgid "dashboard.other-teams"
+msgstr "Weitere Teams"
+
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
msgid "dashboard.password-change"
msgstr "Passwort ändern"
@@ -850,7 +964,11 @@ msgstr "Sie sind jetzt Eigentümer dieses Teams."
msgid "dashboard.permissions-change.viewer"
msgstr "Sie sind jetzt ein Zuschauer in diesem Team."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
+msgid "dashboard.personal-projects"
+msgstr "Persönliche Projekte"
+
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Anheften/Lösen"
@@ -866,27 +984,27 @@ msgstr "Das Plugin-Manifest kann nicht ausgewertet werden"
msgid "dashboard.plugins.try-plugin"
msgstr "Plugin ausprobieren: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Dateien werden gelöscht…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Datei werden wiederhergestellt…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Das Löschen dauert noch etwas"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Das Wiederherstellen dauert noch etwas"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekte"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Möchten Sie Ihr Konto entfernen?"
@@ -894,69 +1012,116 @@ msgstr "Möchten Sie Ihr Konto entfernen?"
msgid "dashboard.removed-from-team"
msgstr "Sie sind nicht mehr Teil des Teams “%s“."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Alle Projekte und Dateien werden wiederhergestellt. Das kann eine Weile "
"dauern."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Alle Projekte und Dateien wiederherstellen"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Alles wiederherstellen"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s Dateien wurden wiederhergestellt."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Projekt wiederherstellen"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Das Projekt %s und alle enthaltenen Dateien werden wiederhergestellt."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Projekt wiederherstellen"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s wurde wiederhergestellt."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Einstellungen speichern"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Suchen…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Suche nach “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
+msgid "dashboard.section.organizations"
+msgstr "Organisationen"
+
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
+msgid "dashboard.section.teams"
+msgstr "Teams"
+
+#: src/app/main/data/nitrate.cljs:529
+msgid "dashboard.select-organization-modal.accept"
+msgstr "ZUR ORGANISATION HINZUFÜGEN"
+
+#: src/app/main/data/nitrate.cljs:527
+msgid "dashboard.select-organization-modal.choose"
+msgstr "Organisation auswählen:"
+
+#: src/app/main/ui/dashboard/team.cljs:1042
+msgid "dashboard.select-organization-modal.external-invitations-warning"
+msgstr ""
+"„%s“ erlaubt nur Mitgliedern der Organisation, ihren Teams beizutreten. "
+"Ausstehende Einladungen an Personen außerhalb der Organisation werden "
+"widerrufen."
+
+#: src/app/main/ui/dashboard/team.cljs:1038
+msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
+msgstr "Ausstehende Einladungen an externe Benutzer werden storniert."
+
+#: src/app/main/data/nitrate.cljs:595
+msgid "dashboard.select-organization-modal.permission-info"
+msgstr ""
+"Hier finden Sie die Organisationen, denen Sie angehören und in die Sie das "
+"Team verschieben dürfen."
+
+#: src/app/main/data/nitrate.cljs:519
+msgid "dashboard.select-organization-modal.permission-info-add"
+msgstr ""
+"Hier finden Sie die Organisationen, denen Sie angehören und in denen Sie "
+"Teams erstellen oder hinzufügen dürfen."
+
+#: src/app/main/data/nitrate.cljs:528
+msgid "dashboard.select-organization-modal.select"
+msgstr "Organisation auswählen"
+
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
+msgid "dashboard.select-organization-modal.title"
+msgstr "Team zu einer Organisation hinzufügen"
+
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Sprache der Benutzeroberfläche auswählen"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Theme auswählen"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Dunkel (Standard)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Hell"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "System-Theme"
@@ -1020,11 +1185,11 @@ msgstr "Einstellungen aktualisieren"
msgid "dashboard.settings.notifications.title"
msgstr "Benachrichtigungen"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Alle Dateien anzeigen"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Versionsverlauf"
@@ -1048,7 +1213,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Ihre Datei wurde erfolgreich verschoben"
@@ -1060,110 +1225,186 @@ msgstr "Ihre Dateien wurden erfolgreich verschoben"
msgid "dashboard.success-move-project"
msgstr "Ihr Projekt wurde erfolgreich verschoben"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/data/common.cljs:268
+#, backend
+msgid "dashboard.team-belong-organization"
+msgstr "Dieses Team gehört jetzt zur Organisation %s"
+
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Teaminformationen"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Teammitglieder"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/data/common.cljs:269
+#, backend
+msgid "dashboard.team-no-longer-belong-organization"
+msgstr "Dieses Team gehört nicht mehr zur Organisation %s"
+
+#: src/app/main/ui/dashboard/team.cljs:1689
+msgid "dashboard.team-organization"
+msgstr "Teamorganisation"
+
+#: src/app/main/ui/dashboard/team.cljs:1724
+msgid "dashboard.team-organization.add"
+msgstr "Zu einer Organisation hinzufügen"
+
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
+msgid "dashboard.team-organization.add.no-valid-organizations"
+msgstr ""
+"Sie haben keine Berechtigung, dieses Team zu einer Ihrer Organisationen "
+"hinzuzufügen."
+
+#: src/app/main/ui/dashboard/team.cljs:1713
+msgid "dashboard.team-organization.change"
+msgstr "Organisation des Teams ändern"
+
+#: src/app/main/ui/dashboard/team.cljs:946
+msgid "dashboard.team-organization.disabled-organization-tooltip"
+msgstr "Es können nur Personen aus Ihrer Organisation eingeladen werden."
+
+#: src/app/main/ui/dashboard/team.cljs:1720
+msgid "dashboard.team-organization.none"
+msgstr "Dieses Team gehört zu keiner Organisation"
+
+#: src/app/main/ui/dashboard/team.cljs:1716
+msgid "dashboard.team-organization.remove"
+msgstr "Team aus der Organisation entfernen"
+
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Teamprojekte"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Zu Ihrem Projekt hinzufügen"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI-Theme"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Suchergebnisse"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Gelöschte Dateien bleiben für"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s Tage im Papierkorb. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Danach werden sie dauerhaft gelöscht."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Wenn Sie Ihre Meinung ändern, können Sie die Dateien über das Menü der "
"jeweiligen Datei wiederherstellen oder dauerhaft löschen."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Zum Suchen etwas eingeben"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Veröffentlichung der Bibliothek aufheben"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Einstellungen aktualisieren"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/data/dashboard.cljs:689
+#, backend
+msgid "dashboard.user-no-longer-belong-organization"
+msgstr "Sie sind kein Mitglied der Organisation %s mehr"
+
+#: src/app/main/ui/settings/options.cljs:115
+msgid "dashboard.webgl-switch.beta"
+msgstr "Beta"
+
+#: src/app/main/ui/settings/options.cljs:116
+msgid "dashboard.webgl-switch.description"
+msgstr ""
+"Die WebGL-Darstellung kann die Leistung verbessern, befindet sich aber in "
+"der Beta und kann weniger stabil sein. Zwischen Arbeitsfläche, Exporten "
+"(SVG/PDF) und der Ansicht können sichtbare Unterschiede auftreten."
+
+#: src/app/main/ui/settings/options.cljs:119
+msgid "dashboard.webgl-switch.disabled"
+msgstr "Deaktiviert"
+
+#: src/app/main/ui/settings/options.cljs:119
+msgid "dashboard.webgl-switch.enabled"
+msgstr "Aktiviert"
+
+#: src/app/main/ui/settings/options.cljs:122
+msgid "dashboard.webgl-switch.feedback"
+msgstr "Feedback geben"
+
+#: src/app/main/ui/settings/options.cljs:118
+msgid "dashboard.webgl-switch.status"
+msgstr "Status"
+
+#: src/app/main/ui/settings/options.cljs:114
+msgid "dashboard.webgl-switch.title"
+msgstr "WebGL-Darstellung"
+
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Aktiv"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Wenn dieser Hook ausgelöst wird, dann werden die Eventdetails übermittelt"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Sie können nur von Ihnen erstellte Webhooks löschen oder ändern."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Inhaltstyp"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Webhook erstellen"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook wurde erfolgreich erstellt."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks ermöglichen es, andere Websites und Anwendungen automatisch über "
"bestimmte Ereignisse bei Penpot zu informieren. Dies geschieht durch das "
"Versenden einer POST-Anfrage an die von Ihnen festgelegten URLs."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr ""
"Um einen Webhook hinzuzufügen, drücken Sie auf die Schaltfläche \"Webhook "
"hinzufügen\"."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Bisher wurden noch keine Webhooks erstellt."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ihr Konto"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-Mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ihr Name"
@@ -1179,11 +1420,11 @@ msgstr "Achtung"
msgid "ds.component-subtitle"
msgstr "Zu aktualisierende Komponenten:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Erlauben"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Abbrechen"
@@ -1203,10 +1444,14 @@ msgstr "Es sind keine passenden Tokens in aktivierten Sets oder Themes vorhanden
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Keine Treffer gefunden."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Token-Liste öffnen"
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:55, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:54, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:118, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:134
+msgid "ds.inputs.token-field.no-active-token-option"
+msgstr "Das Token {%s} ist in keinem aktiven Set oder hat einen ungültigen Wert."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Auth-Provider für dieses Profil nicht erlaubt"
@@ -1215,15 +1460,15 @@ msgstr "Auth-Provider für dieses Profil nicht erlaubt"
msgid "errors.auth-provider-not-configured"
msgstr "Authentifizierungsanbieter ist nicht konfiguriert."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Anscheinend sind Sie nicht authentifiziert oder die Sitzung ist abgelaufen."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Die Schriftart %s konnte nicht geladen werden"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Die Schriftarten %s konnten nicht geladen werden"
@@ -1235,43 +1480,61 @@ msgstr "Die Mediendatei kann nicht hochgeladen werden."
msgid "errors.character-limit-exceeded"
msgstr "Zeichenbeschränkung überschritten"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/libraries.cljs:1778
+msgid "errors.circular-library-reference"
+msgstr ""
+"Bibliothek kann nicht hinzugefügt werden: Das würde eine zirkuläre "
+"Abhängigkeit erzeugen"
+
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
+msgid "errors.clipboard-api-unavailable"
+msgstr ""
+"Die Zwischenablage-API ist nicht verfügbar. Stellen Sie Penpot über HTTPS "
+"bereit, damit der Zugriff auf die Zwischenablage funktioniert"
+
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Ihr Browser kann diese Funktion nicht ausführen"
-#: src/app/main/errors.cljs:773
+#: src/app/util/clipboard.cljs:271
+msgid "errors.clipboard-permission-denied"
+msgstr ""
+"Zugriff auf die Zwischenablage verweigert. Erlauben Sie in Ihrem Browser "
+"den Zugriff auf die Zwischenablage, um Inhalte einzufügen"
+
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Beim Kommentar ist ein Fehler aufgetreten"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Tut uns leid! Diese Datei beinhaltet veraltete Penpot-Assets und kann "
"deshalb nicht geöffnet werden."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr ", damit wir Ihnen helfen können."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Penpot unterstützt diese Assets nicht mehr. Sie können uns allerdings"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "kontaktieren"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr ""
"Ein übergeordnetes Set kann nicht auf einem eigenen untergeordneten Pfad "
"abgelegt werden."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-Mail-Adresse wird bereits verwendet"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-Mail-Adresse wurde bereits validiert."
@@ -1283,30 +1546,30 @@ msgstr "Sie können Ihre E-Mail-Adresse nicht als Passwort verwenden"
msgid "errors.email-does-not-match-invitation"
msgstr "Die E-Mail stimmt nicht mit der Einladung überein."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domain nicht zulässig"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Die E-Mail-Adresse «%s» hat viele permanente Unzustellbarkeitsberichte."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Die E-Mail \"%s\" wurde als Spam oder dauerhaft abgelehnt gemeldet."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Es scheint als würden Sie eine Datei öffnen, bei der die Funktion '%s' "
"aktiviert ist. Ihr aktuelle Version von Penpot unterstützt es aber nicht "
"oder hat die Funktion deaktiviert."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Die Funktion '%s' wird nicht unterstützt."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Darf maximal %s Zeichen enthalten."
@@ -1314,7 +1577,7 @@ msgstr "Darf maximal %s Zeichen enthalten."
msgid "errors.field-min-length"
msgstr "Muss mindestens 1 Zeichen enthalten."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Leeres Feld"
@@ -1322,18 +1585,24 @@ msgstr "Leeres Feld"
msgid "errors.field-not-all-whitespace"
msgstr "Der Name muss aus etwas anderem bestehen außer Leerzeichen."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Es scheint eine Nichtübereinstimmung zwischen den aktivierten Funktionen "
"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:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/ui/dashboard/fonts.cljs:358
+msgid "errors.font-family-invalid-chars"
+msgstr ""
+"Der Name der Schriftfamilie darf nur Buchstaben, Ziffern, Leerzeichen, "
+"Bindestriche, Unterstriche und Punkte enthalten."
+
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Etwas ist schief gelaufen."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Mit dem Web Worker ist ein Fehler aufgetreten."
@@ -1349,7 +1618,7 @@ msgstr "Ungültige Daten"
msgid "errors.invalid-email"
msgstr "Geben Sie bitte eine gültige E-Mail-Adresse ein"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Bestätigungs-E-Mail muss übereinstimmen"
@@ -1361,6 +1630,19 @@ msgstr "Der Wiederherstellungscode ist ungültig."
msgid "errors.invalid-text"
msgstr "Ungültiger Text"
+#: src/app/main/ui/static.cljs:88
+msgid "errors.invite-email-mismatch"
+msgstr ""
+"Diese Einladung gilt für eine andere E-Mail-Adresse. Melden Sie sich ab und "
+"mit dem eingeladenen Konto an, oder bitten Sie den Teameigentümer um eine "
+"neue Einladung."
+
+#: src/app/main/ui/static.cljs:92
+msgid "errors.invite-expired"
+msgstr ""
+"Diese Einladung ist abgelaufen. Bitten Sie den Teameigentümer, Ihnen eine "
+"neue zu senden."
+
#: src/app/main/ui/static.cljs:95
msgid "errors.invite-invalid"
msgstr "Einladung ist ungültig"
@@ -1373,11 +1655,11 @@ msgstr "Diese Einladung wurde möglicherweise abgebrochen oder ist abgelaufen."
msgid "errors.ldap-disabled"
msgstr "Die LDAP-Authentifizierung ist deaktiviert."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Sie haben das Limit von '%s' erreicht. Kontaktieren Sie den Support."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Die maximale (%s) Anzahl von E-Mails, die in einer einzigen Anfrage "
@@ -1397,24 +1679,38 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "Es scheint, dass dies kein gültiges Bild ist."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"In dem von Ihnen eingeladenen Profil sind E-Mails stummgeschaltet "
"(Spam-Berichte oder hohe Unzustellbarkeitsberichte)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migration wird durchgeführt"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Nur der Ersteller der Version kann sie sperren"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Nur der Ersteller der Version kann sie entsperren"
+#: src/app/main/data/nitrate.cljs:209
+msgid "errors.organization-leave.no-valid-teams"
+msgstr ""
+"Beim Verlassen der Organisation ist ein Problem aufgetreten. Bitte "
+"versuchen Sie es erneut."
+
+#: src/app/main/data/nitrate.cljs:210
+msgid "errors.organization-leave.organization-owner-cannot-leave"
+msgstr "Der Eigentümer der Organisation kann die Organisation nicht verlassen."
+
+#: src/app/main/ui/auth/verify_token.cljs:98
+msgid "errors.organization-not-found"
+msgstr "Diese Organisation existiert nicht"
+
#: src/app/main/ui/auth/recovery.cljs:25, src/app/main/ui/settings/password.cljs:73
msgid "errors.password-invalid-confirmation"
msgstr "Bestätigungspasswort muss übereinstimmen"
@@ -1423,7 +1719,7 @@ msgstr "Bestätigungspasswort muss übereinstimmen"
msgid "errors.password-too-short"
msgstr "Das Passwort sollte mindestens 8 Zeichen lang sein"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Ungültige Daten in der Zwischenablage"
@@ -1431,7 +1727,7 @@ msgstr "Ungültige Daten in der Zwischenablage"
msgid "errors.profile-blocked"
msgstr "Das Profil ist gesperrt"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Ihr Profil hat stummgeschaltete E-Mails (Spam-Berichte oder hohe "
@@ -1441,44 +1737,77 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Die Registrierung ist derzeit deaktiviert."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:700
+msgid "errors.save-failed"
+msgstr ""
+"Die automatische Speicherung funktioniert wegen eines Fehlers nicht. "
+"Kontaktieren Sie den Support, um den Fehler zu melden, und laden Sie neu, "
+"um mit Ihrer zuletzt gespeicherten Version weiterzuarbeiten."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG ist ungültig oder fehlerhaft"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Inkompatible Funktion '%s' erkannt"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Nicht genügend Mitglieder, um das Team zu verlassen, wahrscheinlich wollen "
"Sie es löschen."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Das Mitglied, das Sie zuzuordnen möchten, existiert nicht."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:191
+msgid "errors.team-leave.only-owner-can-delete"
+msgstr "Nur der Eigentümer eines Teams kann es löschen."
+
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Der Besitzer kann das Team nicht verlassen, Sie müssen die Besitzerrolle "
"neu zuweisen."
+#: ../common/src/app/common/types/team.cljc:27
+msgid "errors.team-name-invalid-chars"
+msgstr "Der Teamname darf keines der folgenden Zeichen enthalten: '.', ':' oder '/'"
+
#: src/app/main/ui/workspace/tokens/sets/helpers.cljs:25, src/app/main/ui/workspace/tokens/sets/helpers.cljs:46, ../common/src/app/common/files/tokens.cljc:291
msgid "errors.token-set-already-exists"
msgstr "Ein Set mit dem gleichen Namen existiert bereits"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Das Ablegen kann nicht abgeschlossen werden, da ein Set mit demselben Namen "
"bereits im Pfad existiert."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Theme-Option mit demselben Namen existiert"
+#: ../common/src/app/common/files/tokens.cljc:351
+msgid "errors.token-theme-not-existing-sets"
+msgstr "Das Theme verweist auf Sets, die nicht existieren: %s"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:50, ../common/src/app/common/files/tokens.cljc:230
+msgid "errors.tokens.circular-reference"
+msgstr "Das Token hat einen zirkulären Verweis"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
+msgid "errors.tokens.composite-line-height-needs-font-size"
+msgstr ""
+"Die Zeilenhöhe hängt von der Schriftgröße ab. Fügen Sie eine Schriftgröße "
+"hinzu, um den aufgelösten Wert zu erhalten."
+
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
+msgid "errors.tokens.empty-field"
+msgstr "Dieses Feld darf nicht leer sein"
+
#: src/app/main/data/workspace/tokens/errors.cljs:42, ../common/src/app/common/files/tokens.cljc:34
msgid "errors.tokens.empty-input"
msgstr "Der Token-Wert darf nicht leer sein"
@@ -1495,7 +1824,13 @@ msgstr "Fehler beim Import:"
msgid "errors.tokens.invalid-color"
msgstr "Ungültiger Farbwert: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:124
+msgid "errors.tokens.invalid-font-family-token-value"
+msgstr ""
+"Ungültiger Token-Wert: Sie können nur auf ein Schriftfamilien-Token "
+"verweisen"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Ungültiger Wert für die Schriftstärke: Verwenden Sie numerische Werte "
@@ -1517,38 +1852,48 @@ msgstr ""
"Token-Namen dürfen nur Buchstaben und Ziffern enthalten, die durch Punkte "
"getrennt sind und dürfen nicht mit einem Dollarzeichen beginnen."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr ""
"Ungültiger Schattentyp: Es werden nur „innerShadow” oder „dropShadow” "
"akzeptiert"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Ungültiger Token-Wert: Es werden nur „none“, „Uppercase“, „Lowercase“ oder "
"„Capitalize“ akzeptiert"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Ungültiger Token-Wert: Es werden nur „none“, „underline“ oder "
"„strike-through“ akzeptiert"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:148
+msgid "errors.tokens.invalid-token-value-shadow"
+msgstr "Ungültiger Wert: Er muss auf ein zusammengesetztes Schatten-Token verweisen."
+
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr ""
"Ungültiger Wert: Der Wert muss auf ein zusammengesetztes Typografie-Token "
"verweisen."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Ungültiger Token-Wert: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Fehlende Token-Referenzen: "
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+msgid "errors.tokens.name-collision"
+msgstr ""
+"Der Gruppenname von %s kollidiert mit einem Token desselben Namens in einem "
+"anderen aktiven Set."
+
#: src/app/main/data/workspace/tokens/errors.cljs:20
msgid "errors.tokens.no-token-files-found"
msgstr "In dieser Datei wurden keine Tokens, Sets oder Themen gefunden."
@@ -1557,29 +1902,33 @@ msgstr "In dieser Datei wurden keine Tokens, Sets oder Themen gefunden."
msgid "errors.tokens.number-too-large"
msgstr "Ungültiger Tokenwert. Der ermittelte Wert ist zu hoch: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr ""
"Die Deckkraft muss zwischen 0 und 100 % oder zwischen 0 und 1 liegen (z. B. "
"50 % oder 0,5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Der Token referenziert sich selbst"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Wert muss größer oder gleich 0 sein."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:144
+msgid "errors.tokens.shadow-spread-range"
+msgstr "Die Schattenausbreitung muss größer oder gleich 0 sein."
+
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Die Rahmenbreite muss größer oder gleich 0 sein."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Ungültiger Wert: % ist nicht zulässig."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Ungültiger Wert: Einheiten sind hier nicht zulässig."
@@ -1587,57 +1936,86 @@ msgstr "Ungültiger Wert: Einheiten sind hier nicht zulässig."
msgid "errors.unexpected-error"
msgstr "Ein unerwarteter Fehler ist aufgetreten."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Unbekannter Token"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Diese Version ist bereits gesperrt"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Diese Version ist gesperrt und kann nicht von anderen gelöscht werden"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Die Datei hat eine inkompatible Versionsnummer"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/auth/recovery.cljs:44, src/app/main/ui/auth/register.cljs:125, src/app/main/ui/settings/password.cljs:42
+msgid "errors.weak-password"
+msgstr "Das Passwort erfüllt die Anforderungen nicht"
+
+#: src/app/main/ui/auth/recovery.cljs:37, src/app/main/ui/auth/register.cljs:119, src/app/main/ui/settings/password.cljs:35
+#, backend
+msgid "errors.weak-password.insufficient-digits"
+msgstr "Mindestens 1 Ziffer"
+
+#: src/app/main/ui/auth/recovery.cljs:38, src/app/main/ui/auth/register.cljs:120, src/app/main/ui/settings/password.cljs:36
+#, backend
+msgid "errors.weak-password.insufficient-lowercase"
+msgstr "Mindestens 1 Kleinbuchstabe"
+
+#: src/app/main/ui/auth/recovery.cljs:40, src/app/main/ui/auth/register.cljs:122, src/app/main/ui/settings/password.cljs:38
+#, backend
+msgid "errors.weak-password.insufficient-special"
+msgstr "Mindestens 1 Sonderzeichen"
+
+#: src/app/main/ui/auth/recovery.cljs:39, src/app/main/ui/auth/register.cljs:121, src/app/main/ui/settings/password.cljs:37
+#, backend
+msgid "errors.weak-password.insufficient-uppercase"
+msgstr "Mindestens 1 Großbuchstabe"
+
+#: src/app/main/ui/auth/recovery.cljs:36, src/app/main/ui/auth/register.cljs:118, src/app/main/ui/settings/password.cljs:34
+#, backend
+msgid "errors.weak-password.too-short"
+msgstr "Mindestens 8 Zeichen"
+
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr ""
"WebGL funktioniert nicht mehr. Bitte laden Sie die Seite neu, um sie "
"zurückzusetzen"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Ups! Der Canvas-Kontext ist verloren gegangen"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Verbindungsfehler, URL ist nicht erreichbar"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "Die URL erfüllt nicht die Validierungskriterien."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Die letzte Übertragung war nicht erfolgreich."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Fehler bei der SSL-Validierung."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Zeitüberschreitung"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Unerwarteter Fehler bei der Validierung"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Unerwarteter Status %s"
@@ -1657,17 +2035,17 @@ msgstr "Beschreibung"
msgid "feedback.description-placeholder"
msgstr "Bitte beschreiben Sie ihr Feedback"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Wir sind froh, dass Sie hier sind. Wenn Sie Hilfe benötigen, verwenden Sie "
"die Suchfunktion, bevor Sie einen Beitrag schreiben."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot-Community"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Weitere Möglichkeiten uns zu kontaktieren"
@@ -1692,11 +2070,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Kontakt"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Hier helfen wir Ihnen bei technischen Fragen."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X Support-Konto"
@@ -1716,14 +2094,68 @@ msgstr "Idee"
msgid "feedback.type.issue"
msgstr "Problem"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Dateien herunterladen"
+#: src/app/main/ui/exports/files.cljs:431
+msgid "files-export-modal.options.detach-libraries.message"
+msgstr "Verknüpfte Bibliotheks-Assets werden nicht in die Datei aufgenommen."
+
+#: src/app/main/ui/exports/files.cljs:425
+msgid "files-export-modal.options.detach-libraries.title"
+msgstr "Assets als einfache Objekte behandeln"
+
+#: src/app/main/ui/exports/files.cljs:429
+msgid "files-export-modal.options.include-libraries.message"
+msgstr ""
+"Dateien mit verknüpften Bibliotheken werden in den Export aufgenommen, die "
+"Verknüpfung bleibt erhalten. "
+
+#: src/app/main/ui/exports/files.cljs:423
+msgid "files-export-modal.options.include-libraries.title"
+msgstr "Datei und Bibliotheken exportieren"
+
+#: src/app/main/ui/exports/files.cljs:432
+msgid "files-export-modal.options.link-later.message"
+msgstr ""
+"Beim Import können Sie vorhandene Bibliotheken mit passenden Namen "
+"verknüpfen."
+
+#: src/app/main/ui/exports/files.cljs:426
+msgid "files-export-modal.options.link-later.title"
+msgstr "Passende Bibliotheken beim Import verknüpfen"
+
+#: src/app/main/ui/exports/files.cljs:430
+msgid "files-export-modal.options.merge-libraries.message"
+msgstr ""
+"Ihre Datei wird exportiert, wobei die Bibliotheks-Assets in die lokale "
+"Bibliothek übernommen werden."
+
+#: src/app/main/ui/exports/files.cljs:424
+msgid "files-export-modal.options.merge-libraries.title"
+msgstr "Bibliotheks-Assets in die Datei einbetten"
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "Ein Fehler ist aufgetreten"
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
+msgid "import-shortcuts.apply"
+msgstr "Übernehmen"
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:102
+msgid "import-shortcuts.diff-modal-text"
+msgstr ""
+"Die folgenden Tastaturkürzel werden durch die importierte Konfiguration "
+"geändert."
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:98
+msgid "import-shortcuts.diff-modal-title"
+msgstr "Tastaturkürzel importieren"
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:148
+msgid "import-shortcuts.no-changes"
+msgstr ""
+"Zwischen den aktuellen und den importierten Tastaturkürzeln wurden keine "
+"Unterschiede gefunden."
+
#: src/app/main/ui/components/color_input.cljs:31
msgid "inspect.attributes.color"
msgstr "Farbe"
@@ -1756,7 +2188,7 @@ msgstr "Bildvorschau"
msgid "inspect.attributes.shadow"
msgstr "Schatten"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Größe und Position"
@@ -1764,55 +2196,51 @@ msgstr "Größe und Position"
msgid "inspect.attributes.stroke"
msgstr "Rahmen"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Zentriert"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Innen"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Außen"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typografie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Schriftart"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Schriftgröße"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Schriftschnitt"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Zeichenabstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Zeilenabstand"
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
+msgid "inspect.attributes.typography.mixed-font-family"
+msgstr "Gemischte Schriftfamilie"
+
#: src/app/main/ui/inspect/attributes/text.cljs:114
msgid "inspect.attributes.typography.text-decoration.none"
msgstr "Keine"
+#: src/app/main/ui/inspect/attributes/text.cljs:117
+msgid "inspect.attributes.typography.text-decoration.strikethrough"
+msgstr "Durchgestrichen"
+
#: src/app/main/ui/inspect/attributes/text.cljs:115
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Unterstrichen"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Kapitälchen"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Kleinbuchstaben"
@@ -1824,7 +2252,7 @@ msgstr "Keine"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Nicht gesetzt"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Großbuchstaben"
@@ -1872,6 +2300,10 @@ msgstr "Kopieren"
msgid "inspect.subtitle.main"
msgstr "Hauptkomponente"
+#: src/app/main/ui/inspect/right_sidebar.cljs:176
+msgid "inspect.tabs-switcher-label"
+msgstr "Inspektionsansicht"
+
#: src/app/main/ui/inspect/right_sidebar.cljs:142
msgid "inspect.tabs.code.selected.circle"
msgstr "Kreis"
@@ -1948,47 +2380,274 @@ msgstr "Festgelegter Wert:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Varianteneigenschaften"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/settings/integrations.cljs:612
+msgid "integrations.access-tokens.create"
+msgstr "Neues Zugangstoken erstellen"
+
+#: src/app/main/ui/settings/integrations.cljs:628
+msgid "integrations.access-tokens.empty.add-one"
+msgstr ""
+"Drücken Sie die Schaltfläche „Neues Zugangstoken erstellen“, um eines zu "
+"erzeugen."
+
+#: src/app/main/ui/settings/integrations.cljs:627
+msgid "integrations.access-tokens.empty.no-access-tokens"
+msgstr "Sie haben noch keine Token."
+
+#: src/app/main/ui/settings/integrations.cljs:602
+msgid "integrations.access-tokens.personal"
+msgstr "Persönliche Zugangstoken"
+
+#: src/app/main/ui/settings/integrations.cljs:607
+msgid "integrations.access-tokens.personal.description"
+msgstr ""
+"Persönliche Zugangstoken funktionieren als Alternative zur Anmeldung mit "
+"Benutzername und Passwort und können einer Anwendung Zugriff auf die "
+"interne Penpot-API geben"
+
+#: src/app/main/ui/settings/integrations.cljs:68
+msgid "integrations.copy-to-clipboard"
+msgstr "In die Zwischenablage kopieren"
+
+#: src/app/main/ui/settings/integrations.cljs:253
+msgid "integrations.create-access-token.title"
+msgstr "Zugangstoken erstellen"
+
+#: src/app/main/ui/settings/integrations.cljs:252
+msgid "integrations.create-access-token.title.created"
+msgstr "Zugangstoken erstellt"
+
+#: src/app/main/ui/settings/integrations.cljs:371
+msgid "integrations.delete-token.accept"
+msgstr "Token löschen"
+
+#: src/app/main/ui/settings/integrations.cljs:370
+msgid "integrations.delete-token.message"
+msgstr "Sind Sie sicher, dass Sie dieses Token löschen möchten?"
+
+#: src/app/main/ui/settings/integrations.cljs:369
+msgid "integrations.delete-token.title"
+msgstr "Token löschen"
+
+#: src/app/main/ui/settings/integrations.cljs:213
+msgid "integrations.expiration-180-days"
+msgstr "180 Tage"
+
+#: src/app/main/ui/settings/integrations.cljs:210
+msgid "integrations.expiration-30-days"
+msgstr "30 Tage"
+
+#: src/app/main/ui/settings/integrations.cljs:211
+msgid "integrations.expiration-60-days"
+msgstr "60 Tage"
+
+#: src/app/main/ui/settings/integrations.cljs:212
+msgid "integrations.expiration-90-days"
+msgstr "90 Tage"
+
+#: src/app/main/ui/settings/integrations.cljs:208
+msgid "integrations.expiration-date.label"
+msgstr "Ablaufdatum"
+
+#: src/app/main/ui/settings/integrations.cljs:209
+msgid "integrations.expiration-never"
+msgstr "Nie"
+
+#: src/app/main/ui/settings/integrations.cljs:393
+msgid "integrations.expired-on"
+msgstr "Abgelaufen am %s"
+
+#: src/app/main/ui/settings/integrations.cljs:394
+msgid "integrations.expires-on"
+msgstr "Läuft ab am %s"
+
+#: src/app/main/ui/settings/integrations.cljs:294
+msgid "integrations.generate-mcp-key.title"
+msgstr "MCP-Schlüssel erzeugen"
+
+#: src/app/main/ui/settings/integrations.cljs:292
+msgid "integrations.generate-mcp-key.title.created"
+msgstr "MCP-Schlüssel erzeugt"
+
+#: src/app/main/ui/settings/integrations.cljs:193
+msgid "integrations.info.mcp-server"
+msgstr ""
+"Der Penpot-MCP-Server ermöglicht MCP-Clients, direkt mit "
+"Penpot-Designdateien zu arbeiten."
+
+#: src/app/main/ui/settings/integrations.cljs:119
+msgid "integrations.mcp-key.will-expire"
+msgstr "Der MCP-Schlüssel läuft am %s ab"
+
+#: src/app/main/ui/settings/integrations.cljs:122
+msgid "integrations.mcp-key.will-not-expire"
+msgstr "Der MCP-Schlüssel hat kein Ablaufdatum"
+
+#: src/app/main/ui/settings/integrations.cljs:494
+msgid "integrations.mcp-server.description"
+msgstr ""
+"Der Penpot-MCP-Server ermöglicht MCP-Clients, direkt mit "
+"Penpot-Designdateien zu arbeiten."
+
+#: src/app/main/ui/settings/integrations.cljs:577
+msgid "integrations.mcp-server.mcp-keys.help"
+msgstr "MCP-Clients einrichten"
+
+#: src/app/main/ui/settings/integrations.cljs:564
+msgid "integrations.mcp-server.mcp-keys.info"
+msgstr ""
+"Das ist die Server-URL, die Sie brauchen, um Ihren MCP-Client mit dem "
+"Penpot-MCP-Server zu verbinden."
+
+#: src/app/main/ui/settings/integrations.cljs:544
+msgid "integrations.mcp-server.mcp-keys.regenerate"
+msgstr "MCP-Schlüssel neu erzeugen"
+
+#: src/app/main/ui/settings/integrations.cljs:537
+msgid "integrations.mcp-server.mcp-keys.title"
+msgstr "MCP-Schlüssel"
+
+#: src/app/main/ui/settings/integrations.cljs:545
+msgid "integrations.mcp-server.mcp-keys.tootip"
+msgstr "Der MCP-Schlüssel wird für die Einrichtung des MCP-Clients benötigt"
+
+#: src/app/main/ui/settings/integrations.cljs:500
+msgid "integrations.mcp-server.status"
+msgstr "Status"
+
+#: src/app/main/ui/settings/integrations.cljs:520
+msgid "integrations.mcp-server.status.disabled"
+msgstr "Deaktiviert"
+
+#: src/app/main/ui/settings/integrations.cljs:519
+msgid "integrations.mcp-server.status.enabled"
+msgstr "Aktiviert"
+
+#: src/app/main/ui/settings/integrations.cljs:510
+msgid "integrations.mcp-server.status.expired.0"
+msgstr ""
+"Der MCP-Schlüssel für die Verbindung zum MCP-Server ist abgelaufen. Die "
+"Verbindung kann deshalb nicht hergestellt werden."
+
+#: src/app/main/ui/settings/integrations.cljs:515
+msgid "integrations.mcp-server.status.expired.1"
+msgstr ""
+"Erzeugen Sie den MCP-Schlüssel neu und aktualisieren Sie die "
+"Client-Konfiguration mit dem neuen Schlüssel."
+
+#: src/app/main/ui/settings/integrations.cljs:489
+msgid "integrations.mcp-server.title"
+msgstr "MCP-Server"
+
+#: src/app/main/ui/settings/integrations.cljs:200
+msgid "integrations.name.label"
+msgstr "Name"
+
+#: src/app/main/ui/settings/integrations.cljs:201
+msgid "integrations.name.placeholder"
+msgstr "Der Name hilft zu erkennen, wofür das Token gedacht ist"
+
+#: src/app/main/ui/settings/integrations.cljs:392
+msgid "integrations.no-expiration"
+msgstr "Kein Ablaufdatum"
+
+#: src/app/main/ui/settings/integrations.cljs:478
+msgid "integrations.notification.success.copied-link"
+msgstr "Link in die Zwischenablage kopiert"
+
+#: src/app/main/ui/settings/integrations.cljs:241, src/app/main/ui/settings/integrations.cljs:274, src/app/main/ui/settings/integrations.cljs:319
+msgid "integrations.notification.success.created"
+msgstr "Token erfolgreich erstellt"
+
+#: src/app/main/ui/settings/integrations.cljs:87
+msgid "integrations.notification.success.mcp-key-copied"
+msgstr "MCP-Schlüssel kopiert"
+
+#: src/app/main/ui/settings/integrations.cljs:444
+msgid "integrations.notification.success.mcp-server-disabled"
+msgstr "MCP-Server deaktiviert"
+
+#: src/app/main/ui/settings/integrations.cljs:443
+msgid "integrations.notification.success.mcp-server-enabled"
+msgstr "MCP-Server aktiviert"
+
+#: src/app/main/ui/settings/integrations.cljs:88
+msgid "integrations.notification.success.token-copied"
+msgstr "Token kopiert"
+
+#: src/app/main/ui/settings/integrations.cljs:337
+msgid "integrations.regenerate-mcp-key.info"
+msgstr ""
+"Wenn Sie den MCP-Schlüssel neu erzeugen, wird der aktuelle sofort "
+"widerrufen. Anwendungen, die ihn verwenden, funktionieren dann nicht mehr."
+
+#: src/app/main/ui/settings/integrations.cljs:336
+msgid "integrations.regenerate-mcp-key.title"
+msgstr "MCP-Schlüssel neu erzeugen"
+
+#: src/app/main/ui/settings/integrations.cljs:334
+msgid "integrations.regenerate-mcp-key.title.created"
+msgstr "MCP-Schlüssel neu erzeugt"
+
+#: src/app/main/ui/settings/integrations.cljs:651
+msgid "integrations.title"
+msgstr "Integrationen"
+
+#: src/app/main/ui/settings/integrations.cljs:108
+msgid "integrations.token.info.non-recuperable"
+msgstr ""
+"Dieses eindeutige Token kann nicht wiederhergestellt werden. Wenn Sie es "
+"verlieren, müssen Sie ein neues erstellen."
+
+#: src/app/main/ui/settings/integrations.cljs:120
+msgid "integrations.token.will-expire"
+msgstr "Das Token läuft am %s ab"
+
+#: src/app/main/ui/settings/integrations.cljs:123
+msgid "integrations.token.will-not-expire"
+msgstr "Das Token hat kein Ablaufdatum"
+
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Alle als gelesen markieren"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Tastaturkürzel"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Über Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Akzeptieren"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktiv"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Hinzufügen"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Eigene Schriftart hinzufügen"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Hinzufügen..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Alles"
@@ -1996,17 +2655,17 @@ msgstr "Alles"
msgid "labels.and"
msgstr "und"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Zurück"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Sie müssen ein wenig warten und es erneut versuchen. Wir führen eine kurze "
"Wartung an unseren Servern durch."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2014,15 +2673,27 @@ msgstr "Bad Gateway"
msgid "labels.blur"
msgstr "Weichzeichnen"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/ui/inspect/attributes/blur.cljs:31, src/app/main/ui/inspect/styles/style_box.cljs:32, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:262, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:274
+msgid "labels.blur-effects"
+msgstr "Weichzeichner"
+
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Abbrechen"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/ui/dashboard/sidebar.cljs:546
+msgid "labels.check-for-updates"
+msgstr "Nach Updates suchen"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:545
+msgid "labels.checking-for-updates"
+msgstr "Suche nach Updates…"
+
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Schließen"
@@ -2030,7 +2701,7 @@ msgstr "Schließen"
msgid "labels.code"
msgstr "Code"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Zusammenklappen"
@@ -2042,15 +2713,15 @@ msgstr "Farbe"
msgid "labels.comment"
msgstr "Kommentar"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Kommentare"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Community"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Community & Beiträge"
@@ -2062,19 +2733,19 @@ msgstr "Berechnet"
msgid "labels.confirm-password"
msgstr "Passwort bestätigen"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Support kontaktieren"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Kontakt"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Weiter"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Sie können mit einem Penpot-Konto fortfahren"
@@ -2086,31 +2757,35 @@ msgstr "Kopieren"
msgid "labels.copy-color"
msgstr "Farbe kopieren"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Link kopieren"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-heute"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Erstellen"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Neues Team erstellen"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Neuen Teamnamen eingeben"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:111, src/app/main/ui/settings/restore_shortcuts_modal.cljs:102
+msgid "labels.current"
+msgstr "Aktuell"
+
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Dashboard"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Löschen"
@@ -2122,7 +2797,7 @@ msgstr "Kommentar löschen"
msgid "labels.delete-comment-thread"
msgstr "Thread löschen"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Einladung löschen"
@@ -2130,23 +2805,35 @@ msgstr "Einladung löschen"
msgid "labels.delete-multi-files"
msgstr "%s Dateien löschen"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/settings/profile.cljs:122
+msgid "labels.delete-profile-photo.message"
+msgstr "Sind Sie sicher, dass Sie Ihr Profilfoto löschen möchten?"
+
+#: src/app/main/ui/settings/profile.cljs:121
+msgid "labels.delete-profile-photo.title"
+msgstr "Profilfoto löschen"
+
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Gelöscht"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Developer"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Verwerfen"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%s herunterladen"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:300
+msgid "labels.download-simple"
+msgstr "Herunterladen"
+
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Entwürfe"
@@ -2154,27 +2841,31 @@ msgstr "Entwürfe"
msgid "labels.duplicate"
msgstr "Duplizieren"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Bearbeiten"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Leer"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Fehler"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/data/workspace/versions.cljs:314
+msgid "labels.exit"
+msgstr "Beenden"
+
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Abgelaufen"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportieren"
@@ -2186,7 +2877,7 @@ msgstr "Feedback deaktiviert"
msgid "labels.feedback-sent"
msgstr "Feedback gesendet"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2194,55 +2885,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Fläche"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+msgid "labels.flex-layout"
+msgstr "Flex-Layout"
+
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Schriftart"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stile"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Schriftarten"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github-Repository"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Feedback geben"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Zurück"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafikdesign"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
+msgid "labels.grid-layout"
+msgstr "Raster-Layout"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Hilfezentrum"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Hilfe & Lernen"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Ausblenden"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Erledigte Kommentare ausblenden"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importieren"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inaktiv"
@@ -2250,47 +2949,51 @@ msgstr "Inaktiv"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Installierte Schriftarten"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/settings/sidebar.cljs:130
+msgid "labels.integrations"
+msgstr "Integrationen"
+
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Etwas Schlimmes ist passiert."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "Probieren Sie es erneut oder kontaktieren Sie unseren Support."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Interner Fehler"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Einladungen"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Sprache"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Lernzentrum"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotheken & Vorlagen"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Laden…"
@@ -2298,7 +3001,7 @@ msgstr "Laden…"
msgid "labels.lock"
msgstr "Sperren"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Einloggen oder anmelden"
@@ -2306,19 +3009,19 @@ msgstr "Einloggen oder anmelden"
msgid "labels.login"
msgstr "Anmelden"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Abmelden"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Mitglied"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Mitglieder"
@@ -2330,41 +3033,71 @@ msgstr "Erwähnung"
msgid "labels.new-password"
msgstr "Neues Passwort"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Weiter"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/static.cljs:367
+msgid "labels.nitrate-not-configured.desc-message"
+msgstr "Diese Instanz braucht einen Einrichtungsschritt aus der neuesten Version."
+
+#: src/app/main/ui/static.cljs:370
+msgid "labels.nitrate-not-configured.learn-more"
+msgstr "Sehen Sie sich unsere"
+
+#: src/app/main/ui/static.cljs:365
+msgid "labels.nitrate-not-configured.main-message"
+msgstr "Penpot kann noch nicht starten."
+
+#: src/app/main/ui/static.cljs:375
+msgid "labels.nitrate-not-configured.technical-guide"
+msgstr "technische Anleitung"
+
+#: src/app/main/ui/static.cljs:355
+msgid "labels.nitrate-unavailable.main-message"
+msgstr ""
+"Penpot ist wegen eines Systemproblems vorübergehend nicht verfügbar. Bitte "
+"versuchen Sie es in Kürze erneut."
+
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr ""
"Sie sind auf dem neuesten Stand! Neue Benachrichtigungen zu Kommentaren "
"werden hier angezeigt."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Keine ausstehenden Einladungen."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/dashboard/team.cljs:850
+msgid "labels.no-invitations-gather-people"
+msgstr "Holen Sie Ihre Leute zusammen und erschaffen Sie gemeinsam Großes."
+
+#: src/app/main/ui/components/select.cljs:256
+msgid "labels.no-matches"
+msgstr "Keine Treffer"
+
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Benachrichtigungen"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 Datei"
msgstr[1] "%s Dateien"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 Zeichenfläche"
msgstr[1] "%s Zeichenflächen"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 Projekt"
@@ -2374,39 +3107,43 @@ msgstr[1] "%s Projekte"
msgid "labels.old-password"
msgstr "Altes Passwort"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
+msgid "labels.open"
+msgstr "Öffnen"
+
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Optionen"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Sonstiges (bitte angeben)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Sonstiges"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Eigentümer"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Passwort"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Ausstehend"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot Changelog"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot Hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Angeheftete Projekte"
@@ -2414,31 +3151,31 @@ msgstr "Angeheftete Projekte"
msgid "labels.post"
msgstr "Versenden"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Zurück"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Produkt- oder UX-Design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Produkt- oder Projektmanager"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekte"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Aktuell"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referenz"
@@ -2446,27 +3183,27 @@ msgstr "Referenz"
msgid "labels.refresh"
msgstr "Aktualisieren"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Versionshinweise"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Seite neu laden"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Entfernen"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Mitglied entfernen"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Umbenennen"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Team umbenennen"
@@ -2490,11 +3227,11 @@ msgstr "neue Antwort"
msgid "labels.reply.thread"
msgstr "Antwort"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Erneut senden"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Einladung erneut senden"
@@ -2502,43 +3239,43 @@ msgstr "Einladung erneut senden"
msgid "labels.restore"
msgstr "Wiederherstellen"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Wiederholen"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rolle"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Speichern"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Suchen"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Schriftart suchen"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Wählen Sie eine Option"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Senden"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Senden…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Wir befinden uns in der planmäßigen Wartung unserer Systeme."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Service nicht verfügbar"
@@ -2546,55 +3283,59 @@ msgstr "Service nicht verfügbar"
msgid "labels.sets"
msgstr "Sets"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Einstellungen"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Schatten"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Teilen"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Gemeinsam genutzte Bibliotheken"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Anzeigen"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Alle Kommentare anzeigen"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Kommentarliste anzeigen"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Nur Ihre Erwähnungen anzeigen"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Nur eigene Kommentare anzeigen"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Überspringen"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Quellen"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Start"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
@@ -2602,7 +3343,7 @@ msgstr "Status"
msgid "labels.stroke"
msgstr "Rahmen"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Schüler oder Lehrer"
@@ -2618,19 +3359,19 @@ msgstr "SVG"
msgid "labels.text"
msgstr "Text"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Themen"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorials"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typografie"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Unbekannter Fehler"
@@ -2642,31 +3383,31 @@ msgstr "Entsperren"
msgid "labels.unpublish-multi-files"
msgstr "Veröffentlichung von %s-Dateien aufheben"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Aktualisieren"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Team aktualisieren"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Hochladen"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Eigene Schriftarten hochladen"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Lädt hoch…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variante"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Hinweise zu Version %s"
@@ -2674,7 +3415,7 @@ msgstr "Hinweise zu Version %s"
msgid "labels.view-only"
msgstr "Nur ansehen"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Zuschauer"
@@ -2682,7 +3423,7 @@ msgstr "Zuschauer"
msgid "labels.visibility"
msgstr "Sichtbarkeit"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -2690,11 +3431,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Neuen Kommentar schreiben"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(Sie)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ihr Konto"
@@ -2805,63 +3546,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Hinzufügen von “%s” als gemeinsam genutzte Bibliothek"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Maximal"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Neue E-Mail-Adresse verifizieren"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Wir senden Ihnen eine Nachricht an Ihre aktuelle E-Mail-Adresse “%s”, um "
"Ihre Identität zu überprüfen."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Neue E-Mail-Adresse"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "E-Mail-Adresse ändern"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Ihre E-Mail-Adresse ändern"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Webhook erstellen"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Webhook erstellen"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload-URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Abbrechen und mein Konto behalten"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ja, mein Konto löschen"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Wenn Sie Ihr Konto löschen, verlieren Sie alle Ihre aktuellen Projekte und "
"Archive."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?"
@@ -2911,31 +3652,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Schriftschnitt löschen"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Schriftart löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Sind Sie sicher, dass Sie diese Seite löschen wollen?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Seite löschen"
@@ -2951,31 +3692,31 @@ msgstr "Sind Sie sicher, dass Sie dieses Projekt löschen möchten?"
msgid "modals.delete-project-confirm.title"
msgstr "Projekt löschen"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Datei löschen"
msgstr[1] "Dateien löschen"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Es ist in keiner Datei aktiviert."
msgstr[1] "Sie sind in keiner Datei aktiviert."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Diese Bibliothek ist hier aktiviert: "
msgstr[1] "Diese Bibliotheken sind hier aktiviert: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Möchten Sie diese Datei wirklich löschen?"
msgstr[1] "Möchten Sie diese Dateien wirklich löschen?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Datei löschen"
@@ -2995,19 +3736,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Team löschen"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Mitglied löschen"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Sind Sie sicher, dass Sie dieses Mitglied aus dem Team löschen möchten?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Teammitglied löschen"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3017,165 +3758,165 @@ msgstr[1] ""
"Assets, die bereits in diesen Dateien verwendet wurden, bleiben dort "
"erhalten (das Design bleibt erhalten)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Webhook löschen"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Möchten Sie diesen Webhook wirklich löschen?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Webhook löschen"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Webhook bearbeiten"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Webhook bearbeiten"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Einladung senden"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-Mails, durch Komma getrennt"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Einige E-Mails stammen von aktuellen Teammitgliedern. Ihre Einladungen "
"werden nicht versendet."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
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/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Mitglieder in das Team einladen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Da Sie das einzige Mitglied dieses Teams sind, wird das Team zusammen mit "
"seinen Projekten und Dateien gelöscht."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Sind Sie sicher, dass Sie das %s-Team verlassen wollen?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Sie können das Team nicht verlassen, wenn es kein anderes Mitglied gibt, "
"das Sie zum Besitzer ernennen können. Sie können das Team jedoch löschen."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "Sie sind der Eigentümer von %s."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Befördern und verlassen"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Wählen Sie ein Mitglied aus, das befördert werden soll"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Wählen Sie ein Mitglied aus, das befördert werden soll"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Team verlassen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Sind Sie sicher, dass Sie dieses Team verlassen wollen?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Team verlassen"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Verschieben"
msgstr[1] "Verschieben"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Sind Sie sicher, dass Sie diese Bibliothek verschieben wollen?"
msgstr[1] "Sind Sie sicher, dass Sie diese Bibliotheken verschieben wollen?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Bibliothek verschieben"
msgstr[1] "Bibliotheken verschieben"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Verschiebung"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Befördern"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Wenn Sie die Eigentümerschaft übertragen, ändern Sie Ihre Rolle in Admin "
"und verlieren einige Berechtigungen für dieses Team. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "Sind Sie sicher, dass Sie diesen Benutzer zum Eigentümer befördern wollen?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Zum Eigentümer befördern"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Veröffentlichen"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Leere Bibliothek veröffentlichen"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Minimal"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Veröffentlichung aufheben"
msgstr[1] "Veröffentlichung aufheben"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Möchten Sie die Veröffentlichung dieser Bibliothek wirklich aufheben?"
msgstr[1] "Möchten Sie die Veröffentlichung dieser Bibliotheken wirklich aufheben?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Veröffentlichung der Bibliothek aufheben"
@@ -3200,11 +3941,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Komponente aus einer geteilten Bibliothek aktualiseren"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Diese Seite existiert nicht"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404-Fehler"
@@ -3224,11 +3965,11 @@ 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:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Kostenlos anmelden"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Und starten Sie Penpot in Sekunden!"
@@ -3236,69 +3977,69 @@ msgstr "Und starten Sie Penpot in Sekunden!"
msgid "not-found.made-with-love"
msgstr "Mit LIEBE gemacht und Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Sie haben bereits Zugang zu dieser Datei beantragt."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
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:289
+#: src/app/main/ui/static.cljs:294
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:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Sie haben bereits Zugang zu diesem Projekt beantragt."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "ZUGANG ANFORDERN"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
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:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Ihre Anfrage wurde korrekt abgeschickt!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Sie haben keinen Zugriff auf diese Datei."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Zu deinem Penpot wechseln"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
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:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot-Datei"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Sie haben keinen Zugang zu diesem Projekt."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJEKT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Um Zugriff auf diese Datei zu erhalten, können Sie den Teambesitzer fragen."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr ""
"Um Zugriff auf dieses Projekt zu erhalten, können Sie den Teambesitzer "
@@ -3314,29 +4055,29 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Eine neue Version ist verfügbar."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Einladung erfolgreich widerrufen"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Einladung erfolgreich gesendet"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Einladungslink kopiert"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Sie können Ihr Profil nicht löschen. Weisen Sie Ihre Teams neu zu, bevor "
"Sie fortfahren."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil erfolgreich gespeichert!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verifizierungs-E-Mail an %s gesendet. Prüfen Sie Ihren Posteingang!"
@@ -3366,78 +4107,78 @@ msgstr "Nach der Bennenung Ihres Teams, können Sie andere Personen einladen."
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Team erstellen"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Mitglieder einladen"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Einladen mit der Rolle:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Los geht's!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generierung echter Code-Entwürfe"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Erstellung von Design-Systemen"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototyping"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "UI/UX-Design einer App"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Wofür werden Sie Penpot verwenden?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Lassen Sie uns ein wenig über Sie erfahren, damit wir Penpot für Sie "
"optimieren können. Ihre Antworten werden helfen uns, neue Funktionen zu "
"priorisieren und Ihnen den richtigen Einstieg zu erleichtern."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Helfen Sie uns, Sie kennen zu lernen"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Welches dieser Tools verwenden Sie am meisten?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Was machen Sie beruflich?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Erzählen Sie uns von Ihrem Job"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Wo möchten Sie gerne anfangen?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Bildung"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Persönlich"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Arbeit"
@@ -3487,11 +4228,11 @@ msgstr "Beginnen Sie mit dem Entwerfen"
msgid "profile.recovery.go-to-login"
msgstr "Zur Anmeldung"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Trennen"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mehrere"
@@ -3503,35 +4244,35 @@ msgstr "Farbe entfernen"
msgid "settings.select-this-color"
msgstr "Elemente mit diesem Stil auswählen"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Kommentare"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Unten ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Horizontal zentrieren"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Linksbündig ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Rechtsbündig ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Oben ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Mittig ausrichten (vertikal)"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Zeichenfläche aus Auswahl erstellen"
@@ -3539,55 +4280,55 @@ msgstr "Zeichenfläche aus Auswahl erstellen"
msgid "shortcuts.bold"
msgstr "Umschalten auf Fettdruck"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Subtrahieren (Boolesche Operation)"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Ausschluss"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Schnittmenge"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Vereinigung"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "In den Hintergrund"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Eins nach hinten"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Eins nach vorne"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "In den Vordergrund"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Verlauf löschen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopieren"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Link kopieren"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Eigenschaften kopieren"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Komponente / Variante erstellen"
@@ -3595,35 +4336,35 @@ msgstr "Komponente / Variante erstellen"
msgid "shortcuts.create-new-project"
msgstr "Neues Projekt erstellen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Ausschneiden"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Auszoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Löschen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Punkt löschen"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Komponente lösen"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Kurve"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Board"
@@ -3631,39 +4372,39 @@ msgstr "Board"
msgid "shortcuts.draw-nodes"
msgstr "Pfad zeichnen"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Pfad"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rechteck"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplizieren"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Abbrechen"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Formen exportieren"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Passend zoomen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Horizontal spiegeln"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Vertikal spiegeln"
@@ -3687,23 +4428,23 @@ msgstr "Zu gemeinsam genutzten Bibliotheken wechseln"
msgid "shortcuts.go-to-search"
msgstr "Suchen"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Gruppieren"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Horizontal verteilen"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Benutzeroberfläche ein-/ausblenden"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Einzoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Bild einfügen"
@@ -3711,7 +4452,7 @@ msgstr "Bild einfügen"
msgid "shortcuts.italic"
msgstr "Umschalten auf Kursivdruck"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Punkte verbinden"
@@ -3719,39 +4460,39 @@ msgstr "Punkte verbinden"
msgid "shortcuts.line-through"
msgstr "Durchgestrichen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Zur Ecke umwandeln"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Kurve erstellen"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maskieren"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Punkte zusammenführen"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Schnell nach unten verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Schnell nach links verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Schnell nach rechts verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Schnell nach oben verschieben"
@@ -3759,329 +4500,329 @@ msgstr "Schnell nach oben verschieben"
msgid "shortcuts.move-nodes"
msgstr "Punkte verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Nach unten verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Nach links verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Nach rechts verschieben"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Nach oben verschieben"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Nächstes Board"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Kein Tastaturkürzel gefunden"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Deckkraft auf 100% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Deckkraft auf 10% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Deckkraft auf 20% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Deckkraft auf 30% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Deckkraft auf 40% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Deckkraft auf 50% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Deckkraft auf 60% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Deckkraft auf 70% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Deckkraft auf 80% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Deckkraft auf 90% setzen"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Farbwähler"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Zum Kommentarbereich im Ansichtsmodus"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Zum Dashboard"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Zur Spezifikation im Ansichtsmodus"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Zum Ansichtsmodus"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Zum Ansichtsmodus"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Zum Arbeitsbereich"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " oder "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Einfügen"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Eigenschaften einfügen"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Plugin-Manager"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Vorheriges Board"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Wiederholen"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Umbenennen"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Zoom zurücksetzen"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Skalieren"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Grundlagen"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Dashboard"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Ansicht"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Arbeitsbereich"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Alles auswählen"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Nächste Ebene auswählen"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Übergeordnete Ebene auswählen"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Vorherige Ebene auswählen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Punkte trennen"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Pixelraster ein-/ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Tastaturkürzel ein-/ausblenden"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "An den Punkten ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Am Pixelraster ausrichten"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Mit der Bearbeitung beginnen"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Ausrichtung"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Allgemein"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Hauptmenü"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Ändern von Ebenen"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneele"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Pfade"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formen"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Texte"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Werkzeuge"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Miniaturansichten festlegen"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Tastaturkürzel"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Dynamische Ausrichtung umschalten"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Assets einblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Farbpalette ein-/ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Fokusmodus umschalten"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Vollbild aktivieren/deaktivieren"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Hilfslinien anzeigen / ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Verlauf ein-/ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Ebenen ein-/ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Flex-Layout hinzufügen/entfernen"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Grid-Layout hinzufügen/entfernen"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Auswahl sperren"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Seitenverhältnis sperren/entsperren"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Lineale anzeigen / ausblenden"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "An Hilfslinien ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "An den Hilfslinien des Lineals ausrichten"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Textpalette ein-/ausblenden"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Theme ändern"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Elemente ein-/ausblenden"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Zoom-Optionen umschalten"
@@ -4089,31 +4830,31 @@ msgstr "Zoom-Optionen umschalten"
msgid "shortcuts.underline"
msgstr "Unterstrichen"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Rückgängig"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Gruppierung aufheben"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Maske entfernen"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Vertikal verteilen"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Ansicht mit Zoomwerkzeug verkleinern"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Ansicht mit Zoomwerkzeug vergrößern"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zur Auswahl zoomen"
@@ -4145,142 +4886,142 @@ msgstr "Ihr Abonnement:"
msgid "subscription.dashboard.team-plan"
msgstr "Team-Abonnement"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonnement"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Alle Vorteile des unbegrenzten Abonnements und:"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-Tage automatische Speicherung von Versionen und Dateiwiederherstellung"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Monatliche Gesamtrechnung"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Unbegrenzter Speicherplatz"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Ihr Abonnement verwalten"
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Redakteure"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/Monat"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot-Mitglied seit %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Mehr Informationen"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "Organisation pro Monat"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professionell"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-Tage automatische Speicherung von Versionen und Dateiwiederherstellung"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 GB Speicherplatz"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Ihr Abonnement"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Kostenlose Testversion starten"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Abonnieren"
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Viel Spaß mit Ihrem Abonnement!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Sie sind %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Teste es kostenlos für 14 Tage"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unbegrenzt"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unbegrenzt (Testversion)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-Tage automatische Speicherung von Versionen und Dateiwiederherstellung"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Monatliche Rechnung mit Kostenobergrenze"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 GB Speicherplatz"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "Eine Einladung ausgewählt"
msgstr[1] "%s Einladungen ausgewählt"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Schriftenhersteller - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Schriftarten - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekte - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Suchen - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Gemeinsam genutzte Bibliotheken - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Gestaltungsfreiheit für Teams"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Feedback geben - Penpot"
@@ -4288,7 +5029,7 @@ msgstr "Feedback geben - Penpot"
msgid "title.settings.notifications"
msgstr "Benachrichtigungen - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Einstellungen - Penpot"
@@ -4296,27 +5037,27 @@ msgstr "Einstellungen - Penpot"
msgid "title.settings.password"
msgstr "Passwort - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Einladungen - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Mitglieder - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Einstellungen - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Ansichtsmodus - Penpot"
@@ -4328,99 +5069,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Token trennen"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Keine Zeichenflächen auf der Seite gefunden."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Keine Zeichenfläche gefunden."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Kommentare (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Interaktionen nicht anzeigen"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Vollbildmodus"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Spezifikation (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interaktionen"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interaktionen (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Link kopieren"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Interaktionen anzeigen"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Interaktionen beim Klicken anzeigen"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Die letzte Übertragung war erfolgreich."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Zentrieren (horizontal) (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Horizontal verteilen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Linksbündig ausrichten (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Rechtsbündig ausrichten (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Unten ausrichten (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Mittig ausrichten (vertikal) (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Vertikal verteilen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Oben ausrichten (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Bibliothek hinzufügen"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Alle Assets"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Farben"
@@ -4432,7 +5173,7 @@ msgstr "Farbe hinzufügen"
msgid "workspace.assets.component-group-options"
msgstr "Optionen für diese Gruppe"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponenten"
@@ -4440,7 +5181,7 @@ msgstr "Komponenten"
msgid "workspace.assets.components.add-component"
msgstr "Komponente hinzufügen"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Varianten"
@@ -4448,17 +5189,17 @@ msgstr "%s Varianten"
msgid "workspace.assets.create-group"
msgstr "Gruppe erstellen"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Ihre Elemente werden automatisch nach diesem Schema benannt: \"Gruppenname "
"/ Elementname\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplizieren"
@@ -4466,39 +5207,39 @@ msgstr "Duplizieren"
msgid "workspace.assets.duplicate-main"
msgstr "Hauptkomponente duplizieren"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Bearbeiten"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtern"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Rasteransicht"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Gruppieren"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Name der Gruppe"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Listenansicht"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "lokale Bibliothek"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Bibliothek verwalten"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Keine Assets gefunden"
@@ -4506,7 +5247,7 @@ msgstr "Keine Assets gefunden"
msgid "workspace.assets.open-library"
msgstr "Bibliotheksdatei öffnen"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Umbenennen"
@@ -4514,11 +5255,11 @@ msgstr "Umbenennen"
msgid "workspace.assets.rename-group"
msgstr "Gruppe umbenennen"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Assets suchen"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Geteilte Bibliothek"
@@ -4528,43 +5269,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 Komponente"
msgstr[1] "% Komponenten"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sortieren"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Textstile"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Typografie hinzufügen"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Größe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Schriftschnitt"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Zeichenabstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Zeilenabstand"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Texttransformation"
@@ -4576,65 +5317,65 @@ msgstr "Gruppierung aufheben"
msgid "workspace.colorpicker.color-tokens"
msgstr "Farb-Tokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Komponenten können nicht in sich selbst verschachtelt werden."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Einige Elemente konnten nicht ausgetauscht werden. Komponenten können nicht "
"in sich selbst verschachtelt werden."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Bereich erstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Board erstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Zellen zusammenführen"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "1 Spalte rechts einfügen"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "1 Spalte links einfügen"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Spalte löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Spalte und Formen löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Spalte duplizieren"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "1 Zeile unterhalb einfügen"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "1 Zeile oberhalb einfügen"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Zeile löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Zeile und Formen löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Zeile duplizieren"
@@ -4642,15 +5383,15 @@ msgstr "Zeile duplizieren"
msgid "workspace.debug.title"
msgstr "In Arbeitsbereich bearbeiten"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Fokus-Modus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Fokus aus"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Fokus an"
@@ -4662,191 +5403,191 @@ msgstr "Linearer Farbverlauf"
msgid "workspace.gradients.radial"
msgstr "Radialer Farbverlauf"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Dynamische Ausrichtung deaktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Proportionale Skalierung deaktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Ausrichten an Hilfslinien deaktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Ausrichten am Pixel deaktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "An den Hilfslinien des Lineals ausrichten deaktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Dynamische Ausrichtung aktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Proportionale Skalierung aktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "An Hilfslinien ausrichten"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Ausrichten am Pixel aktivieren"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "An den Hilfslinien des Lineals ausrichten"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Namen von Zeichenflächen ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Hilfslinien ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Farbpalette ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Pixelraster ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Lineale ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Schriftartenpalette ausblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Bearbeiten"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Datei"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Hilfe und Infos"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Einstellungen"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Ansicht"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Wiederherstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Alles auswählen"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Namen der Zeichenflächen anzeigen"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Hilfslinien anzeigen"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Farbpalette einblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Pixelraster einblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Lineale einblenden"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Schriftartenpalette anzeigen"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Zum dunklen Theme wechseln"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Zum hellen Theme wechseln"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Zum System-Theme wechseln"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
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:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Zurücksetzen"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Fehler beim Speichern"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Gespeichert"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Speichern"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Teilen"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Ansichtsmodus (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Vergrößern"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Füllen - Skalieren zum Füllen"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Anpassen - Verkleinern zum Einpassen"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Passend zoomen"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Vollbild"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zur Auswahl zoomen"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Grid bearbeiten"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Beenden"
@@ -4854,7 +5595,7 @@ msgstr "Beenden"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Innenabstand unten"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4-seitige Abstandsoptionen anzeigen"
@@ -4890,29 +5631,29 @@ msgstr "Fertig"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Lokalisieren"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Grid-Layout lokalisieren"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 Farbe"
msgstr[1] "%s Farben"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "In Ihrer Bibliothek sind noch keine Farbstile vorhanden"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "In Ihrer Bibliothek sind noch keine Textstile vorhanden"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Dateibibliothek"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Aktuelle Farben"
@@ -4924,95 +5665,95 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Farbstil speichern"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 Komponente"
msgstr[1] "%s Komponenten"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Verbunden mit"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Oder probieren Sie einige von diesen aus:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "einige Vorlagen sind hier"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Dateibibliothek"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "%s Grafik"
msgstr[1] "%s Grafiken"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTHEKEN IN DIESER DATEI"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTHEKEN"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "AKTUALISIERUNGEN DER BIBLIOTHEK"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Laden…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Keine Übereinstimmungen für “%s“ gefunden"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Suche nach gemeinsam genutzten Bibliotheken"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "GEMEINSAM GENUTZTE BIBLIOTHEKEN"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Bibliothek verknüpfen"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 Textstil"
msgstr[1] "%s Textstile"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Bibliothek trennen"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Aktualisieren"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "alle Änderungen anzeigen"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "AKTUALISIERUNG"
@@ -5048,111 +5789,111 @@ msgstr "Weichzeichnen ein -und aufblenden"
msgid "workspace.options.canvas-background"
msgstr "Hintergrundfarbe"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Inhalt beschneiden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponente"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Anmerkung"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopie"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Eine Anmerkung erstellen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Eine Anmerkung bearbeiten"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Hauptkomponente"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Komponente austauschen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Es gibt noch keine Assets in dieser Bibliothek"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Getrennt"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Konfliktverursachende Varianten finden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Doppelte Varianten anzeigen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Einige Varianten haben identische Eigenschaften und Werte"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Diese Varianten haben identische Eigenschaften und Werte. Geben Sie jeder "
"Variante einen eindeutigen Wert."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Diese Variante hat die selben Eigenschaften order Werte wie eine andere "
"Variante. Geben Sie jeder Variante einen eindeutigen Wert."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Einige dieser Varianten haben identische Eigenschaften und Werte. Geben Sie "
"jeder Variante einen eindeutigen Wert."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Diese Komponente hat Varianten mit ungültigen Namen. Stellen Sie sicher, "
"das jede Variante korrekt benannt ist."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Ungültige Varianten finden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Einige Varianten haben ungültige Namen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Ungültige Varianten suchen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Diese Varianten haben ungültige Namen."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Diese Variante hat einen ungültigen Namen."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Einige dieser Varianten haben ungültige Namen."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[Eigenschaft]=[Wert], [Eigenschaft]=[Wert]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Versuchen Sie diesem Schema zu folgen:"
@@ -5223,11 +5964,11 @@ msgstr "Oben"
msgid "workspace.options.constraints.topbottom"
msgstr "Oben & Unten"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportieren"
@@ -5235,37 +5976,37 @@ msgstr "Exportieren"
msgid "workspace.options.export-multiple"
msgstr "Auswahl exportieren"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Export hinzufügen"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Export entfernen"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffix"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Export abgeschlossen"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportiere…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export fehlgeschlagen"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Export unerwartet langsam"
@@ -5281,7 +6022,7 @@ msgstr "Füllfarbe hinzufügen"
msgid "workspace.options.fill.remove-fill"
msgstr "Füllung entfernen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Größe des Boards an den Inhalt anpassen"
@@ -5305,67 +6046,67 @@ msgstr "Flow-Startpunkte"
msgid "workspace.options.grid.auto"
msgstr "Automatisch"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Spalten"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Farbe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Zwischenräume"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Höhe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Rand"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Als Standard festlegen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Unten"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Zentriert"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Links"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Rechts"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Gestreckt"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Oben"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Standardwerte verwenden"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Breite"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Zeile"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Quadrat"
@@ -5377,7 +6118,7 @@ msgstr "Gruppe füllen"
msgid "workspace.options.group-stroke"
msgstr "Gruppe einrahmen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Hilfslinie hinzufügen"
@@ -5385,19 +6126,19 @@ msgstr "Hilfslinie hinzufügen"
msgid "workspace.options.guides.remove-guide"
msgstr "Hilfslinie entfernen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Hilfslinien"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Hilfslinie ein -und ausblenden"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Höhe"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Spezifikation"
@@ -5613,103 +6354,103 @@ msgstr "Interaktionen"
msgid "workspace.options.interactions.add-interaction"
msgstr "Interaktion hinzufügen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Farbe"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Farbig nachbelichten"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Farbig abwedeln"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Abdunkeln"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Differenz"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Ausschluss"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Hartes Licht"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Farbton"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Aufhellen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminanz"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplizieren"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Ineinanderkopieren"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Sättigung"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Negativ multiplizieren"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Weiches Licht"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
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:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max.Höhe"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max.Breite"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.Höhe"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.Breite"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Weitere Farben"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Weitere Bibliotheksfarben"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Deckkraft"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototyp"
@@ -5741,19 +6482,19 @@ msgstr "Unabhängige Ecken einklappen"
msgid "workspace.options.radius.show-single-corners"
msgstr "Unabhängige Ecken anzeigen"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Aktuell"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Wiederholen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Drehung"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Schriftart suchen"
@@ -5763,7 +6504,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Ausgewählte Farben"
@@ -5831,55 +6572,55 @@ msgstr "Schatten ein- und ausblenden"
msgid "workspace.options.show-fill-on-export"
msgstr "In Exporten anzeigen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Im Ansichtsmodus anzeigen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Größe"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Größenvoreinstellungen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Seitenverhältnis sperren"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Seitenverhältnis entsperren"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Kreis"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Pfeil"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Keine"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Rund"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Rechteckig"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rechteck"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Dreieck"
@@ -5887,7 +6628,7 @@ msgstr "Dreieck"
msgid "workspace.options.stroke-color"
msgstr "Konturfarbe"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Konturbreite"
@@ -5895,35 +6636,35 @@ msgstr "Konturbreite"
msgid "workspace.options.stroke.add-stroke"
msgstr "Strichfarbe hinzufügen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Zentriert"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Gestrichelt"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Gepunktet"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Innen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mehrere"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Außen"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Strich entfernen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Durchgezogen"
@@ -5959,11 +6700,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:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Zeichenabstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Zeilenabstand"
@@ -6009,197 +6750,197 @@ msgstr ""
"Verwenden Sie die Wiedergabetaste in der Kopfzeile, um die Prototypansicht "
"zu wechseln."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Breite"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X-Achse"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y-Achse"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Ankerpunkte zeichnen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Ankerpunkte verbinden (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "in Ecke umwandeln (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "in Kurve umwandeln (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Ankerpunkte zusammenlegen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Ankerpunkte verschieben (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Ankerpunkte trennen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "An Ankerpunkten ausrichten (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Öffnen"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "[Mehr Plugins](%s) entdecken"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Noch keine Plugins installiert"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Das Plugin-Manifest ist falsch."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
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:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Das Plugin existiert nicht oder die URL ist nicht korrekt."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installieren"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Installierte Plugins"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Plugin-Manager"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "DIESES PLUGIN AKTUALISIEREN"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
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:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Starten von Dateidownloads."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Daten im Browser speichern."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Ihre Kommentare und Antworten lesen."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Ihre Kommentare lesen und ändern und in Ihrem Namen antworten."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Lesen des Inhalts von Dateien, auf die Benutzer Zugriff haben."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Lesen und Ändern des Inhalts von Dateien, auf die Benutzer Zugriff haben."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr "Beachten Sie, dass dieses Plugin von einer externen Quelle erstellt wurde."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Lesen Ihrer Bibliotheken und Assets."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Lesen und Ändern Ihrer Bibliotheken und Assets."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' PLUGIN BENÖTIGT ZUGRIFF AUF:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Lesen der Profil-Informationen des aktuellen Benutzers."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Liste der Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Plugin entfernen"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Eine URL des Plugins eingeben"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NICHT JETZT"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
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:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' PLUGIN IST FÜR IHREN BENUTZER INSTALLIERT!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PLUGIN TESTEN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Flex-Layout hinzufügen"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Grid-Layout hinzufügen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Layout hinzufügen"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Variante erstellen"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Neue Eigenschaft hinzufügen"
@@ -6211,7 +6952,7 @@ msgstr "In den Hintergrund"
msgid "workspace.shape.menu.backward"
msgstr "Eins nach hinten"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Als Varianten kombinieren"
@@ -6219,7 +6960,7 @@ msgstr "Als Varianten kombinieren"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Die Komponenten müssen sich auf derselben Seite befinden"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopieren"
@@ -6255,27 +6996,27 @@ msgstr "Als Text kopieren"
msgid "workspace.shape.menu.create-annotation"
msgstr "Anmerkung erstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Auswahl als Zeichenfläche"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Komponente erstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Mehrere Komponenten erstellen"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Ausschneiden"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Löschen"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Startpunkt löschen"
@@ -6287,7 +7028,7 @@ msgstr "Instanz trennen"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Instanzen trennen"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Subtrahieren"
@@ -6295,15 +7036,15 @@ msgstr "Subtrahieren"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplizieren"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Bearbeiten"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Ausschließen"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Pfade reduzieren"
@@ -6315,7 +7056,7 @@ msgstr "Horizontal spiegeln"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Vertikal spiegeln"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Startpunkt"
@@ -6327,31 +7068,31 @@ msgstr "Eins nach vorne"
msgid "workspace.shape.menu.front"
msgstr "In den Vordergrund"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Gruppieren"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ausblenden"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Benutzeroberfläche ein-/ausblenden"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Überlappen"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Sperren"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maskieren"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Einfügen"
@@ -6359,23 +7100,23 @@ msgstr "Einfügen"
msgid "workspace.shape.menu.paste-props"
msgstr "Eigenschaften einfügen"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Pfad"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Flex-Layout entfernen"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Grid-Layout entfernen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Layout entfernen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Eigenschaft entfernen"
@@ -6399,11 +7140,11 @@ msgstr "Variante wiederherstellen"
msgid "workspace.shape.menu.select-layer"
msgstr "Ebene auswählen"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Anzeigen"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Im Assets-Panel anzeigen"
@@ -6419,19 +7160,19 @@ msgstr "Vorschaubild entfernen"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Als Vorschaubild festlegen"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Gruppierung aufheben"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Hinzufügen"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Entsperren"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Maske entfernen"
@@ -6447,47 +7188,47 @@ msgstr "Seitenleiste ausblenden"
msgid "workspace.sidebar.expand"
msgstr "Seitenleiste einblenden"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Verlauf"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Ebenen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponenten"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Zeichenflächen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Gruppen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Bilder"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masken"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Ebenen durchsuchen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Texte"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Importierte SVG-Attribute"
@@ -6499,7 +7240,7 @@ msgstr "Seiten"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Seite hinzufügen"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Sitemap"
@@ -6519,7 +7260,7 @@ msgstr "Set zu dieser Gruppe hinzufügen"
msgid "workspace.tokens.add-token"
msgstr "Token hinzufügen: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Angewandt auf"
@@ -6535,7 +7276,7 @@ msgstr "Zurück zur Themen-Liste"
msgid "workspace.tokens.base-font-size"
msgstr "Standard-Schriftgröße"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Farbe"
@@ -6543,7 +7284,7 @@ msgstr "Farbe"
msgid "workspace.tokens.create-new-theme"
msgstr "Erstellen Sie jetzt Ihr erstes Theme."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Ein neues erstellen."
@@ -6563,7 +7304,7 @@ msgstr "Theme löschen"
msgid "workspace.tokens.duplicate"
msgstr "Token duplizieren"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "Kopie"
@@ -6611,7 +7352,7 @@ msgstr "Vorschau:"
msgid "workspace.tokens.export.single-file"
msgstr "Einzeln"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Schriftgröße oder {alias}"
@@ -6621,7 +7362,7 @@ msgstr ""
"Fehler beim Festlegen der Schriftstärke/des Schriftstils. Dieser "
"Schriftstil ist in der aktuellen Schriftart nicht vorhanden"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Schriftstärke (300, Fett Kursiv) oder {alias}"
@@ -6661,7 +7402,7 @@ msgstr ""
"Bei einer einzelnen JSON-Datei sollten die Keys der ersten Ebene die Namen "
"der Token-Sets sein."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Token importieren"
@@ -6669,17 +7410,17 @@ msgstr "Token importieren"
msgid "workspace.tokens.import-warning"
msgstr "Beim Import werden alle bestehenden Tokens, Sets und Themes überschrieben."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inaktiv"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Dieses Set ist nicht aktiv. Ändern Sie das Theme oder aktivieren Sie dieses "
"Set, um Änderungen im Anzeigebereich sehen zu können"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Einzelne Token verwenden"
@@ -6699,11 +7440,11 @@ msgstr "Theme"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Theme hinzufügen (z. B. „Hell“)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Zeichenabstand oder {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Zeilenabstand (Multiplikator, px, %) oder {alias}"
@@ -6719,7 +7460,7 @@ msgstr "Maximale Größe"
msgid "workspace.tokens.min-size"
msgstr "Mindestgröße"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Rechtsklick, um Optionen anzuzeigen"
@@ -6735,7 +7476,7 @@ msgstr "Kein Theme aktiviert"
msgid "workspace.tokens.no-permisions-set"
msgstr "Sie müssen ein Redakteur sein, um Sets zu aktivieren / deaktivieren"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Sie müssen ein Redakteur sein, um Themes zu verwenden"
@@ -6747,7 +7488,7 @@ msgstr "Es sind noch keine Sets definiert. Erstellen Sie zuerst eines."
msgid "workspace.tokens.no-sets-yet"
msgstr "Es sind noch keine Sets vorhanden."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Es gibt keine Themes."
@@ -6759,7 +7500,7 @@ msgstr "Sie haben derzeit keine Themes."
msgid "workspace.tokens.num-active-sets"
msgstr "%s aktivierte Sets"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Ursprünglicher Wert: %s"
@@ -6771,11 +7512,11 @@ msgstr "Innenabstände"
msgid "workspace.tokens.radius"
msgstr "Radius"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Geben Sie einen Typografie-Alias für diesen Token ein"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Aufgelöster Wert: %s"
@@ -6811,23 +7552,23 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Token-Einstellungen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Schatten hinzufügen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Weichzeichnen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Innerer Schatten"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Schatten entfernen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Streuung"
@@ -6835,11 +7576,11 @@ msgstr "Streuung"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Der Wert für die Streuung darf nicht negativ sein"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -6847,11 +7588,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Größe"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize oder {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through oder {alias}"
@@ -6869,27 +7610,27 @@ msgstr "Liste der Themes"
msgid "workspace.tokens.token-description"
msgstr "Beschreibung"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Schriftart auswählen"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Schriftart"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Schriftfamilie oder eine durch Kommas (,) getrennte Liste von Schriften"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Name"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Der Name muss mindestens 1 Zeichen lang sein"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" sit kein gültiger Token-Name.\n"
@@ -6900,11 +7641,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Wert"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Geben Sie einen Wert oder einen Alias mittels {alias} ein"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -6923,11 +7664,11 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "„%s“ wird nicht als Datentyp unterstützt (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Referenz verwenden"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Der Wert ist nicht gültig"
@@ -6935,55 +7676,55 @@ msgstr "Der Wert ist nicht gültig"
msgid "workspace.toolbar.assets"
msgstr "Assets"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Farbpalette (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Kommentare (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Stift (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Zeichenfläche (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Bild (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Verschieben (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Pfad (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugins (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rechteck (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typografien (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Werkzeugleiste ein- und ausblenden"
@@ -6996,7 +7737,7 @@ msgstr "Fertig"
msgid "workspace.top-bar.view-only"
msgstr "**Code inspizieren** (nur ansehen)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Es gibt bisher keine Änderungen im Verlauf"
@@ -7136,19 +7877,19 @@ msgstr "Typografie"
msgid "workspace.undo.entry.unknown"
msgstr "Vorgang über %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ignorieren"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Mehr Info"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Es gibt Updates in gemeinsam genutzten Bibliotheken"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Aktualisieren"
diff --git a/frontend/translations/el.po b/frontend/translations/el.po
index a2337b343b..70e36c30c9 100644
--- a/frontend/translations/el.po
+++ b/frontend/translations/el.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Δημιουργία λογαριασμού επίδειξης"
@@ -29,7 +29,7 @@ msgstr ""
"Αυτή είναι μια υπηρεσία DEMO, ΜΗ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ για πραγματική εργασία, τα "
"έργα θα σβήνονται περιοδικά."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Ξεχάσατε τον κωδικό;"
@@ -37,23 +37,23 @@ msgstr "Ξεχάσατε τον κωδικό;"
msgid "auth.fullname"
msgstr "Πλήρες όνομα"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Συνδεθείτε εδώ"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
@@ -75,7 +75,7 @@ msgstr ""
"Στείλαμε στο email σας έναν link για να ανακτήσουμε τον κωδικό πρόσβασής "
"σας."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Μπήκατε στην ομάδα"
@@ -103,11 +103,11 @@ msgstr "Ξεχάσατε τον κωδικό σας;"
msgid "auth.recovery-submit"
msgstr "Αλλάξτε τον κωδικό σας"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Δεν έχετε λογαριασμό;"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Δημιουργία λογαριασμού"
@@ -115,19 +115,19 @@ msgstr "Δημιουργία λογαριασμού"
msgid "auth.register-title"
msgstr "Δημιουργία λογαριασμού"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Προσθήκη ως Κοινόχρηστη βιβλιοθήκη"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Αλλαγή email"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(Αντίγραφο)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Δημιουργία νέας ομάδας"
@@ -135,7 +135,7 @@ msgstr "Δημιουργία νέας ομάδας"
msgid "dashboard.default-team-name"
msgstr "Το Penpot σας"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Διαγραφή ομάδας"
@@ -143,15 +143,15 @@ msgstr "Διαγραφή ομάδας"
msgid "dashboard.duplicate"
msgstr "Αντιγραφή"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Πρόσκληση στην ομάδα"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Αφήστε την ομάδα"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Κοινόχρηστες βιβλιοθήκες"
@@ -167,27 +167,27 @@ msgstr "Μετακίνηση"
msgid "dashboard.move-to-other-team"
msgstr "Μετακίνηση σε άλλη ομάδα"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "Νεο αρχείο"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Νέο έργο"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Δεν βρέθηκαν αντιστοιχίσεις για το “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Τα καρφιτσωμένα έργα θα εμφανιστούν εδώ"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Η διεύθυνση email σας ενημερώθηκε με επιτυχία"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Η διεύθυνση email σας έχει επαληθευτεί"
@@ -195,7 +195,7 @@ msgstr "Η διεύθυνση email σας έχει επαληθευτεί"
msgid "dashboard.notifications.password-saved"
msgstr "Ο κωδικός πρόσβασης αποθηκεύτηκε!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "% s μέλη"
@@ -207,35 +207,35 @@ msgstr "Άνοιγμα αρχείου σε νέα καρτέλα"
msgid "dashboard.password-change"
msgstr "Αλλαξε κωδικό"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Καρφίτσωμα / ξεκαρφίτσωμα"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Εργα"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Θέλετε να καταργήσετε τον λογαριασμό σας;"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Αναζήτηση…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Αναζήτηση για “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Αλλάξτε τη γλώσσα διεπαφής"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Επιλέξτε ένα θέμα"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Εμφάνιση όλων των αρχείων"
@@ -255,7 +255,7 @@ msgstr "Το έργο σας έχει αναπαραχθεί με επιτυχί
msgid "dashboard.success-duplicate-project"
msgstr "Το έργο σας έχει αναπαραχθεί με επιτυχία"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Το έργο σας μετακινήθηκε με επιτυχία"
@@ -263,47 +263,47 @@ msgstr "Το έργο σας μετακινήθηκε με επιτυχία"
msgid "dashboard.success-move-project"
msgstr "Το έργο σας μετακινήθηκε με επιτυχία"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Πληροφορίες ομάδας"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Μέλη ομάδας"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Ομαδικά έργα"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Οπτικό θέμα"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Αποτελέσματα αναζήτησης"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Γράψτε κάτι για αναζήτηση"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Ενημέρωση επιλογών"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ο λογαριασμός σας"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Email"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Το όνομα σου"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "ακύρωση"
@@ -315,27 +315,27 @@ msgstr "Ok"
msgid "ds.confirm-title"
msgstr "Είσαι σίγουρος;"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Το πρόγραμμα περιήγησής σας δεν μπορεί να εκτελέσει αυτήν τη λειτουργία"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Το email έχει ήδη χρησιμοποιηθεί"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Αυτό το email έχει ήδη επικυρωθεί."
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Το email «%s» έχει πολλές μόνιμες αναφορές αναπήδησης."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Έχει συμβεί κάτι λάθος."
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Το email επιβεβαίωσης πρέπει να ταιριάζει"
@@ -361,7 +361,7 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "Φαίνεται ότι δεν είναι έγκυρη εικόνα."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Το προφίλ που προσκαλείτε σταματά τα μηνύματα ηλεκτρονικού ταχυδρομείου "
@@ -383,7 +383,7 @@ msgstr "Η εγγραφή είναι απενεργοποιημένη αυτήν
msgid "errors.unexpected-error"
msgstr "Προέκυψε ένα μη αναμενόμενο σφάλμα."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Άγνωστο διακριτικό"
@@ -442,39 +442,27 @@ msgstr "Σκιά "
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 "Εξω"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Τυπογραφία"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Οικογένεια γραμματοσειρών"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Μέγεθος γραμματοσειράς"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Στυλ γραμματοσειράς"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Διάστημα γραμμάτων"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Ύψος γραμμής"
@@ -486,11 +474,11 @@ msgstr "Κανένα"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "υπογράμμιση"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Πρώτα κεφαλαία"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Πεζά γράμματα"
@@ -498,7 +486,7 @@ msgstr "Πεζά γράμματα"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "Κανένα"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Κεφαλαία γράμματα"
@@ -542,29 +530,29 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Κείμενο"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Αποδέχομαι"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Διαχειριστής"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Ολα"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Φαίνεται ότι πρέπει να περιμένετε λίγο και να προσπαθήσετε ξανά. εκτελούμε "
"μικρή συντήρηση των διακομιστών μας."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "ακύρωση"
@@ -572,7 +560,7 @@ msgstr "ακύρωση"
msgid "labels.code"
msgstr "Κώδικας"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Σχόλια"
@@ -580,15 +568,15 @@ msgstr "Σχόλια"
msgid "labels.confirm-password"
msgstr "Επιβεβαίωση Κωδικού"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Δημιουργήστε μια νέα ομάδα"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "πίνακας"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Διαγραφή"
@@ -600,15 +588,15 @@ msgstr "Διαγραφή σχολίου"
msgid "labels.delete-comment-thread"
msgstr "Διαγραφή νήματος"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Πρόχειρα"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Edit"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
@@ -620,15 +608,15 @@ msgstr "Τα σχόλια απενεργοποιήθηκαν"
msgid "labels.feedback-sent"
msgstr "Εστάλη γνώμη"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Δώστε μας τη γνώμη σας"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Πίσω"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Απόκρυψη επιλυμένων σχολίων"
@@ -636,19 +624,19 @@ msgstr "Απόκρυψη επιλυμένων σχολίων"
msgid "labels.info"
msgstr "Πληροφορίες"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Εσωτερικό σφάλμα"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Γλώσσα"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Αποσύνδεση"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Μέλη"
@@ -656,21 +644,21 @@ msgstr "Μέλη"
msgid "labels.new-password"
msgstr "Νέος κωδικός πρόσβασης"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Δεν έχετε εκκρεμείς ειδοποιήσεις σχολίων"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ωχ"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 αρχείο"
msgstr[1] "%s αρχεία"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 έργο"
@@ -680,87 +668,87 @@ msgstr[1] "%s έργα"
msgid "labels.old-password"
msgstr "Παλιός κωδικός"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Ιδιοκτήτης"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Κωδικός πρόσβασης"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Προφίλ"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Εργα"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Διαγραφή"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Μετονομασία"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Μετονομασία ομάδας "
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Ξαναδοκιμάσετε"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Ρόλος"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Αποθηκεύση"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Αποστολή ..."
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Αποστολή…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Είμαστε σε προγραμματισμένη συντήρηση των συστημάτων μας."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Η υπηρεσία δεν είναι διαθέσιμη"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Σύνθεση"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Κοινόχρηστες βιβλιοθήκες"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Εμφάνιση όλων των σχολίων"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Εμφάνιση μόνο των δικών σας σχολίων"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Ενημέρωση"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Ενημερώστε τον εξοπλισμό"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Θεατής"
@@ -787,43 +775,43 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Προσθήκη “%s” ως Κοινόχρηστη βιβλιοθήκη"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "16 / 5000 Resultados de traducción Επιβεβαιώστε νέο e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Θα σας στείλουμε ένα email στο τρέχον email σας “%s” για να επαληθεύσουμε "
"την ταυτότητά σας."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Νέο email"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Αλλαγή email"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Αλλάξτε το email σας"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Ακύρωση και διατήρηση του λογαριασμού μου"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ναι, διαγράψτε τον λογαριασμό μου"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Καταργώντας τον λογαριασμό σας, θα χάσετε όλα τα τρέχοντα έργα και τα "
"αρχεία σας."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε το λογαριασμό σας;"
@@ -853,11 +841,11 @@ msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετ
msgid "modals.delete-file-confirm.title"
msgstr "Διαγραφή αρχείου"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή τη σελίδα;"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Διαγραφή σελίδας"
@@ -887,59 +875,59 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Διαγραφή ομάδας"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Διαγραφή μέλους"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το μέλος από την ομάδα;"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Διαγραφή μέλους της ομάδας"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Αποστολή πρόσκλησης"
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "Είστε ο ιδιοκτήτης του %s"
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Προώθηση και αφήστε"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Επιλέξτε ένα μέλος για προώθηση"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Επιλέξτε ένα μέλος για προώθηση"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Αφήστε την ομάδα"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Είστε σίγουροι ότι θέλετε να αφήσετε αυτή την ομάδα;"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Αφήστε την ομάδα"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Προώθηση"
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "Είστε σίγουροι ότι θέλετε να προωθήσετε αυτό το χρήστη στον ιδιοκτήτη;"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Προώθηση σε κάτοχο"
@@ -961,21 +949,21 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Ενημερώστε ένα στοιχείο σε μια κοινόχρηστη βιβλιοθήκη"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Η πρόσκληση εστάλη με επιτυχία"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Δεν μπορείτε να διαγράψετε το προφίλ σας. Επανατοποθετήστε τις ομάδες σας "
"προτού συνεχίσετε."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Το προφίλ αποθηκεύτηκε με επιτυχία!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Το email επαλήθευσης εστάλη στο %s. Ελέγξτε το email σας!"
@@ -983,139 +971,139 @@ msgstr "Το email επαλήθευσης εστάλη στο %s. Ελέγξτε
msgid "profile.recovery.go-to-login"
msgstr "Μεταβείτε στη σύνδεση"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Μικτός "
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Δεν βρέθηκαν πλαίσια στη σελίδα"
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Το πλαίσιο δεν βρέθηκε."
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Μην εμφανίζετε αλληλεπιδράσεις"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Πλήρης οθόνη"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Αντιγραφή link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Εμφάνιση αλληλεπιδράσεων"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Εμφάνιση αλληλεπιδράσεων με click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Στοίχιση στο κέντρο (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Κατανομή οριζόντιου χώρου (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Ευθυγράμμιση προς τα αριστερά (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Ευθυγράμμιση προς τα δεξιά (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Στοίχιση κάτω (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Ευθυγραμμίστε το κάθετο κέντρο (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Κατανομή κατακόρυφων αποστάσεων (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Ευθυγραμμίστε την κορυφή (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Όλα τα περιουσιακά στοιχεία"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Χρώματα"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Συστατικά"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Διαγραφή"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Αντιγραφή"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Επεξεργασία"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Δεν βρέθηκαν στοιχεία"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Μετονομασία"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Αναζήτηση στοιχείων"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Τυπογραφίες"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Μέγεθος"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Στυλ γραμματοσειράς"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Μεταβείτε στο αρχείο βιβλιοθήκης στυλ για επεξεργασία"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Διάστημα γραμμάτων"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Υψος γραμμής"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Μετασχηματισμός κειμένου"
@@ -1127,55 +1115,55 @@ msgstr "Γραμμική κλίση"
msgid "workspace.gradients.radial"
msgstr "Ακτινική κλίση"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Απενεργοποίηση δυναμικής ευθυγράμμισης"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Ενεργοποίηση δυναμικής ευθυγράμμισης"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Απόκρυψη παλέτας χρωμάτων"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Απόκρυψη κανόνες"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Επιλογή όλων"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Εμφάνιση παλέτας χρωμάτων"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Εμφάνιση κανόνες"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Σφάλμα κατά την αποθήκευση"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Αποθηκεύτηκε"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Aποθήκευση "
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Λειτουργία προβολής (%s)"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Βιβλιοθήκη αρχείων"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Πρόσφατα χρώματα"
@@ -1183,39 +1171,39 @@ msgstr "Πρόσφατα χρώματα"
msgid "workspace.libraries.colors.save-color"
msgstr "Αποθηκεύστε το στυλ χρώματος"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Βιβλιοθήκη αρχείων"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "ΒΙΒΛΙΟΘΗΚΕΣ ΣΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "ΒΙΒΛΙΟΘΗΚΕΣ"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Δεν υπάρχουν κοινόχρηστες βιβλιοθήκες που χρειάζονται ενημέρωση"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Δεν βρίσκεται «%s»"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Αναζήτηση σε κοινόχρηστες βιβλιοθήκες"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "Κοινόχρηστες βιβλιοθήκες"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Ενημέρωση"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ΕΝΗΜΕΡΩΣΕΙΣ"
@@ -1231,27 +1219,27 @@ msgstr "Θόλωμα επιλογής"
msgid "workspace.options.canvas-background"
msgstr "Χρώμα του φόντου"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Συστατικό"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Σχέδιο"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Εξαγωγή"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgstr "Εξαγωγή σχήματος"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Κατάληξη"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Εξαγωγή ..."
@@ -1263,63 +1251,63 @@ msgstr "Γέμισμα"
msgid "workspace.options.grid.auto"
msgstr "Αυτόματο"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Στήλες"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "απόσταση"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Υψος"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Περιθώριο"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Ορίσετε ως προεπιλογή"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Κάτω"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Κέντρο"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Αριστερά"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Δεξιά"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Τέντωμα"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Πάνω"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "χρήση προεπιλεγμένης"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Πλάτος"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Σειρές"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "τετράγωνο"
@@ -1331,71 +1319,71 @@ msgstr "Συμπλήρωση ομάδας"
msgid "workspace.options.group-stroke"
msgstr "Ομαδικό εγκεφαλικό"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Χρώμα"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Έγκαυμα χρώματος"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Χρώμα πιο μαλακό "
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Σκούρο"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Διαφορά"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Αποκλεισμός"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Δυνατο φως"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Απόχρωση"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Φωτίζω"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Φωτεινότητα"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Πολλαπλασιάζω"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Κανονικός"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Επικάλυμμα"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Κορεσμός"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Κόσκινο"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Απαλό φως"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Πρωτότυπο"
@@ -1403,7 +1391,7 @@ msgstr "Πρωτότυπο"
msgid "workspace.options.radius"
msgstr "Ακτίνα κύκλου"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Περιστροφή"
@@ -1457,39 +1445,39 @@ msgstr "Ομαδική σκιά"
msgid "workspace.options.shadow-options.title.multiple"
msgstr "Επιλογή σκιών"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Μέγεθος"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Προεπιλογές μεγέθους"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Κέντρο"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Dashed"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Διάστικτο"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Μέσα"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Μικτός"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Εξω"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Στερεός"
@@ -1517,11 +1505,11 @@ msgstr "Αυτόματο πλάτος"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Σταθερός"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Διάστημα γραμμάτων"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Υψος γραμμής"
@@ -1575,19 +1563,19 @@ msgstr "Αποστολή προς τα πίσω"
msgid "workspace.shape.menu.backward"
msgstr "Αποστολή προς τα πίσω"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "αντίγραφο"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Δημιουργία στοιχείου"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Αποκοπή"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Διαγραφή"
@@ -1599,7 +1587,7 @@ msgstr "Αποσύνδεση παρουσίας"
msgid "workspace.shape.menu.duplicate"
msgstr "Αντίγραφο"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Επεξεργασία"
@@ -1619,23 +1607,23 @@ msgstr "Φέρτε μπροστά"
msgid "workspace.shape.menu.front"
msgstr "Φέρτε μπροστά"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Ομάδα"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Κρύβω"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Κλείδωμα"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Μάσκα"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Επικόλληση"
@@ -1643,31 +1631,31 @@ msgstr "Επικόλληση"
msgid "workspace.shape.menu.reset-overrides"
msgstr "Επαναφορά παρακάμψεων"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "προβολή"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Κατάργηση ομάδας"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Ξεκλείδωμα"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Ανακάλυψη"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Ιστορικό"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "στρώσεις"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Εισαγόμενα χαρακτηριστικά SVG"
@@ -1675,7 +1663,7 @@ msgstr "Εισαγόμενα χαρακτηριστικά SVG"
msgid "workspace.sidebar.sitemap"
msgstr "Σελίδες"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Χάρτης ιστοτόπου"
@@ -1683,47 +1671,47 @@ msgstr "Χάρτης ιστοτόπου"
msgid "workspace.toolbar.assets"
msgstr "Στοιχεία"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Παλέτα χρωμάτων (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Σχόλια (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Στροφή (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Έλλειψη (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Artboard (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Εικόνα (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr ""
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Path (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Ορθογώνιο (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Κείμενο (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Δεν υπάρχουν μέχρι στιγμής αλλαγές στο ιστορικό"
@@ -1863,15 +1851,15 @@ msgstr "τυπογραφικό στοιχείο"
msgid "workspace.undo.entry.unknown"
msgstr "Λειτουργία άνω του %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Παράβλεψη"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Υπάρχουν ενημερώσεις σε κοινόχρηστες βιβλιοθήκες"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Ενημέρωση"
diff --git a/frontend/translations/en.po b/frontend/translations/en.po
index 5ec9114151..7879fa9a19 100644
--- a/frontend/translations/en.po
+++ b/frontend/translations/en.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12-dev\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Already have an account?"
@@ -33,7 +33,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Forgot password?"
@@ -41,35 +41,35 @@ msgstr "Forgot password?"
msgid "auth.fullname"
msgstr "Full Name"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Log into my account"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Login here."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Type a new password"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "You're now part of %s"
@@ -93,7 +93,7 @@ msgstr "Profile is not verified, please verify profile before continue."
msgid "auth.notifications.recovery-token-sent"
msgstr "Password recovery link sent to your inbox."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Joined the team successfully"
@@ -125,7 +125,7 @@ msgstr "Forgot password?"
msgid "auth.recovery-submit"
msgstr "Change your password"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "No account yet?"
@@ -137,7 +137,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Create an account"
@@ -150,7 +150,7 @@ msgstr "Create an account"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Terms of service"
@@ -170,101 +170,101 @@ msgstr "No available color tokens. Check active sets/themes or add new tokens."
msgid "comments.mentions.not-found"
msgstr "No people found for @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publish"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "All Penpot users"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Are you sure you want to remove this link? If you do it, it's no longer be "
"available for anyone"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(current)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Destroy link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Get link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copied successfully"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Manage permissions"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 page shared"
msgstr[1] "%s pages shared"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Can comment"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Can inspect code"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Anyone with link will have access"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pages shared"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Shareable link will appear here"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Only team members"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Share prototypes"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Select All"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Unpublish"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Team management"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot is meant for teams. Invite members to work together on projects and "
"files"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Team up!"
-#: src/app/main/ui/dashboard/file_menu.cljs:234
+#: src/app/main/ui/dashboard/file_menu.cljs:233
msgid "dashboard-restore-file-confirmation.description"
msgstr "You're going to restore %s."
-#: src/app/main/ui/dashboard/file_menu.cljs:233
+#: src/app/main/ui/dashboard/file_menu.cljs:232
msgid "dashboard-restore-file-confirmation.title"
msgstr "Restore file"
@@ -272,7 +272,7 @@ msgstr "Restore file"
msgid "dashboard.add-file"
msgstr "Add file"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Add as Shared Library"
@@ -280,29 +280,29 @@ msgstr "Add as Shared Library"
msgid "dashboard.branches-badge"
msgstr "%s branches"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Change email"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "MOVE TEAM"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Move to:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Projects and files will remain available to team members. The team will get "
"the configuration from the new organization."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Select an organization"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Change team's organization"
@@ -364,23 +364,23 @@ msgstr "View release notes"
msgid "dashboard.clear-search"
msgstr "Clear search"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Clear trash"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:318, src/app/main/data/dashboard.cljs:568, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copy)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Create new organization"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Create new team"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Pin this version"
@@ -388,76 +388,86 @@ msgstr "Pin this version"
msgid "dashboard.default-team-name"
msgstr "Personal Projects"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Are you sure you want to delete forever all your deleted projects and "
"files? This is a non reversible action."
-#: src/app/main/ui/dashboard/file_menu.cljs:247
+#: src/app/main/ui/dashboard/file_menu.cljs:246
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "Are you sure you want to delete forever %s? This is a non reversible action."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:842
msgid "dashboard.delete-files-success-notification"
msgstr "%s files have been successfully deleted."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:245, src/app/main/ui/dashboard/file_menu.cljs:247
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Delete forever"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Delete project"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Are you sure you want to delete forever %s project? You're going to delete "
"it forever an all of the files contained in it. This is a non reversible "
"action."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:841, src/app/main/data/dashboard.cljs:875
msgid "dashboard.delete-success-notification"
msgstr "%s has been successfully deleted."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Delete team"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Your trash is empty. Deleted files and projects will appear here."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Will be deleted %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Download Penpot file (.penpot)"
-#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
+#: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/dashboard/project_menu.cljs:94
msgid "dashboard.duplicate"
msgstr "Duplicate"
-#: src/app/main/ui/dashboard/file_menu.cljs:269
+#: src/app/main/ui/dashboard/file_menu.cljs:268
msgid "dashboard.duplicate-multi"
msgstr "Duplicate %s files"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/data/dashboard.cljs:549
+msgid "dashboard.duplicate-unsaved-changes"
+msgid_plural "dashboard.duplicate-unsaved-changes"
+msgstr[0] ""
+"Your file has been duplicated, but the copy doesn't include your latest "
+"changes because they aren't saved yet."
+msgstr[1] ""
+"Your files have been duplicated, but the copies don't include your latest "
+"changes because they aren't saved yet."
+
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "No drafts yet."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Once a project member creates a file, it will be displayed here."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "No files yet."
@@ -505,71 +515,71 @@ msgstr "Import a .penpot file"
msgid "dashboard.empty-project.start"
msgstr "Start building amazing stuff"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:845
msgid "dashboard.errors.error-on-delete-files"
msgstr "There was an error while deleting the files."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:878
msgid "dashboard.errors.error-on-delete-project"
msgstr "There was an error while deleting the project %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:973, src/app/main/ui/dashboard/file_menu.cljs:226
msgid "dashboard.errors.error-on-restore-file"
msgstr "There was an error while restoring the file %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restore-files"
msgstr "There was an error while restoring the files."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:1006
msgid "dashboard.errors.error-on-restoring-project"
msgstr "There was an error while restoring the project %s and its files."
-#: src/app/main/ui/dashboard/file_menu.cljs:279
+#: src/app/main/ui/dashboard/file_menu.cljs:278
msgid "dashboard.export-binary-multi"
msgstr "Download %s Penpot files (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Export boards as PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Export as PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s of %s elements selected"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Export"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"You can add export settings to elements from the design properties (at the "
"bottom of the right sidebar)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Info how to set exports at Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "There are no elements with export settings."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Export selection"
-#: src/app/main/ui/dashboard/file_menu.cljs:263
+#: src/app/main/ui/dashboard/file_menu.cljs:262
msgid "dashboard.file-menu.delete-files-permanently-option"
msgid_plural "dashboard.file-menu.delete-files-permanently-option"
msgstr[0] "Delete file"
msgstr[1] "Delete files"
-#: src/app/main/ui/dashboard/file_menu.cljs:261
+#: src/app/main/ui/dashboard/file_menu.cljs:260
msgid "dashboard.file-menu.restore-files-option"
msgid_plural "dashboard.file-menu.restore-files-option"
msgstr[0] "Restore file"
@@ -583,37 +593,37 @@ msgstr "Grid view"
msgid "dashboard.files-layout.list"
msgstr "List view"
-#: src/app/main/ui/dashboard/fonts.cljs:431
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
msgid "dashboard.fonts.delete-variant"
msgstr "Delete font style"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Missing font"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Dismiss all"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Custom fonts you upload will appear here."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "No custom fonts yet."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -623,7 +633,7 @@ msgstr ""
"upload fonts with the following formats: **TTF, OTF and WOFF** (only one "
"will be needed)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -632,11 +642,11 @@ msgstr ""
"You also might want to read about [font "
"licensing](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Upload all"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -647,23 +657,23 @@ msgstr ""
"using [Transfonter](https://transfonter.org/) to generate webfonts and fix "
"errors. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Go to Admin Console"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Last modified %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Import Penpot files"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oops! We couldn't import this file"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 library was automatically linked by name."
@@ -673,117 +683,77 @@ msgstr[1] "%s libraries were automatically linked by name."
msgid "dashboard.import.bad-url"
msgstr "Import failed. The template URL is incorrect"
-#: src/app/main/ui/dashboard/import.cljs:733
-msgid "dashboard.import.confirm-library-links"
-msgstr "Confirm library links"
-
-#: src/app/main/ui/dashboard/import.cljs:709
-msgid "dashboard.import.connect-selected-libraries"
-msgstr "Connect selected libraries"
-
-#: src/app/main/ui/dashboard/import.cljs:296
-msgid "dashboard.import.file-name-label"
-msgstr "File name"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.title"
-msgstr "Import file"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.status.ready"
-msgstr "Ready"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.steps.label"
-msgstr "Import steps"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.steps.check"
-msgstr "Check"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.steps.upload"
-msgstr "Upload"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.steps.import"
-msgstr "Import"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.check.title"
-msgstr "Checking your files..."
-
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:625
msgid "dashboard.import.check.message"
msgstr "Making sure each file can be imported. This only takes a moment."
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.ready.title"
-msgstr "Files ready"
+#: src/app/main/ui/dashboard/import.cljs:624
+msgid "dashboard.import.check.title"
+msgstr "Checking your files..."
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.ready.message"
-msgstr "Your files can be imported. Continue to upload them."
+#: src/app/main/ui/dashboard/import.cljs:838
+msgid "dashboard.import.confirm-library-links"
+msgstr "Confirm library links"
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.upload.title"
-msgstr "Uploading your files..."
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Connect selected libraries"
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.upload.message"
-msgstr "Sending your files. Keep this dialog open until the upload ends."
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "File name"
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.importing.title"
-msgid_plural "dashboard.import.importing.title"
-msgstr[0] "Importing 1 file"
-msgstr[1] "Importing %s files"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.importing.done"
-msgid_plural "dashboard.import.importing.done"
-msgstr[0] "1 done"
-msgstr[1] "%s done"
-
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.importing.message"
-msgstr "Rebuilding pages, components and assets in your project."
-
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "We couldn't verify this file."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "This file appears to be damaged."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Not all files have been imported"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "The following files have errors:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Files with errors will not be uploaded."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Something went wrong while processing this file."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Some files containted invalid objects that have been removed."
-#: src/app/main/ui/dashboard/import.cljs:710
+#: src/app/main/ui/dashboard/import.cljs:600
+msgid "dashboard.import.importing.done"
+msgid_plural "dashboard.import.importing.done"
+msgstr[0] "1 done"
+msgstr[1] "%s done"
+
+#: src/app/main/ui/dashboard/import.cljs:637
+msgid "dashboard.import.importing.message"
+msgstr "Rebuilding pages, components and assets in your project."
+
+#: src/app/main/ui/dashboard/import.cljs:598
+msgid "dashboard.import.importing.title"
+msgid_plural "dashboard.import.importing.title"
+msgstr[0] "Importing 1 file"
+msgstr[1] "Importing %s files"
+
+#: src/app/main/ui/dashboard/import.cljs:815
msgid "dashboard.import.next-file"
msgstr "Next file"
@@ -791,79 +761,119 @@ msgstr "Next file"
msgid "dashboard.import.no-perms"
msgstr "You don’t have permission to import to this team"
-#: src/app/main/ui/dashboard/import.cljs
-msgid "dashboard.import.queued.title"
-msgstr "Waiting to start..."
-
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:634
msgid "dashboard.import.queued.message"
msgstr "Your files are uploaded. The import starts as soon as a slot is free."
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:633
+msgid "dashboard.import.queued.title"
+msgstr "Waiting to start..."
+
+#: src/app/main/ui/dashboard/import.cljs:628
+msgid "dashboard.import.ready.message"
+msgstr "Your files can be imported. Continue to upload them."
+
+#: src/app/main/ui/dashboard/import.cljs:627
+msgid "dashboard.import.ready.title"
+msgstr "Files ready"
+
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Some libraries couldn't be linked automatically. Select the correct library "
"for each:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Review the library links before confirming:"
-#: src/app/main/ui/dashboard/import.cljs:459
+#: src/app/main/ui/dashboard/import.cljs:447
msgid "dashboard.import.resolve-libraries.connect-to"
msgstr "connect to"
-#: src/app/main/ui/dashboard/import.cljs:453
+#: src/app/main/ui/dashboard/import.cljs:441
msgid "dashboard.import.resolve-libraries.original-library"
msgstr "original library"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:331
+msgid "dashboard.import.status.ready"
+msgstr "Ready"
+
+#: src/app/main/ui/dashboard/import.cljs:568
+msgid "dashboard.import.steps.check"
+msgstr "Check"
+
+#: src/app/main/ui/dashboard/import.cljs:570
+msgid "dashboard.import.steps.import"
+msgstr "Import"
+
+#: src/app/main/ui/dashboard/import.cljs:573
+msgid "dashboard.import.steps.label"
+msgstr "Import steps"
+
+#: src/app/main/ui/dashboard/import.cljs:569
+msgid "dashboard.import.steps.upload"
+msgstr "Upload"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "auto-linked"
-#: src/app/main/ui/dashboard/import.cljs:529
+#: src/app/main/ui/dashboard/import.cljs:517
msgid "dashboard.import.summary.manually-linked"
msgstr "linked manually"
-#: src/app/main/ui/dashboard/import.cljs:537
+#: src/app/main/ui/dashboard/import.cljs:525
msgid "dashboard.import.summary.new"
msgstr "New"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "No library selected"
-#: src/app/main/ui/dashboard/import.cljs:534
+#: src/app/main/ui/dashboard/import.cljs:522
msgid "dashboard.import.summary.original"
msgstr "Original"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:1130
+msgid "dashboard.import.title"
+msgstr "Import file"
+
+#: src/app/main/ui/dashboard/import.cljs:631
+msgid "dashboard.import.upload.message"
+msgstr "Sending your files. Keep this dialog open until the upload ends."
+
+#: src/app/main/ui/dashboard/import.cljs:630
+msgid "dashboard.import.upload.title"
+msgstr "Uploading your files..."
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "You're going to delete the invitations to:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "You're going to resend the invitations to:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Delete invitations"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Resend invitations"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"You don’t have permission to invite people to join this team or to edit or "
"delete invitations."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invite people"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "You don't have permission to invite people to this team"
@@ -875,27 +885,27 @@ msgstr "Leave org"
msgid "dashboard.leave-organization.toast"
msgstr "You're no longer part of the %s organization."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Leave team"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Libraries & Templates"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: 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:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explore more of them and know how to contribute"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Libraries"
@@ -903,7 +913,7 @@ msgstr "Libraries"
msgid "dashboard.loading-files"
msgstr "loading your files …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "loading your fonts …"
@@ -911,11 +921,11 @@ msgstr "loading your fonts …"
msgid "dashboard.mark-all-as-read.success"
msgstr "Marked all notifications as read"
-#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
+#: src/app/main/ui/dashboard/file_menu.cljs:307, src/app/main/ui/dashboard/project_menu.cljs:101
msgid "dashboard.move-to"
msgstr "Move to"
-#: src/app/main/ui/dashboard/file_menu.cljs:272
+#: src/app/main/ui/dashboard/file_menu.cljs:271
msgid "dashboard.move-to-multi"
msgstr "Move %s files to"
@@ -923,65 +933,65 @@ msgstr "Move %s files to"
msgid "dashboard.move-to-other-team"
msgstr "Move to other team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ New File"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:525, src/app/main/data/dashboard.cljs:668
msgid "dashboard.new-file-prefix"
msgstr "New File"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ New project"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:270, src/app/main/data/dashboard.cljs:671
msgid "dashboard.new-project-prefix"
msgstr "New Project"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "No matches found for “%s“"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "You don't have permission to add teams to any of your organizations."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:185
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
msgid "dashboard.no-organizations-yet"
msgstr "No organizations yet."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"You are not allowed to create teams within %s organization. If you need "
"more information, contact the organization's owner."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"You are not allowed to delete teams that are part of %s organization. If "
"you need more information, contact the organization's owner."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"You are not allowed to move teams that are part of %s organization. If you "
"need more information, contact the organization's owner."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Pinned projects will appear here"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifications"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Your email address has been updated successfully"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Your email address has been verified successfully"
@@ -993,35 +1003,35 @@ msgstr "Notification settings updated"
msgid "dashboard.notifications.password-saved"
msgstr "Password saved successfully!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "View notifications"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s members"
-#: src/app/main/ui/dashboard/file_menu.cljs:294
+#: src/app/main/ui/dashboard/file_menu.cljs:293
msgid "dashboard.open-in-new-tab"
msgstr "Open file in a new tab"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Options"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Order by role"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Order by status"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:753
msgid "dashboard.organization-deleted"
msgstr "The %s organization has been deleted."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Other teams"
@@ -1049,11 +1059,11 @@ msgstr "You are now owner on this team."
msgid "dashboard.permissions-change.viewer"
msgstr "You are now a viewer on this team."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Personal Projects"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Pin/Unpin"
@@ -1069,27 +1079,27 @@ msgstr "Cannot parse the plugin manifest"
msgid "dashboard.plugins.try-plugin"
msgstr "Try plugin: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:786
msgid "dashboard.progress-notification.deleting-files"
msgstr "Deleting files…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:907
msgid "dashboard.progress-notification.restoring-files"
msgstr "Restoring files…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:787
msgid "dashboard.progress-notification.slow-delete"
msgstr "Deletion unexpectedly slow"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:908
msgid "dashboard.progress-notification.slow-restore"
msgstr "Restore unexpectedly slow"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projects"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Want to remove your account?"
@@ -1097,113 +1107,113 @@ msgstr "Want to remove your account?"
msgid "dashboard.removed-from-team"
msgstr "You are not part of the team “%s“ anymore."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "You're going to restore all your projects and files. This may take a while."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Restore all projects and files"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Restore All"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:967
msgid "dashboard.restore-files-success-notification"
msgstr "%s files have been successfully restored."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Restore project"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "You're going to restore %s project and all the files contained in it."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Restore Project"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:939, src/app/main/data/dashboard.cljs:966, src/app/main/data/dashboard.cljs:1003, src/app/main/ui/dashboard/file_menu.cljs:223
msgid "dashboard.restore-success-notification"
msgstr "%s has been successfully restored."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Save settings"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Search…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Searching for “%s“…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organizations"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Teams"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "ADD TO ORGANIZATION"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Choose an organization:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" only allows organization members to join its teams. Any pending "
"invitations to people outside the organization will be revoked."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Pending invitations to external users will be canceled."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Here you'll find the organizations you are part of where you are allowed to "
"move the team."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Here you'll find the organizations you are part of where you are allowed to "
"create or add teams."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Select an organization"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Add team to an organization"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Select UI language"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Select theme"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Dark (default)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Light"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "System theme"
@@ -1267,15 +1277,15 @@ msgstr "Update settings"
msgid "dashboard.settings.notifications.title"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Show all files"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Version history"
-#: src/app/main/ui/dashboard/file_menu.cljs:129
+#: src/app/main/ui/dashboard/file_menu.cljs:128
msgid "dashboard.success-delete-file"
msgid_plural "dashboard.success-delete-file"
msgstr[0] "Your file has been deleted successfully"
@@ -1285,7 +1295,7 @@ msgstr[1] "Your files have been deleted successfully"
msgid "dashboard.success-delete-project"
msgstr "Your project has been deleted successfully"
-#: src/app/main/ui/dashboard/file_menu.cljs:124
+#: src/app/main/data/dashboard.cljs:553
msgid "dashboard.success-duplicate-file"
msgid_plural "dashboard.success-delete-file"
msgstr[0] "Your file has been duplicated successfully"
@@ -1295,11 +1305,11 @@ 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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:161, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Your file has been moved successfully"
-#: src/app/main/ui/dashboard/file_menu.cljs:161
+#: src/app/main/ui/dashboard/file_menu.cljs:160
msgid "dashboard.success-move-files"
msgstr "Your files have been moved successfully"
@@ -1307,182 +1317,182 @@ msgstr "Your files have been moved successfully"
msgid "dashboard.success-move-project"
msgstr "Your project has been moved successfully"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s now belongs to %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Team info"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Team members"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s is no longer part of %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Team organization"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Add to an organization"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "You don't have permission to add this team to any of your organizations."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Change team organization"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Only people within your organization can be invited."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "This team is not part of any organization"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Remove team from organization"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Team projects"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Add to your project"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI theme"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Search results"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Deleted files will remain in the trash for"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s days. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "After that, they will be permanently deleted."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"If you change your mind, you can restore them or delete them permanently "
"from each file's menu."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Type to search results"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Unpublish Library"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Update settings"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:721
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "You are no longer a member of the organization %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"WebGL rendering can improve performance, but it is in beta and may be less "
"stable. Some visual differences may appear between the canvas, exports "
"(SVG/PDF), and view mode."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Disabled"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Enabled"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Give feedback"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Status"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL rendering"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Is active"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "When this hook is triggered event details will be delivered"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "You only can delete or modify webhooks created by you."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Content type"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Create webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook created successfully."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks are a simple way to allow other websites and apps to be notified "
"when certain events happen at Penpot. We’ll send a POST request to each of "
"the URLs you provide."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Press the button \"Add webhook\" to add one."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "No webhooks created so far."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Your account"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Email"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Your name"
@@ -1498,11 +1508,11 @@ msgstr "Attention"
msgid "ds.component-subtitle"
msgstr "Components to update:"
-#: src/app/main/ui/workspace/plugins.cljs:407, src/app/main/ui/workspace/plugins.cljs:470
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Allow"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:401, src/app/main/ui/workspace/plugins.cljs:464
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancel"
@@ -1522,7 +1532,7 @@ msgstr "No applicable tokens in active sets or themes."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "No matches found."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Open token list"
@@ -1544,15 +1554,15 @@ msgstr "Auth provider not allowed for this profile"
msgid "errors.auth-provider-not-configured"
msgstr "Authentication provider not configured."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:757
msgid "errors.auth.unable-to-login"
msgstr "Looks like you are not authenticated or session expired."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "The font %s could not be loaded"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "The fonts %s could not be loaded"
@@ -1564,61 +1574,61 @@ msgstr "Cannot upload the media file."
msgid "errors.character-limit-exceeded"
msgstr "Character limit exceeded"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1838
msgid "errors.circular-library-reference"
msgstr "Cannot add library: this would create a circular dependency"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"Clipboard API is unavailable. Serve Penpot over HTTPS to enable clipboard "
"access"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Your browser cannot do this operation"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Clipboard access denied. Please allow clipboard permissions in your browser "
"to paste content"
-#: src/app/main/errors.cljs:782
+#: src/app/main/errors.cljs:959
msgid "errors.comment-error"
msgstr "There was an error with the comment"
-#: src/app/main/errors.cljs:499
+#: src/app/main/errors.cljs:587
msgid "errors.connection-error"
msgstr "Cannot reach the server. Check your connection and try again."
-#: src/app/main/errors.cljs:414
+#: src/app/main/errors.cljs:1028
msgid "errors.deprecated"
msgstr ""
"Sorry! This is an old file that uses a deprecated type of Penpot assets and "
"you can't open it."
-#: src/app/main/errors.cljs:854
+#: src/app/main/errors.cljs:1031
msgid "errors.deprecated.contact.after"
msgstr "so we can help you."
-#: src/app/main/errors.cljs:852
+#: src/app/main/errors.cljs:1029
msgid "errors.deprecated.contact.before"
msgstr "Although Penpot no longer support this type of Assets, you can"
-#: src/app/main/errors.cljs:853
+#: src/app/main/errors.cljs:1030
msgid "errors.deprecated.contact.text"
msgstr "contact us"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Cannot drop a parent set to an own child path."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Email already used"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Email already validated."
@@ -1630,37 +1640,37 @@ msgstr "You can't use your email as password"
msgid "errors.email-does-not-match-invitation"
msgstr "Email does not match the invitation."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domain not allowed"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "The email «%s» has many permanent bounce reports."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "The email «%s» has been reported as spam or permanently bounce."
-#: src/app/main/data/exports/assets.cljs
+#: src/app/main/data/exports/assets.cljs:64, src/app/main/data/exports/assets.cljs:93
msgid "errors.export-failed"
msgstr "The export failed. Try again in a moment."
-#: src/app/main/data/exports/assets.cljs:346
+#: src/app/main/data/exports/assets.cljs:377
msgid "errors.export-too-large"
msgstr "Too large to export, try a smaller scale"
-#: src/app/main/errors.cljs:974
+#: src/app/main/errors.cljs:1005
msgid "errors.feature-mismatch"
msgstr ""
"Looks like you are opening a file that has the feature '%s' enabled but the "
"current penpot version does not supports it or has it disabled."
-#: src/app/main/errors.cljs:832, src/app/main/errors.cljs:846
+#: src/app/main/errors.cljs:1009, src/app/main/errors.cljs:1023
msgid "errors.feature-not-supported"
msgstr "Feature '%s' is not supported."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Must contain at most %s characters."
@@ -1668,7 +1678,7 @@ msgstr "Must contain at most %s characters."
msgid "errors.field-min-length"
msgstr "Must contain at least 1 character."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Empty field"
@@ -1676,24 +1686,24 @@ msgstr "Empty field"
msgid "errors.field-not-all-whitespace"
msgstr "The name must contain some character other than space."
-#: src/app/main/errors.cljs:824
+#: src/app/main/errors.cljs:1001
msgid "errors.file-feature-mismatch"
msgstr ""
"It seems that there is a mismatch between the enabled features and the "
"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/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"The font family name can only contain letters, numbers, spaces, hyphens, "
"underscores, and dots."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:565, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Something wrong has happened."
-#: src/app/main/errors.cljs:761
+#: src/app/main/errors.cljs:938
msgid "errors.internal-worker-error"
msgstr "Something wrong has happened with the web worker."
@@ -1701,7 +1711,7 @@ msgstr "Something wrong has happened with the web worker."
msgid "errors.invalid-color"
msgstr "Invalid color"
-#: src/app/plugins/utils.cljs:517, ../common/src/app/common/schema/messages.cljc:33, ../common/src/app/common/schema/messages.cljc:87
+#: src/app/plugins/utils.cljs:541, ../common/src/app/common/schema/messages.cljc:33, ../common/src/app/common/schema/messages.cljc:87
msgid "errors.invalid-data"
msgstr "Invalid data"
@@ -1709,7 +1719,7 @@ msgstr "Invalid data"
msgid "errors.invalid-email"
msgstr "Enter a valid email please"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Confirmation email must match"
@@ -1743,11 +1753,11 @@ msgstr "This invite might be canceled or may be expired."
msgid "errors.ldap-disabled"
msgstr "LDAP authentication is disabled."
-#: src/app/main/errors.cljs:840, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1017, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "You have reached the '%s' quota. Contact support."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"The maximum (%s) number of emails that can be invited in a single request "
@@ -1765,19 +1775,19 @@ msgstr "Seems that the contents of the image does not match the file extension."
msgid "errors.media-type-not-allowed"
msgstr "Seems that this is not a valid image."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "The profile you inviting has emails muted (spam reports or high bounces)."
-#: src/app/main/errors.cljs:814
+#: src/app/main/errors.cljs:991
msgid "errors.migration-in-progress"
msgstr "Migration in progress"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:884
msgid "errors.only-creator-can-lock"
msgstr "Only the version creator can lock it"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:892
msgid "errors.only-creator-can-unlock"
msgstr "Only the version creator can unlock it"
@@ -1789,7 +1799,7 @@ msgstr "There was a problem leaving the organization. Please try again."
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "The organization owner can't leave the organization."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "That organization doesn't exists"
@@ -1801,7 +1811,7 @@ msgstr "Confirmation password must match"
msgid "errors.password-too-short"
msgstr "Password should at least be 8 characters"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:865
msgid "errors.paste-data-validation"
msgstr "Invalid data in clipboard"
@@ -1809,11 +1819,11 @@ msgstr "Invalid data in clipboard"
msgid "errors.profile-blocked"
msgstr "The profile is blocked"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Your profile has emails muted (spam reports or high bounces)."
-#: src/app/main/errors.cljs:724
+#: src/app/main/errors.cljs:901
msgid "errors.profile-props-too-large"
msgstr ""
"Your profile settings are too large to save. Remove some plugins and try "
@@ -1823,19 +1833,53 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "The registration is currently disabled."
-#: src/app/main/errors.cljs:549
+#: src/app/main/errors.cljs:715
msgid "errors.save-failed"
msgstr ""
-"Autosave has stopped for this session, so your changes since the last successful save cannot be saved. Download the report to help us fix it, then reload the page, or leave this file and open it again, to keep editing."
+"Autosave has stopped for this session, so your changes since the last "
+"successful save cannot be saved. Download the report to help us fix it, "
+"then reload the page, or leave this file and open it again, to keep editing."
-#: src/app/main/data/persistence.cljs:310
+#: src/app/main/errors.cljs:706
+msgid "errors.save-permission-lost"
+msgid_plural "errors.save-permission-lost"
+msgstr[0] ""
+"You can no longer edit this file, so 1 change could not be saved. Reload "
+"the page to see the file as it is now."
+msgstr[1] ""
+"You can no longer edit this file, so %s changes could not be saved. Reload "
+"the page to see the file as it is now."
+
+#: src/app/main/data/persistence.cljs:701
+msgid "errors.save-rejected-changes-undone"
+msgstr "Some changes couldn't be saved, so your latest changes were undone."
+
+#: src/app/main/data/persistence.cljs:686
+msgid "errors.save-rejected-changes-undone-in-file"
+msgstr ""
+"Some changes to “%s” couldn't be saved, so your latest changes to that file "
+"were undone."
+
+#: src/app/main/data/persistence.cljs:696
+msgid "errors.save-rejected-damaged-data"
+msgstr ""
+"This page has damaged data that can't be repaired automatically, so changes "
+"to it can't be saved and were undone. Contact support."
+
+#: src/app/main/data/persistence.cljs:609
msgid "errors.save-retrying"
msgstr "Connection lost. Retrying to save your changes."
-#: src/app/main/errors.cljs
+#: src/app/main/data/persistence.cljs:608
+msgid "errors.save-retrying-busy"
+msgstr "The server is busy. Retrying to save your changes."
+
+#: src/app/main/errors.cljs:697
msgid "errors.save-still-retrying"
msgstr ""
-"Your changes are not saved yet because Penpot cannot reach the server. They are kept, and Penpot will keep trying to save them. Keep this tab open until they are saved."
+"Your changes are not saved yet because Penpot cannot reach the server. They "
+"are kept, and Penpot will keep trying to save them. Keep this tab open "
+"until they are saved."
#: src/app/main/errors.cljs:542
msgid "errors.save-refused-archived-branch"
@@ -1848,23 +1892,26 @@ msgid "errors.save-refused-merged-branch"
msgstr ""
"This branch is merged into main and read only. Make your changes in main."
-#: src/app/main/data/persistence.cljs:307
-msgid "errors.save-retrying"
-msgstr "Connection lost. Retrying to save your changes."
+#: src/app/main/errors.cljs:696
+msgid "errors.save-still-retrying-busy"
+msgstr ""
+"Your changes are not saved yet because the server is busy. They are kept, "
+"and Penpot will keep trying to save them. Keep this tab open until they are "
+"saved."
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:950
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG is invalid or malformed"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:996
msgid "errors.team-feature-mismatch"
msgstr "Detected incompatible feature '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Insufficient members to leave team, you probably want to delete it."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "The member you try to assign does not exist."
@@ -1872,7 +1919,7 @@ msgstr "The member you try to assign does not exist."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Only the owner of a team can delete it."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Owner can't leave team, you must reassign the owner role."
@@ -1884,11 +1931,11 @@ msgstr "The team name can't contain any of the following characters:'.', ':' or
msgid "errors.token-set-already-exists"
msgstr "A set with the same name already exists"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "Cannot complete drop, a set with same name already exists at path."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Theme Option with the same name exists"
@@ -1900,7 +1947,7 @@ msgstr "The theme refers to some not existing sets: %s"
msgid "errors.tokens.circular-reference"
msgstr "Token has circular reference"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr "Line Height depends on Font Size. Add a Font Size to get the resolved value."
@@ -1908,7 +1955,7 @@ msgstr "Line Height depends on Font Size. Add a Font Size to get the resolved va
msgid "errors.tokens.division-by-zero"
msgstr "Invalid token value: division by zero"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "This field cannot be empty"
@@ -1936,11 +1983,11 @@ msgstr "Invalid token value: the units %s cannot be combined"
msgid "errors.tokens.invalid-color"
msgstr "Invalid color value: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Invalid token value: you can only reference a font-family token"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Invalid font weight value: use numeric values (100-950) or standard names "
@@ -1961,37 +2008,37 @@ msgstr ""
"Token names should only contain letters and digits separated by . "
"characters and must not start with a $ sign."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Invalid shadow type: only 'innerShadow' or 'dropShadow' are accepted"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Invalid token value: only none, Uppercase, Lowercase or Capitalize are "
"accepted"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "Invalid token value: only none, underline and strike-through are accepted"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Invalid value: must reference a composite shadow token."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Invalid value: must reference a composite typography token."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Invalid token value: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Missing token references: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"Group name of %s conflicts with a token of the same name in another active "
@@ -2005,23 +2052,23 @@ msgstr "No tokens, sets, or themes were found in this file."
msgid "errors.tokens.number-too-large"
msgstr "Invalid token value. The resolved value is too large: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Opacity must be between 0 and 100% or 0 and 1 (e.g. 50% or 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token has self reference"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Shadow blur must be greater than or equal to 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "Shadow spread must be greater than or equal to 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Stroke width must be greater than or equal to 0."
@@ -2029,11 +2076,11 @@ msgstr "Stroke width must be greater than or equal to 0."
msgid "errors.tokens.unknown-function"
msgstr "Invalid token value: unknown function %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Invalid value: % is not allowed."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Invalid value: Units are not allowed."
@@ -2041,19 +2088,19 @@ msgstr "Invalid value: Units are not allowed."
msgid "errors.unexpected-error"
msgstr "An unexpected error occurred."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Unknown token"
-#: src/app/main/errors.cljs:732
+#: src/app/main/errors.cljs:909
msgid "errors.version-already-locked"
msgstr "This version is already locked"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:876
msgid "errors.version-locked"
msgstr "This version is locked and cannot be deleted by others"
-#: src/app/main/errors.cljs:836
+#: src/app/main/errors.cljs:1013
msgid "errors.version-not-supported"
msgstr "File has an incompatible version number"
@@ -2086,39 +2133,39 @@ msgstr "At least 1 uppercase letter"
msgid "errors.weak-password.too-short"
msgstr "At least 8 characters"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL has stopped working. Please reload the page to reset it"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oops! The canvas context was lost"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Connection error, URL not reacheable"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL does not pass validation."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Last delivery was not successful."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Error on SSL validation."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Unexpected error on validating"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Unexpected status %s"
@@ -2138,17 +2185,17 @@ msgstr "Description"
msgid "feedback.description-placeholder"
msgstr "Please describe the reason of your feedback"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"We're happy to have you here. If you need help, please search before you "
"post."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot community"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Other ways to contact us"
@@ -2172,11 +2219,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contact us"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Here to help with your technical queries."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X support account"
@@ -2196,87 +2243,89 @@ msgstr "Idea"
msgid "feedback.type.issue"
msgstr "Issue"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:392
+msgid "files-download-modal.unsaved-changes"
+msgstr ""
+"Some of your latest changes are not saved yet, so this download will not "
+"include them."
+
+#: src/app/main/ui/exports/files.cljs:467
msgid "files-export-modal.cancel-export"
msgstr "Cancel export"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:471
msgid "files-export-modal.done"
msgstr "Done"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:210
msgid "files-export-modal.export-error"
msgstr "Couldn't export: %s"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:246
msgid "files-export-modal.exported.message"
msgstr "Check your downloads folder."
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:239
msgid "files-export-modal.exported.title"
msgid_plural "files-export-modal.exported.title"
msgstr[0] "1 file exported"
msgstr[1] "%s files exported"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:245
msgid "files-export-modal.exporting.message"
msgstr "Each file downloads as soon as it's ready."
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:238
msgid "files-export-modal.exporting.title"
msgid_plural "files-export-modal.exporting.title"
msgstr[0] "Exporting 1 file"
msgstr[1] "Exporting %s files"
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Linked library assets won't be included in the file."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Treat assets as basic objects"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Files with linked libraries will be included in the export, maintaining "
"their linkage. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Export file + libraries"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"When imported, you'll be able to link existing libraries with matching "
"names."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Link matching libraries on import"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr "Your file will be exported with library asset merged into the local library."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Embed library assets in the file"
-#: src/app/main/ui/exports/files.cljs
-msgid "files-download-modal.unsaved-changes"
-msgstr "Some of your latest changes are not saved yet, so this download will not include them."
-
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:179
msgid "files-export-modal.status.exported"
msgstr "Exported"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:186
msgid "files-export-modal.status.waiting"
msgstr "Waiting"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:381
msgid "files-export-modal.title"
msgstr "Export file"
@@ -2284,7 +2333,7 @@ msgstr "Export file"
msgid "generic.error"
msgstr "An error has occurred"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Import"
@@ -2300,7 +2349,7 @@ msgstr "Import shortcuts"
msgid "import-shortcuts.imported"
msgstr "Imported"
-#: src/app/main/ui/settings/shortcuts.cljs:460, src/app/main/ui/settings/shortcuts.cljs:462
+#: src/app/main/ui/settings/shortcuts.cljs:511, src/app/main/ui/settings/shortcuts.cljs:513
msgid "import-shortcuts.invalid-file"
msgstr "This file is not a valid shortcuts export."
@@ -2310,7 +2359,9 @@ msgstr "No differences found between the current and imported shortcuts."
#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:153
msgid "import-shortcuts.skipped-entries"
-msgstr "These entries can't be imported: they don't match any Penpot shortcut or use a reserved key combination."
+msgstr ""
+"These entries can't be imported: they don't match any Penpot shortcut or "
+"use a reserved key combination."
#: src/app/main/ui/components/color_input.cljs:31
msgid "inspect.attributes.color"
@@ -2344,7 +2395,7 @@ msgstr "Preview of the shape's fill image"
msgid "inspect.attributes.shadow"
msgstr "Shadow"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Size and position"
@@ -2356,27 +2407,27 @@ msgstr "Stroke"
msgid "inspect.attributes.typography"
msgstr "Typography"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Font Family"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Font Size"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Font Style"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Letter Spacing"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Line Height"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Mixed Font Families"
@@ -2392,11 +2443,11 @@ msgstr "Strikethrough"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Underline"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Capitalize"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Lower Case"
@@ -2408,7 +2459,7 @@ msgstr "None"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Unset"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Upper Case"
@@ -2420,7 +2471,7 @@ msgstr "Variant properties"
msgid "inspect.attributes.variants"
msgstr "Variants properties"
-#: src/app/main/ui/inspect/code.cljs:315, src/app/main/ui/inspect/code.cljs:358
+#: src/app/main/ui/inspect/code.cljs:322, src/app/main/ui/inspect/code.cljs:365
msgid "inspect.code.expand-panel"
msgstr "Expand panel"
@@ -2536,23 +2587,23 @@ msgstr "Resolved value:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Variant Properties"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Create new access token"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Press the button \"Create new access token\" to generate one."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "You have no tokens so far."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Personal access tokens"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Personal access tokens function like an alternative to our login/password "
@@ -2637,53 +2688,53 @@ msgstr "The MCP key will expire on %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "The MCP key has no expiration date"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"The Penpot MCP Server enables MCP clients to interact directly with Penpot "
"design files."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "How to configure MCP clients"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"This is the server url you'll need to configure your MCP client in order to "
"connect it to the Penpot MCP server."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Regenerate MCP key"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP key"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "The MCP key is needed for the MCP client set up"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Status"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Disabled"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Enabled"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"The MCP key used to connect to the MCP server has expired. As a result, the "
"connection cannot be established."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Please regenerate the MCP key and update your client configuration with the "
@@ -2693,10 +2744,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "MCP Server"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Name"
@@ -2747,7 +2794,7 @@ msgstr "Regenerate MCP key"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP key regenerated"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Integrations"
@@ -2765,11 +2812,11 @@ msgstr "The token will expire on %s"
msgid "integrations.token.will-not-expire"
msgstr "The token has no expiration date"
-#: src/app/main/ui/exports/files.cljs:111
+#: src/app/main/ui/exports/files.cljs:223
msgid "jobs.export-cancelled"
msgstr "Export cancelled"
-#: src/app/main/data/imports.cljs:259
+#: src/app/main/data/imports.cljs:376
msgid "jobs.import-cancelled"
msgstr "Import cancelled"
@@ -2821,7 +2868,7 @@ msgstr "Processing the tokens"
msgid "jobs.progress.stage.typographies"
msgstr "Processing the typographies"
-#: src/app/main/ui/jobs/progress.cljs:33
+#: src/app/main/ui/jobs/progress.cljs:34
msgid "jobs.progress.stage.unknown"
msgstr "Working"
@@ -2830,50 +2877,51 @@ msgid "jobs.progress.stage.upload"
msgstr "Uploading file…"
#: src/app/main/ui/dashboard/import.cljs:328, src/app/main/ui/exports/files.cljs:103
+#, unused
msgid "jobs.queued"
msgstr "Waiting job slot"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Mark all as read"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Shortcuts"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "About Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Accept"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Active"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Add"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Add custom font"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Adding..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "All"
@@ -2881,17 +2929,17 @@ msgstr "All"
msgid "labels.and"
msgstr "and"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Back"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Looks like you need to wait a bit and retry; we are performing small "
"maintenance of our servers."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2903,23 +2951,23 @@ msgstr "Blur"
msgid "labels.blur-effects"
msgstr "Blur effects"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancel"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Check for updates"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Checking for updates..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Close"
@@ -2927,7 +2975,7 @@ msgstr "Close"
msgid "labels.code"
msgstr "Code"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Collapse"
@@ -2939,15 +2987,15 @@ msgstr "Color"
msgid "labels.comment"
msgstr "Comment"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comments"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Community"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Community & Contributions"
@@ -2959,19 +3007,19 @@ msgstr "Computed"
msgid "labels.confirm-password"
msgstr "Confirm password"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contact support"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contact us"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:234, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continue"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "You can continue with a Penpot account"
@@ -2983,23 +3031,23 @@ msgstr "Copy"
msgid "labels.copy-color"
msgstr "Copy color"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copy link"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-present"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Create"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Create new team"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Enter new team name"
@@ -3007,7 +3055,7 @@ msgstr "Enter new team name"
msgid "labels.current"
msgstr "Current"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Dashboard"
@@ -3015,7 +3063,7 @@ msgstr "Dashboard"
msgid "labels.default"
msgstr "Default"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:334, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:263, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Delete"
@@ -3027,43 +3075,43 @@ msgstr "Delete comment"
msgid "labels.delete-comment-thread"
msgstr "Delete thread"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Delete invitation"
-#: src/app/main/ui/dashboard/file_menu.cljs:289
+#: src/app/main/ui/dashboard/file_menu.cljs:288
msgid "labels.delete-multi-files"
msgstr "Delete %s files"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Are you sure you want to delete your profile photo?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Delete profile photo"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Deleted"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Development"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Discard"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:560, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Download %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Download"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Drafts"
@@ -3071,23 +3119,23 @@ msgstr "Drafts"
msgid "labels.duplicate"
msgstr "Duplicate"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Edit"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Empty"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Error"
-#: src/app/main/data/workspace/versions.cljs:314
+#: src/app/main/data/workspace/versions.cljs:332
msgid "labels.exit"
msgstr "Exit"
@@ -3095,11 +3143,11 @@ msgstr "Exit"
msgid "labels.expand"
msgstr "Expand"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expired"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Export"
@@ -3111,7 +3159,7 @@ msgstr "Feedback disabled"
msgid "labels.feedback-sent"
msgstr "Feedback sent"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -3119,63 +3167,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Fill"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex layout"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Font Family"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Styles"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fonts"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github repository"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Give feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Go back"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Graphic design"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Grid layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Help Center"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Help & Learning"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Hide"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Hide resolved comments"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Import"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactive"
@@ -3183,59 +3231,59 @@ msgstr "Inactive"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Installed fonts"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Integrations"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Something bad happened."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "You can retry the operation or contact support to report the error."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Internal Error"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitations"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Language"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Learning Center"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Libraries & Templates"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:133
msgid "labels.loading"
msgstr "Loading…"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:251
+#: src/app/main/ui/workspace/sidebar/versions.cljs:257
msgid "labels.lock"
msgstr "Lock"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Log in or sign up"
@@ -3243,19 +3291,19 @@ msgstr "Log in or sign up"
msgid "labels.login"
msgstr "Login"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Logout"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Member"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Members"
@@ -3267,41 +3315,41 @@ msgstr "Mention"
msgid "labels.new-password"
msgstr "New password"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Next"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr "This instance needs a setup step that comes with the latest version."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Check out our"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot can't start yet."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "technical guide"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot is temporarily unavailable due to a system issue. Please try again "
"shortly."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "You're all caught up! New comment notifications will appear here."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "No pending invitations."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Gather your people and build great things together."
@@ -3309,27 +3357,27 @@ msgstr "Gather your people and build great things together."
msgid "labels.no-matches"
msgstr "No matches"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oops!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 file"
msgstr[1] "%s files"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 board"
msgstr[1] "%s boards"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 project"
@@ -3339,43 +3387,43 @@ msgstr[1] "%s projects"
msgid "labels.old-password"
msgstr "Old password"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Open"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Options"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Other (specify)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Other"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Owner"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Password"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pending"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot Changelog"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Pinned Projects"
@@ -3383,31 +3431,31 @@ msgstr "Pinned Projects"
msgid "labels.post"
msgstr "Post"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Previous"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Product or UX design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Product Management"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profile"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projects"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Recent"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Reference"
@@ -3415,27 +3463,27 @@ msgstr "Reference"
msgid "labels.refresh"
msgstr "Refresh"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Release notes"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:666, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Reload page"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Remove"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Remove member"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:297, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:234, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Rename"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Rename team"
@@ -3459,55 +3507,55 @@ msgstr "new reply"
msgid "labels.reply.thread"
msgstr "Reply"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Resend"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Resend invitation"
-#: src/app/main/data/workspace/versions.cljs:246, src/app/main/data/workspace/versions.cljs:319, src/app/main/ui/workspace/sidebar/versions.cljs:238
+#: src/app/main/data/workspace/versions.cljs:260, src/app/main/data/workspace/versions.cljs:337, src/app/main/ui/workspace/sidebar/versions.cljs:244
msgid "labels.restore"
msgstr "Restore"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437, src/app/main/ui/workspace/branch_switcher.cljs:210, src/app/main/ui/workspace/sidebar/branches.cljs:991
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445, src/app/main/ui/workspace/branch_switcher.cljs:210, src/app/main/ui/workspace/sidebar/branches.cljs:991
msgid "labels.retry"
msgstr "Retry"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Role"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Save"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Search"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Search font"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Select option"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Send"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Sending…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "We are in programmed maintenance of our systems."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Service Unavailable"
@@ -3515,74 +3563,74 @@ msgstr "Service Unavailable"
msgid "labels.sets"
msgstr "Sets"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Settings"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Shadow"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Share"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Libraries"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Show"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Show all comments"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Show comments list"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Show only your mentions"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Show only your comments"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/import.cljs:703
+#: src/app/main/ui/dashboard/import.cljs:808
msgid "labels.skip"
msgstr "Skip"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Sources"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"Sign-in with your organization's identity provider didn't complete. The "
"provider may be unavailable, or your account may not be in its directory "
"yet."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Try again"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "We couldn't sign you in to %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Start"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
@@ -3590,7 +3638,7 @@ msgstr "Status"
msgid "labels.stroke"
msgstr "Stroke"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Student or teacher"
@@ -3602,11 +3650,11 @@ msgstr "Styles"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Switch"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
msgid "labels.team-management"
msgstr "Team management"
@@ -3614,55 +3662,55 @@ msgstr "Team management"
msgid "labels.text"
msgstr "Text"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Themes"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorials"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typography"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Unknown error"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:245
+#: src/app/main/ui/workspace/sidebar/versions.cljs:251
msgid "labels.unlock"
msgstr "Unlock"
-#: src/app/main/ui/dashboard/file_menu.cljs:283
+#: src/app/main/ui/dashboard/file_menu.cljs:282
msgid "labels.unpublish-multi-files"
msgstr "Unpublish %s files"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Update"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Update team"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Upload"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Upload custom fonts"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Uploading…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variant"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Version %s notes"
@@ -3670,7 +3718,7 @@ msgstr "Version %s notes"
msgid "labels.view-only"
msgstr "View only"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Viewer"
@@ -3684,7 +3732,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s warning"
msgstr[1] "%s warnings"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3692,11 +3740,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Write new comment"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(you)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Your account"
@@ -3780,6 +3828,44 @@ msgstr "Extend Penpot with community-built plugins for extra functionality."
msgid "loader.tips.10.title"
msgstr "Plugins Support"
+#: src/app/main/ui/mcp_authorize.cljs:155
+msgid "mcp.oauth.access"
+msgstr ""
+"This client can read and change designs through MCP connections established "
+"from Penpot."
+
+#: src/app/main/ui/mcp_authorize.cljs:153
+msgid "mcp.oauth.account"
+msgstr "You are signed in as %s."
+
+#: src/app/main/ui/mcp_authorize.cljs:162
+msgid "mcp.oauth.approve"
+msgstr "Allow access"
+
+#: src/app/main/ui/mcp_authorize.cljs:133
+msgid "mcp.oauth.cancelled"
+msgstr "Connection cancelled"
+
+#: src/app/main/ui/mcp_authorize.cljs:157
+msgid "mcp.oauth.enable"
+msgstr ""
+"Allowing access enables the MCP integration and creates your MCP token if "
+"needed."
+
+#: src/app/main/ui/mcp_authorize.cljs:137
+msgid "mcp.oauth.failed"
+msgstr ""
+"This request has expired, was already used, or could not be completed. "
+"Start the connection again from your MCP client."
+
+#: src/app/main/ui/mcp_authorize.cljs:149
+msgid "mcp.oauth.request"
+msgstr "%s wants to connect to Penpot."
+
+#: src/app/main/ui/mcp_authorize.cljs:129
+msgid "mcp.oauth.title"
+msgstr "Connect to Penpot MCP"
+
#: src/app/main/ui/workspace/colorpicker.cljs:494
msgid "media.choose-image"
msgstr "Choose image"
@@ -3835,7 +3921,7 @@ msgstr ""
"You are the only member of some of the teams. Those teams will be deleted "
"along with its projects and files."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "BEFORE YOU LEAVE THE ORGANIZATION"
@@ -3843,78 +3929,78 @@ msgstr "BEFORE YOU LEAVE THE ORGANIZATION"
msgid "modals.before-leave-organization.warning"
msgstr "Any team where you’re the only member will be deleted."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Big nudge"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Confirm new email"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "We'll send you an email to your current email “%s” to verify your identity."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "New email"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Change email"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Change your email"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Create webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Create webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Cancel and keep my account"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Yes, delete my account"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "By removing your account you’ll lose all your current projects and archives."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"This action is irreversible. Your account, subscription, and organizations "
"will be deleted immediately. You will also lose access to your current "
"projects and files."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organizations that will be deleted"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s members"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s teams"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Are you sure you want to delete your account?"
@@ -3950,47 +4036,47 @@ msgstr "Are you sure you want to delete this annotation?"
msgid "modals.delete-component-annotation.title"
msgstr "Delete annotation"
-#: src/app/main/ui/dashboard/file_menu.cljs:155
+#: src/app/main/ui/dashboard/file_menu.cljs:154
msgid "modals.delete-file-confirm.accept"
msgstr "Delete file"
-#: src/app/main/ui/dashboard/file_menu.cljs:154
+#: src/app/main/ui/dashboard/file_menu.cljs:153
msgid "modals.delete-file-confirm.message"
msgstr "Are you sure you want to delete this file?"
-#: src/app/main/ui/dashboard/file_menu.cljs:153
+#: src/app/main/ui/dashboard/file_menu.cljs:152
msgid "modals.delete-file-confirm.title"
msgstr "Deleting file"
-#: src/app/main/ui/dashboard/file_menu.cljs:149
+#: src/app/main/ui/dashboard/file_menu.cljs:148
msgid "modals.delete-file-multi-confirm.accept"
msgstr "Delete files"
-#: src/app/main/ui/dashboard/file_menu.cljs:148
+#: src/app/main/ui/dashboard/file_menu.cljs:147
msgid "modals.delete-file-multi-confirm.message"
msgstr "Are you sure you want to delete %s files?"
-#: src/app/main/ui/dashboard/file_menu.cljs:147
+#: src/app/main/ui/dashboard/file_menu.cljs:146
msgid "modals.delete-file-multi-confirm.title"
msgstr "Deleting %s files"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Deleting font style"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Deleting font"
@@ -3998,19 +4084,19 @@ msgstr "Deleting font"
msgid "modals.delete-organization-team-confirm.message"
msgstr "Are you sure you want to delete this team that is part of %s org?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Are you sure you want to delete this page?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Delete page"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Are you sure you want to delete the selected pages?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Delete pages"
@@ -4026,31 +4112,31 @@ msgstr "Are you sure you want to delete this project?"
msgid "modals.delete-project-confirm.title"
msgstr "Delete project"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Delete file"
msgstr[1] "Delete files"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "It isn't activated in any file."
msgstr[1] "They aren't activated in any file."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "This library is activated here: "
msgstr[1] "This libraries are activated here: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Are you sure you want to delete this file?"
msgstr[1] "Are you sure you want to delete these files?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Deleting file"
@@ -4070,19 +4156,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Deleting team"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Delete member"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Are you sure you want to delete this member from the team?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Delete team member"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -4092,23 +4178,23 @@ msgstr[1] ""
"Assets that have already been used in those files will remain there (no "
"design will be broken)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Delete webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Are you sure you want to delete this webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Deleting webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Edit webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Edit webhook"
@@ -4124,15 +4210,15 @@ msgstr "Import tokens"
msgid "modals.import-library-tokens.title"
msgstr "Import tokens from library?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Send invitation"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Emails, comma separated"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Some members are already on the team. We'll invite the rest."
@@ -4153,99 +4239,99 @@ msgstr ""
"are all already team members. If you need more information, contact the "
"organization's owner."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Addresses that won't receive an invitation"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Cancel"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Only existing members of the organization can be invited."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Send invites"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Some invitations can't be sent"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Some people on your list won't receive the invitations."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"You can invite members to the team so they can access to this file and all "
"of the team files."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Invite members to the team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"As you're the only member of this team, the team will be deleted along with "
"its projects and files."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Are you sure you want to leave the %s team?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"You can not leave the team if there is no other member to promote to owner. "
"You might want to delete the team."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"You are the owner of this team. Please select another member to promote to "
"owner before you leave."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promote and leave"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Select a member to promote"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Before you leave"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Leave team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Are you sure you want to leave this team?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Leaving team"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"You are the owner of some organization's teams. Please promote another "
"member to become an owner."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"You are the only member of some of the teams. Those teams will be deleted "
"along with its projects and files."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Also, you are the owner of some organization's teams. Please promote "
@@ -4265,57 +4351,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Leaving %s organization?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Move"
msgstr[1] "Move"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Are you sure you want to move this library?"
msgstr[1] "Are you sure you want to move these libraries?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Move library"
msgstr[1] "Move libraries"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Nudge amount"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transfer ownership"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"If you transfer the ownership, you will change your role to Admin, losing "
"some permissions over this team. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"You are the current owner of this team. Are you sure you want to make %s "
"the new owner of the team?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "New team owner"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publish"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publish empty library"
@@ -4337,23 +4423,23 @@ msgstr "Are you sure you want to remove the '%s' team from the '%s' organization
msgid "modals.remove-team-organization.title"
msgstr "REMOVE TEAM FROM THE ORGANIZATION"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Small nudge"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Unpublish"
msgstr[1] "Unpublish"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Are you sure you want to unpublish this library?"
msgstr[1] "Are you sure you want to unpublish these libraries?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Unpublish library"
@@ -4443,37 +4529,37 @@ msgstr "Activate"
msgid "nitrate.code-activation.title"
msgstr "Activate Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Contact sales"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"To switch to this plan, please contact our sales team. We'll help you "
"update your subscription and ensure everything is set up correctly."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Your organization will be deleted."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Your total storage, auto-version history, and file recovery period will be "
"limited."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"The teams, projects and files will no longer be part of any organization "
"but they will remain available."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "When you downgrade:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Switch to %s plan?"
@@ -4489,15 +4575,15 @@ msgstr "Contact us to try Enterprise for 14 days:"
msgid "nitrate.form.contact-upgrade"
msgstr "Contact us to upgrade to Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Contact us to try the Enterprise plan for 14 days:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Contact us to upgrade to the Enterprise plan:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"You won’t be charged right now. Payment will be processed at the end of the "
@@ -4517,7 +4603,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "Full open-source freedom, with the governance your org needs"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Everything your teams need to work securely at scale%s"
@@ -4525,7 +4611,7 @@ msgstr "Everything your teams need to work securely at scale%s"
msgid "nitrate.form.enterprise.price"
msgstr "per member per month"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Try 14 days for free"
@@ -4541,7 +4627,7 @@ msgstr "Get started with Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "Subscribe with an activation code"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Unlock Enterprise features"
@@ -4553,7 +4639,7 @@ msgstr "Try it free for 14 days"
msgid "nitrate.modal-success.title"
msgstr "Welcome to Enterprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Active until %s"
@@ -4561,23 +4647,23 @@ msgstr "Active until %s"
msgid "nitrate.subscription.renew-success"
msgstr "Your Enterprise subscription has been renewed."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Cancel subscription"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "To cancel your Enterprise subscription, please contact us at:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Renew with activation code"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "This page doesn't exist"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 error"
@@ -4595,11 +4681,11 @@ msgstr "We have sent a recovery email to"
msgid "not-found.login.sent-recovery-check"
msgstr "Check your email and click on the link to create a new password."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Sign up for free"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "And start using Penpot in seconds!"
@@ -4607,69 +4693,69 @@ msgstr "And start using Penpot in seconds!"
msgid "not-found.made-with-love"
msgstr "Made with LOVE and Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "You have already requested access to this file."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"You have already requested access to this file or other files or projects "
"of this team."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"You have already requested access to this project or other projects or "
"files of this team."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "You have already requested access to this project."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "REQUEST ACCESS"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr ""
"Remember that, if the owner allows it, you're going to be invited to the "
"team."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Your request has been sent correctly!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "You don't have access to this file."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Go to Personal Projects"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "If the owner allows it, you're going to be invited to the team."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot file"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "You don't have access to this project."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJECT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "To access this file, you can ask the team owner."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "To access this project, you can ask the team owner."
@@ -4681,31 +4767,31 @@ msgstr "Maintenance break: we will be down for a short maintenance within 5 minu
msgid "notifications.by-code.upgrade-version"
msgstr "A new version is available."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "This invitation is no longer available."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invitation deleted successfully"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invitation sent successfully"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Invitation link copied"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "You can't delete your profile. Reassign your teams before proceed."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profile saved successfully!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verification email sent to %s. Check your email!"
@@ -4746,7 +4832,7 @@ msgstr "Enter the name of the team"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Create team"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Invite members"
@@ -4756,98 +4842,98 @@ msgstr ""
"Developers, designers, managers... everyone's welcome. You can invite more "
"later."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Invite with the role:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Let's get started!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generating real code from designs"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Creating Design Systems"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototyping"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Design the UI/UX of an app"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "What will you be using Penpot for?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Let us know a bit about you to help us make Penpot work for you. Your "
"answers will help us prioritize new features and point you in the right "
"direction to get started."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Help us get to know you"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Which one of these tools do you use the most?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "What kind of work do you do?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "What is your company size?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Where would you like to get started?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1,001 - 5,000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1,000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Just me"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5,001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Education"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personal"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Work"
@@ -4897,15 +4983,15 @@ msgstr "Start designing"
msgid "options.deleted-token-with-name"
msgstr "{%s} token does not exist or has been deleted."
-#: src/app/plugins/utils.cljs:555
+#: src/app/plugins/utils.cljs:579
msgid "plugins.validation.invalid-value"
msgstr "expected %s, got %s (%s)"
-#: src/app/plugins/utils.cljs:569
+#: src/app/plugins/utils.cljs:593
msgid "plugins.validation.message"
msgstr "Field %s is invalid: %s"
-#: src/app/plugins/utils.cljs:558
+#: src/app/plugins/utils.cljs:582
msgid "plugins.validation.received-value"
msgstr "got %s (%s)"
@@ -4929,11 +5015,11 @@ msgstr "Reset all shortcuts to default"
msgid "restore-shortcuts.restore"
msgstr "Reset"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Detach"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mixed"
@@ -4945,35 +5031,35 @@ msgstr "Remove color"
msgid "settings.select-this-color"
msgstr "Select items using this style"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comments"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Align bottom"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Align center horizontally"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Align left"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Align right"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Align top"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Align center vertically"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Create board from selection"
@@ -4981,55 +5067,55 @@ msgstr "Create board from selection"
msgid "shortcuts.bold"
msgstr "Toggle bold"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Boolean difference"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boolean exclude"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Boolean intersection"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Boolean union"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Send to the back"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Send backward"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Bring forward"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Bring to the front"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Clear undo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copy"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copy link"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copy properties"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Create component / variant"
@@ -5037,63 +5123,63 @@ msgstr "Create component / variant"
msgid "shortcuts.create-new-project"
msgstr "Create new"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Cut"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zoom out"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Delete"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Delete node"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Delete node and segments"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Deselect all"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Detach component"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Disable shortcut"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Disabled"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Disabled shortcut"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Arrow"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curve"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Board"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Line"
@@ -5101,71 +5187,71 @@ msgstr "Line"
msgid "shortcuts.draw-nodes"
msgstr "Draw path"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Path"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectangle"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicate"
-#: src/app/main/ui/shortcuts.cljs:589
+#: src/app/main/ui/shortcuts.cljs:714
msgid "shortcuts.edit"
msgstr "Edit %s"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Already assigned to \"%s\". Saving will move it to this action."
-#: src/app/main/ui/shortcuts.cljs:836
+#: src/app/main/ui/shortcuts.cljs:771
msgid "shortcuts.edit-modal.reserved"
msgstr "This combination is reserved by Penpot and can't be assigned."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Saving will reset this shortcut to default:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "Shortcut available."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Customize shortcuts"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancel"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Export shapes"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Find"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Find and replace"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zoom to fit all"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Flip horizontally"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Flip vertically"
@@ -5189,27 +5275,27 @@ msgstr "Go to shared libraries"
msgid "shortcuts.go-to-search"
msgstr "Search"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Group"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribute horizontally"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Show / Hide UI"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Import/Export"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zoom in"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Insert image"
@@ -5217,11 +5303,11 @@ msgstr "Insert image"
msgid "shortcuts.italic"
msgstr "Toggle italic"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Join nodes"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Press the new keys"
@@ -5229,39 +5315,39 @@ msgstr "Press the new keys"
msgid "shortcuts.line-through"
msgstr "Toggle line through"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Make corner"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Make curve"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Mask"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Merge nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Move"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Move down fast"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Move left fast"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Move right fast"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Move up fast"
@@ -5269,87 +5355,87 @@ msgstr "Move up fast"
msgid "shortcuts.move-nodes"
msgstr "Move node"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Move down"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Move left"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Move right"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Move up"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Next board"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "No disabled shortcuts."
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "No custom shortcuts yet. Customize one from the All tab."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "No shortcuts match your search."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "No shortcuts match your search."
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Set opacity to 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Set opacity to 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Set opacity to 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Set opacity to 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Set opacity to 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Set opacity to 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Set opacity to 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Set opacity to 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Set opacity to 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Set opacity to 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Color picker"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Go to viewer comment section"
@@ -5357,77 +5443,77 @@ msgstr "Go to viewer comment section"
msgid "shortcuts.open-branches"
msgstr "Branches"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Go to dashboard"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Go to viewer inspect section"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Go to viewer interactions section"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Go to viewer interactions section"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Go to workspace"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " or "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Reassigned to \"%s\""
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Shortcuts page"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Paste"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Paste properties"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Paste and replace"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Custom"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Plugins manager"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Previous board"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Redo"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"After editing shortcuts, reload any other open Penpot tabs to apply the "
"changes."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Rename"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Reset to default"
@@ -5435,225 +5521,225 @@ msgstr "Reset to default"
msgid "shortcuts.reset-all"
msgstr "Reset all"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Reset zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Scale"
-#: src/app/main/ui/settings/shortcuts.cljs:44, src/app/main/ui/workspace/sidebar/shortcuts.cljs:139
+#: src/app/main/ui/settings/shortcuts.cljs:44, src/app/main/ui/workspace/sidebar/shortcuts.cljs:143
msgid "shortcuts.search"
msgstr "Search shortcuts"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Basics"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Dashboard"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Viewer"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Workspace"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Select all"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Select next layer"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Select parent layer"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Select previous layer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separate nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Show measurements"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Show / Hide pixel grid"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Show / Hide shortcuts"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Snap to nodes"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Snap to pixel grid"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Start editing"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alignment"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Edit"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generic"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Main menu"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modify layers"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panels"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Paths"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Shapes"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Text"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Tools"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Set thumbnails"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Keyboard shortcuts"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Toggle dynamic alignment"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Toggle assets"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Toggle color palette"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Toggle comments visibility"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Toggle focus mode"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Toggle fullscreen"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Show / Hide guides"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Toggle history"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Toggle layers"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Add / Remove flex layout"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Add/remove grid layout"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Lock / Unlock"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Lock proportions"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Show / Hide rulers"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Snap to guides"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Snap to ruler guides"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Toggle text palette"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Change theme"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Show / Hide"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Toggle zoom style"
@@ -5661,31 +5747,31 @@ msgstr "Toggle zoom style"
msgid "shortcuts.underline"
msgstr "Toggle underline"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Undo"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Ungroup"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Unmask"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribute vertically"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Zoom lense decrease"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Zoom lense increase"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoom to selected"
@@ -5704,7 +5790,7 @@ msgstr "See Enterprise in action"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5716,7 +5802,7 @@ msgstr "Enterprise Trial"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Your subscription"
@@ -5843,277 +5929,278 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Inviting people while on the Unlimited plan"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Payment was not completed. Try again whenever you're ready."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"The payment was not completed. Please try again. If the problem persists, "
"contact us: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Subscription"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Enter activation code"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Add a payment method to continue after your trial"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Admin Console"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "All Professional plan benefits and:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "All Unlimited plan benefits and:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "All Unlimited plan benefits, plus:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editors)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (trial)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-day autosave versions and file recovery"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Flat monthly bill"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Advanced Control:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Enterprise Security:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Multi-Org Management:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "Native SAML/SSO and full Audit Trail logging for compliance reporting."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Granular plugin whitelisting, including our secure, isolated MCP Server for "
"AI connectivity."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "Support for complex team hierarchies and separate sub-organizations."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Unlimited storage"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Manage your subscription"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Add payment details"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Add your payment details now to keep your subscription running smoothly "
"after the trial and continue supporting our open-source project. You won’t "
"be charged yet."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Skip for now and start trial"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Help us grow and make your trial easier"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Currently, your have %s person across your teams who can edit."
msgstr[1] "Currently, your have %s people across your teams who can edit."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Heads up: switching to a lower plan means less storage and shorter backups "
"and version history."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editors"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(Owners, Admin and Editors. Viewers doesn't count as Editors)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"You can't set fewer editors than you have now. Change the role "
"(editor/admin to viewer) for people who don't actually edit files in the "
"team settings."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Charged after trial. No credit card required right now."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/month"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Apply %s to your teams"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Tip: You can increase your seat count now to stay ahead of invites. At 25+ "
"editors across teams, you’ll enjoy a flat $175/month."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot member since: %s."
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "More information"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "org member / month"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Other penpot plans"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organization per month"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "user / month"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-day autosave versions and file recovery"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "All design and prototyping features Community support."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Complete control over data and infrastructure."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Unlimited users, teams and files."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB of storage"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Unlimited teams. Up to 8 editors across your owned teams."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Recommended"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Your subscription"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Start free trial"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Subscribe"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "You've been on the %s plan since %s."
-msgid "subscription.settings.trial-ends-on"
-msgstr "Your free trial ends on %s."
-
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"You can edit your subscription at any time from the 'Subscription' page in "
"your account details."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Enjoy your plan!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Thank your for chosing the Penpot %s plan!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "You are %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:724
+msgid "subscription.settings.trial-ends-on"
+msgstr "Your free trial ends on %s."
+
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Try it free for 14 days"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (trial)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-day autosave versions and file recovery"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Capped monthly bill at $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB of storage"
@@ -6138,45 +6225,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "If you'd like to increase this limit, [upgrade your plan|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invitation selected"
msgstr[1] "%s invitations selected"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Font Providers - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fonts - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projects - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Search - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Shared Libraries - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot | Full-stack design"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Give feedback - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Integrations - Penpot"
@@ -6184,7 +6271,7 @@ msgstr "Integrations - Penpot"
msgid "title.settings.notifications"
msgstr "Notifications - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Settings - Penpot"
@@ -6192,31 +6279,31 @@ msgstr "Settings - Penpot"
msgid "title.settings.password"
msgstr "Password - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profile - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitations - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Members - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Settings - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - View mode - Penpot"
-#: src/app/main/ui/workspace.cljs:240
+#: src/app/main/ui/workspace.cljs:241
msgid "title.workspace"
msgstr "%s - Penpot"
@@ -6224,11 +6311,11 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Detach token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "No boards found on the page."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Board not found."
@@ -6236,43 +6323,43 @@ msgstr "Board not found."
msgid "viewer.go-to-first-board"
msgstr "Go to the first board"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comments (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Don't show interactions"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Full Screen"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspect (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interactions"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interactions (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copy link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Show interactions"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Show interactions on click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
@@ -6316,67 +6403,67 @@ msgstr "Follow our "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL troubleshooting guide"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL rendering disabled"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL rendering enabled"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL context was lost"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL context was recovered"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Last delivery was successful."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Align horizontal center (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribute horizontal spacing (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Align left (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Align right (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Align bottom (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Align vertical center (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribute vertical spacing (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Align top (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Add library"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "All assets"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Colors"
@@ -6388,7 +6475,7 @@ msgstr "Add color"
msgid "workspace.assets.component-group-options"
msgstr "Component group options"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Components"
@@ -6396,7 +6483,7 @@ msgstr "Components"
msgid "workspace.assets.components.add-component"
msgstr "Add component"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Variants"
@@ -6404,11 +6491,11 @@ msgstr "%s Variants"
msgid "workspace.assets.create-group"
msgstr "Create a group"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Delete"
@@ -6416,11 +6503,11 @@ msgstr "Delete"
msgid "workspace.assets.delete-group"
msgstr "Delete group"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Delete pages"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicate"
@@ -6428,39 +6515,39 @@ msgstr "Duplicate"
msgid "workspace.assets.duplicate-main"
msgstr "Duplicate main"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Edit"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Grid view"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Group"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Group name"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "List view"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "local library"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Manage library"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "No assets found"
@@ -6468,7 +6555,7 @@ msgstr "No assets found"
msgid "workspace.assets.open-library"
msgstr "Open library file"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Rename"
@@ -6476,11 +6563,11 @@ msgstr "Rename"
msgid "workspace.assets.rename-group"
msgstr "Rename group"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Search assets"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Shared library"
@@ -6490,47 +6577,47 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 component"
msgstr[1] "%s components"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sort"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typographies"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Add typography"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Size"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Font Style"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Letter Spacing"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Line Height"
-#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:461
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:297
msgid "workspace.assets.typography.multiple-texts-selected"
msgstr "Select one text to create a typography style"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Text Transform"
@@ -7613,15 +7700,15 @@ msgstr ""
msgid "workspace.branches.you-editing"
msgstr "%s · editing now"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Copying image…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Image copied to the clipboard"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Error copying image"
@@ -7633,85 +7720,85 @@ msgstr "Pick color from screen"
msgid "workspace.colorpicker.color-tokens"
msgstr "Color tokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Components can't be nested inside themselves."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Some copies could not be switched. Components can't be nested inside "
"themselves."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Create area"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Copy columns"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Copy rows"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Create board"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Merge cells"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Paste"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Add 1 column to the right"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Add 1 column to the left"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Delete column"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Delete column and shapes"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplicate column"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Add 1 row below"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Add 1 row above"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Delete row"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Delete row and shapes"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplicate row"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Guide color"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Remove guide"
@@ -7719,19 +7806,75 @@ msgstr "Remove guide"
msgid "workspace.debug.title"
msgstr "Debugging tools"
-#: src/app/main/data/exports/assets.cljs
+#: src/app/main/data/exports/assets.cljs:388, src/app/main/data/exports/assets.cljs:564
msgid "workspace.export.unsaved-changes"
-msgstr "Some of your latest changes are not saved yet, so this export may not include them."
+msgstr ""
+"Some of your latest changes are not saved yet, so this export may not "
+"include them."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:907
+#: src/app/main/data/exports/assets.cljs:370, src/app/main/data/exports/assets.cljs:612
+msgid "workspace.export.unsaved-changes-included"
+msgstr "Some of your latest changes are not saved yet. This export includes them."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:59
+msgid "workspace.file-restored.accept"
+msgstr "Got it"
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:30
+msgid "workspace.file-restored.message"
+msgstr ""
+"%s restored an earlier version of this file. Changes made after it are no "
+"longer in the file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:31
+msgid "workspace.file-restored.message-anonymous"
+msgstr ""
+"A teammate restored an earlier version of this file. Changes made after it "
+"are no longer in the file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:28
+msgid "workspace.file-restored.message-date"
+msgstr ""
+"%s restored the version from %s. Changes made after it are no longer in the "
+"file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:29
+msgid "workspace.file-restored.message-date-anonymous"
+msgstr ""
+"A teammate restored the version from %s. Changes made after it are no "
+"longer in the file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:26
+msgid "workspace.file-restored.message-label"
+msgstr ""
+"%s restored the version “%s”. Changes made after it are no longer in the "
+"file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:27
+msgid "workspace.file-restored.message-label-anonymous"
+msgstr ""
+"A teammate restored the version “%s”. Changes made after it are no longer "
+"in the file."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:50
+msgid "workspace.file-restored.title"
+msgstr "This file was restored"
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:55
+msgid "workspace.file-restored.unsaved-changes"
+msgstr ""
+"Your latest changes couldn't be saved because a version of the file was "
+"restored."
+
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Focus mode"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Focus off"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Focus on"
@@ -7743,255 +7886,251 @@ msgstr "Linear gradient"
msgid "workspace.gradients.radial"
msgstr "Radial gradient"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Disable dynamic alignment"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Disable proportional scale"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Disable snap to guides"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Disable snap to pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Disable snap to ruler guides"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Disable WebGL rendering (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Enable dynamic alignment"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Enable proportional scale"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Snap to guides"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Enable snap to pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Snap to ruler guides"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Enable WebGL rendering (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Find"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Find and Replace"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Hide board names"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Hide comments"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Hide guides"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Hide color palette"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Hide pixel grid"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Hide rulers"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Hide fonts palette"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Lock guides"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Connect"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Disconnect"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Manage (Status: disabled)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Manage (Status: enabled)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Edit"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "File"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Help & info"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP server"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferences"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "View"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Redo"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Select all"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Show boards names"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Show comments"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Show guides"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Show color palette"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Show pixel grid"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Show rulers"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Show fonts palette"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Switch to dark theme"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Switch to light theme"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Switch to system theme"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Undo"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Unlock guides"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Reset"
-#: src/app/main/ui/workspace/left_header.cljs:125
+#: src/app/main/ui/workspace/left_header.cljs:133
msgid "workspace.header.retrying"
msgstr "Retrying to save"
-#: src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Error on saving"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Saved"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Saving"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Share"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "View mode (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Fill - Scale to fill"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Fit - Scale down to fit"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoom to fit all"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Full screen"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom to selected"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1050
msgid "workspace.layout-grid.editor.columns"
msgstr "Columns"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
-msgid "workspace.layout-grid.editor.rows"
-msgstr "Rows"
-
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Edit grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Exit"
@@ -7999,7 +8138,7 @@ msgstr "Exit"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Bottom padding"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Show 4 sided padding options"
@@ -8023,18 +8162,18 @@ msgstr "Top padding"
msgid "workspace.layout-grid.editor.padding.vertical"
msgstr "Vertical padding"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1051
+msgid "workspace.layout-grid.editor.rows"
+msgstr "Rows"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:994
msgid "workspace.layout-grid.editor.select-column"
msgstr "Select column"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:995
msgid "workspace.layout-grid.editor.select-row"
msgstr "Select row"
-#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs
-msgid "workspace.layout-grid.editor.track-options"
-msgstr "Track options"
-
#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:61
msgid "workspace.layout-grid.editor.title"
msgstr "Editing grid"
@@ -8047,45 +8186,49 @@ msgstr "Done"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Locate"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Locate grid layout"
-#: src/app/main/ui/workspace/libraries.cljs:898
+#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:932
+msgid "workspace.layout-grid.editor.track-options"
+msgstr "Track options"
+
+#: src/app/main/ui/workspace/libraries.cljs:921
msgid "workspace.libraries.add-shared-library"
msgstr "Add a shared library"
-#: src/app/main/ui/workspace/libraries.cljs:801
+#: src/app/main/ui/workspace/libraries.cljs:823
msgid "workspace.libraries.assets-in-this-file"
msgstr "ASSETS IN THIS FILE"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 color"
msgstr[1] "%s colors"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Add color to library"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "There are no color styles in your library yet"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "There are no recent colors yet"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "There are no typography styles in your library yet"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "File library"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Recent colors"
@@ -8097,99 +8240,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Save color style"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Toggle color palette"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 component"
msgstr[1] "%s components"
-#: src/app/main/ui/workspace/libraries.cljs:842
+#: src/app/main/ui/workspace/libraries.cljs:864
msgid "workspace.libraries.connected-libraries"
msgstr "Connected library"
-#: src/app/main/ui/workspace/libraries.cljs:183
+#: src/app/main/ui/workspace/libraries.cljs:235
msgid "workspace.libraries.connected-through"
msgstr "Connected through"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Connected to"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Or add some of these to try:"
-#: src/app/main/ui/workspace/libraries.cljs:812
+#: src/app/main/ui/workspace/libraries.cljs:834
msgid "workspace.libraries.empty.no-assets"
msgstr "No assets yet"
-#: src/app/main/ui/workspace/libraries.cljs:895
+#: src/app/main/ui/workspace/libraries.cljs:918
msgid "workspace.libraries.empty.no-connected-libraries"
msgstr "No connected libraries yet."
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "some templates in here"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "File library"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 graphic"
msgstr[1] "%s graphics"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "LIBRARIES IN THIS FILE"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "LIBRARIES"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "LIBRARY UPDATES"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Loading…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "There are no Shared Libraries that need update"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "No matches found for “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Search shared libraries"
-#: src/app/main/ui/workspace/libraries.cljs:827, src/app/main/ui/workspace/libraries.cljs:874
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
msgid "workspace.libraries.set-as-tokens-source"
msgstr "Set as tokens source"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "SHARED LIBRARIES"
-#: src/app/main/ui/workspace/libraries.cljs:621
+#: src/app/main/ui/workspace/libraries.cljs:674
msgid "workspace.libraries.shared-library-added"
msgstr "Added"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Connect library"
@@ -8213,51 +8356,51 @@ msgstr "Unlink all assets"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Detach all tokens"
-#: src/app/main/ui/workspace/libraries.cljs:1136
+#: src/app/main/ui/workspace/libraries.cljs:1159
msgid "workspace.libraries.this-file"
msgstr "This file"
-#: src/app/main/ui/workspace/libraries.cljs:167, src/app/main/ui/workspace/libraries.cljs:211
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
msgid "workspace.libraries.token-sets"
msgid_plural "workspace.libraries.token-sets"
msgstr[0] "1 set"
msgstr[1] "%s sets"
-#: src/app/main/ui/workspace/libraries.cljs:170, src/app/main/ui/workspace/libraries.cljs:215
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
msgid "workspace.libraries.token-themes"
msgid_plural "workspace.libraries.token-themes"
msgstr[0] "1 theme"
msgstr[1] "%s themes"
-#: src/app/main/ui/workspace/libraries.cljs:164, src/app/main/ui/workspace/libraries.cljs:207
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
msgid "workspace.libraries.tokens"
msgid_plural "workspace.libraries.tokens"
msgstr[0] "1 token"
msgstr[1] "%s tokens"
-#: src/app/main/ui/workspace/libraries.cljs:820, src/app/main/ui/workspace/libraries.cljs:866
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
msgid "workspace.libraries.tokens-source"
msgstr "Tokens source"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 typography"
msgstr[1] "%s typographies"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Disconnect library"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Update"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "see all changes"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "UPDATES"
@@ -8265,11 +8408,18 @@ msgstr "UPDATES"
msgid "workspace.notification-pill.detail"
msgstr "Details"
-#: src/app/main/data/workspace/notifications.cljs:282
+#: src/app/main/data/persistence.cljs:669
msgid "workspace.notifications.file-repaired"
msgstr ""
-"We fixed some issues in this file. You can find a copy of the original version in "
-"the version history."
+"We fixed some issues in this file. You can find a copy of the original "
+"version in the version history."
+
+#: src/app/main/data/persistence.cljs:662, src/app/main/data/persistence.cljs:691
+msgid "workspace.notifications.file-repaired-changes-undone"
+msgstr ""
+"We fixed some issues in this file. You can find a copy of the original "
+"version in the version history. Some changes couldn't be saved, so your "
+"latest changes were undone."
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:784
msgid "workspace.options.add-interaction"
@@ -8325,7 +8475,7 @@ msgstr "Toggle blur"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Show/hide more options"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Cancel"
@@ -8337,117 +8487,117 @@ msgstr "Canvas background"
msgid "workspace.options.canvas-background-section"
msgstr "Canvas background section"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Clip content"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Component"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copy"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Create an annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Edit an annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Main"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Swap component"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "There are no assets in this library yet"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Unlinked"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Locate conflicting variants"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"This component has conflicting variants. Make sure each variation has a "
"unique set of property values."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Locate duplicated variants"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Some variants have identical properties and values"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"These variants have identical properties and values. Adjust the values so "
"they can be retrieved."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"This variant has identical properties and values to another variant. Adjust "
"the values so they can be retrieved."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Some of these variants have identical properties and values. Adjust the "
"values so they can be retrieved."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"This component has variants with invalid names. Make sure every variant is "
"following the correct structure."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Locate invalid variants"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Some variants have invalid names"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Locate invalid variants"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "These variants have invalid names."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "This variant has an invalid name."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Some of these variants have invalid names."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[property]=[value], [property]=[value]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Try using the following structure:"
@@ -8483,7 +8633,7 @@ msgstr "Have the same hierarchy level."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Groups, boards and layouts are considered equivalent."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "How variants stay connected"
@@ -8531,11 +8681,11 @@ msgstr "Top & Bottom"
msgid "workspace.options.convert-to-typography"
msgstr "Create typography style"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Export"
@@ -8543,53 +8693,53 @@ msgstr "Export"
msgid "workspace.options.export-multiple"
msgstr "Export selection"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Add export"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Remove export"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffix"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Export service is busy, please try again later"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Export cancelled"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Cancelling..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Export complete"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exporting…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export failed"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Export unexpectedly slow"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Waiting..."
@@ -8609,7 +8759,7 @@ msgstr "Remove fill"
msgid "workspace.options.fill.section"
msgstr "Fill section"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Resize board to fit content"
@@ -8629,7 +8779,7 @@ msgstr "Flow start"
msgid "workspace.options.flows.flow-starts"
msgstr "Flow starts"
-#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
msgid "workspace.options.font-not-available"
msgstr ""
"The font used by this text (%s) is no longer available. Reupload the font "
@@ -8639,11 +8789,11 @@ msgstr ""
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Columns"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Color"
@@ -8651,59 +8801,59 @@ msgstr "Color"
msgid "workspace.options.grid.params.guide-defaults"
msgstr "Guide defaults"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Gutter"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Height"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margin"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Set as default"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Bottom"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Center"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Left"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Right"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Stretch"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Top"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Use default"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Width"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rows"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Square"
@@ -8715,7 +8865,7 @@ msgstr "Group fill"
msgid "workspace.options.group-stroke"
msgstr "Group stroke"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Add guide"
@@ -8723,19 +8873,19 @@ msgstr "Add guide"
msgid "workspace.options.guides.remove-guide"
msgstr "Remove guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guides"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Toggle guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Height"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspect"
@@ -8951,115 +9101,115 @@ msgstr "Interactions"
msgid "workspace.options.interactions.add-interaction"
msgstr "Add interaction"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Color burn"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Color dodge"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Darken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Difference"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Hard light"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Hue"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Lighten"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosity"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiply"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Overlay"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Screen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Soft light"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Layer menu section"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Toggle layer visibility"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max height"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max width"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min height"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min width"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "More colors"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "More library colors"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "More color tokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:502
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516
msgid "workspace.options.no-font-results"
msgstr "No matching fonts"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "No matching size preset"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacity"
@@ -9067,7 +9217,7 @@ msgstr "Opacity"
msgid "workspace.options.pixel-grid-color"
msgstr "Pixel grid color"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototype"
@@ -9103,23 +9253,23 @@ msgstr "Border radius section"
msgid "workspace.options.radius.show-single-corners"
msgstr "Show independent radius"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recent"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Retry"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Search font"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Search size preset"
@@ -9127,11 +9277,11 @@ msgstr "Search size preset"
msgid "workspace.options.select-a-shape"
msgstr "Select a shape, board or group to drag a connection to other board."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Selected colors"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Color selection section"
@@ -9199,55 +9349,55 @@ msgstr "Toggle shadow"
msgid "workspace.options.show-fill-on-export"
msgstr "Show in exports"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Show in view mode"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Size"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Size presets"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Lock ratio"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Unlock ratio"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Circle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamond"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Arrow"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "None"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Round"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Square"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectangle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangle"
@@ -9255,31 +9405,31 @@ msgstr "Triangle"
msgid "workspace.options.stroke-color"
msgstr "Stroke color"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Dash"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Gap"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Stroke width"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Bottom (block end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Left (inline start)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Right (inline end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Top (block start)"
@@ -9287,49 +9437,49 @@ msgstr "Top (block start)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Add stroke color"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Center"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Dashed"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Dotted"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Inside"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixed"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Outside"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Stroke per side"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"Strokes per side feature is only available in the new render. Switch render "
"to use it."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Remove stroke"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solid"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Toggle stroke"
@@ -9365,11 +9515,11 @@ msgstr "Auto width"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fixed"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Letter Spacing"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Line height"
@@ -9417,235 +9567,235 @@ msgstr "Underline (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Width"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X axis"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y axis"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Draw nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Aligned"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Independent"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Equal"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Handler behaviour"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Join nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "To corner (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "To curve (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Merge nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Move nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separate nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Snap nodes (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Open"
-#: src/app/main/ui/workspace/plugins.cljs:242
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Discover [more plugins](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:249
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "No plugins installed yet"
-#: src/app/main/ui/workspace/plugins.cljs:236
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "The plugin manifest is incorrect."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "You need to be an editor to use this plugin"
-#: src/app/main/data/plugins.cljs:158
+#: src/app/main/data/plugins.cljs:160
msgid "workspace.plugins.error.unreachable"
msgstr "The plugin URL could not be reached."
-#: src/app/main/ui/workspace/plugins.cljs:232
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "The plugin doesn't exist or the URL is not correct."
-#: src/app/main/ui/workspace/plugins.cljs:228
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Install"
-#: src/app/main/ui/workspace/plugins.cljs:258
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Installed plugins"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Plugins manager"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:452
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "UPDATE THIS PLUGIN"
-#: src/app/main/ui/workspace/plugins.cljs:456
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"The plugin has been modified since you last opened it. It now also wants to "
"access:"
-#: src/app/main/ui/workspace/plugins.cljs:325
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Start file downloads."
-#: src/app/main/ui/workspace/plugins.cljs:339
+#: src/app/main/ui/workspace/plugins.cljs:344
msgid "workspace.plugins.permissions.allow-global"
msgstr ""
"Keep running while you move between the dashboard and your files, and find "
"and open your projects and files."
-#: src/app/main/ui/workspace/plugins.cljs:332
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Store data in the browser."
-#: src/app/main/ui/workspace/plugins.cljs:345
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Read the contents of your clipboard."
-#: src/app/main/ui/workspace/plugins.cljs:339
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Read and write to your clipboard."
-#: src/app/main/ui/workspace/plugins.cljs:318
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Read your comments and replies."
-#: src/app/main/ui/workspace/plugins.cljs:312
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Read and modify your comments and reply in your name."
-#: src/app/main/ui/workspace/plugins.cljs:285
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Read the content of files that users have access to."
-#: src/app/main/ui/workspace/plugins.cljs:279
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Read and modify the content of files that users have access to."
-#: src/app/main/ui/workspace/plugins.cljs:394
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Please note that this plugin is created by an external party, so ensure you "
"trust it before granting access. Your data privacy and security are "
"important to us. If you have any concerns, please contact support."
-#: src/app/main/ui/workspace/plugins.cljs:305
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Read your libraries and assets."
-#: src/app/main/ui/workspace/plugins.cljs:299
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Read and modify your libraries and assets."
-#: src/app/main/ui/workspace/plugins.cljs:360
+#: src/app/main/ui/workspace/plugins.cljs:365
msgid "workspace.plugins.permissions.manage-delete"
msgstr "Delete your files and projects."
-#: src/app/main/ui/workspace/plugins.cljs:346
+#: src/app/main/ui/workspace/plugins.cljs:351
msgid "workspace.plugins.permissions.manage-projects"
msgstr "Create, rename, pin and duplicate your projects."
-#: src/app/main/ui/workspace/plugins.cljs:353
+#: src/app/main/ui/workspace/plugins.cljs:358
msgid "workspace.plugins.permissions.manage-teams"
msgstr "See, create and rename your teams, and move projects between them."
-#: src/app/main/ui/workspace/plugins.cljs:387
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' PLUGIN WANTS ACCESS TO:"
-#: src/app/main/ui/workspace/plugins.cljs:292
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Read the profile information of the current user."
-#: src/app/main/ui/workspace/plugins.cljs:254
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Plugins List"
-#: src/app/main/ui/workspace/plugins.cljs:191
+#: src/app/main/ui/workspace/plugins.cljs:188
msgid "workspace.plugins.remove-confirmation.message"
msgstr ""
"Are you sure you want to remove the plugin %s? You can install it again at "
"any time."
-#: src/app/main/ui/workspace/plugins.cljs:190
+#: src/app/main/ui/workspace/plugins.cljs:187
msgid "workspace.plugins.remove-confirmation.title"
msgstr "Remove plugin"
-#: src/app/main/ui/workspace/plugins.cljs:101, src/app/main/ui/workspace/plugins.cljs:192
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Remove plugin"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Write a plugin URL"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:522
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NOT NOW"
-#: src/app/main/ui/workspace/plugins.cljs:515
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Want to take a look? It will open in a new draft for your current team. (If "
"not, you can always find it in the installed plugins of any file.)"
-#: src/app/main/ui/workspace/plugins.cljs:511
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' PLUGIN IS INSTALLED FOR YOUR USER!"
-#: src/app/main/ui/workspace/plugins.cljs:528
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "TRY PLUGIN"
@@ -9940,23 +10090,33 @@ msgstr "Merged"
msgid "workspace.pull-requests.state.open"
msgstr "Open"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:46
+#, markdown
+msgid "workspace.save-failure.retrying"
+msgstr "**Editing is disabled** because changes can’t be saved."
+
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:47
+#, markdown
+msgid "workspace.save-failure.stopped"
+msgstr "**Editing is disabled** because changes can’t be saved."
+
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Add flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Add grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Add layout"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Create variant"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Add new property"
@@ -9968,11 +10128,11 @@ msgstr "Send to back"
msgid "workspace.shape.menu.backward"
msgstr "Send backward"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Clear board guides"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combine as variants"
@@ -9980,7 +10140,7 @@ msgstr "Combine as variants"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Components need to be in the same page"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copy"
@@ -10024,27 +10184,27 @@ msgstr "Copy as text"
msgid "workspace.shape.menu.create-annotation"
msgstr "Create annotation"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Selection to board"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Create component"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Create multiple components"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Cut"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Delete"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Delete flow start"
@@ -10056,7 +10216,7 @@ msgstr "Detach instance"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Detach instances"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Difference"
@@ -10064,15 +10224,15 @@ msgstr "Difference"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplicate"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Edit"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exclude"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Flatten"
@@ -10084,7 +10244,7 @@ msgstr "Flip horizontal"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Flip vertical"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Flow start"
@@ -10096,31 +10256,31 @@ msgstr "Bring forward"
msgid "workspace.shape.menu.front"
msgstr "Bring to front"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Group"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Hide"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Show / Hide UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersection"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Lock"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Mask"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Paste"
@@ -10128,27 +10288,27 @@ msgstr "Paste"
msgid "workspace.shape.menu.paste-props"
msgstr "Paste properties"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Path"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Remove flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Remove grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Remove layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Remove property"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Variant should have at least one property"
@@ -10172,11 +10332,11 @@ msgstr "Restore variant"
msgid "workspace.shape.menu.select-layer"
msgstr "Select layer"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Show"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Show in assets panel"
@@ -10184,7 +10344,7 @@ msgstr "Show in assets panel"
msgid "workspace.shape.menu.show-main"
msgstr "Show main component"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Stroke to path"
@@ -10196,19 +10356,19 @@ msgstr "Remove thumbnail"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Set as thumbnail"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Ungroup"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Union"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Unlock"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Unmask"
@@ -10224,75 +10384,75 @@ msgstr "Collapse sidebar"
msgid "workspace.sidebar.expand"
msgstr "Expand sidebar"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "History"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Layers"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Components"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Boards"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Groups"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Images"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masks"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "No matches"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Replace"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Replace all"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Replace with..."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Find…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Find and replace"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Text content"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Layer names"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Shapes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Texts"
@@ -10300,7 +10460,7 @@ msgstr "Texts"
msgid "workspace.sidebar.options.svg-attrs.remove"
msgstr "Remove attribute"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Imported SVG Attributes"
@@ -10312,7 +10472,7 @@ msgstr "Pages"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Add page"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Sitemap"
@@ -10344,7 +10504,7 @@ msgstr "Add set to this group"
msgid "workspace.tokens.add-token"
msgstr "Add token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Applied to"
@@ -10368,7 +10528,7 @@ msgstr "Base font size must be a value in pixels or unitless."
msgid "workspace.tokens.change-token-source"
msgstr "Change token source"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Color"
@@ -10380,7 +10540,7 @@ msgstr "Copy token path"
msgid "workspace.tokens.create-new-theme"
msgstr "Create your first theme now."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Create one."
@@ -10412,7 +10572,7 @@ msgstr "Duplicate token"
msgid "workspace.tokens.duplicate-group"
msgstr "Duplicate Tokens Group"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copy"
@@ -10436,7 +10596,7 @@ msgstr "Edit %s token"
msgid "workspace.tokens.enter-token-name"
msgstr "Enter %s token name"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "Tokens can't be applied while editing text. Select the text layer instead."
@@ -10464,7 +10624,7 @@ msgstr "Preview:"
msgid "workspace.tokens.export.single-file"
msgstr "Single file"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Font size or {alias}"
@@ -10474,7 +10634,7 @@ msgstr ""
"Error setting font weight/style. This font style does not exist in the "
"current font"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Font weight (300, Bold Italic...) or an {alias}"
@@ -10510,7 +10670,7 @@ msgstr "In multiple files, the file name / path are the set names."
msgid "workspace.tokens.import-single-file"
msgstr "In a single JSON file, the first-level keys should be the token set names."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Import tokens"
@@ -10518,17 +10678,17 @@ msgstr "Import tokens"
msgid "workspace.tokens.import-warning"
msgstr "Importing tokens will override all your current tokens, sets and themes."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactive"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.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/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Use individual tokens"
@@ -10548,11 +10708,11 @@ msgstr "Theme"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Add a theme (i.e. Light)"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Letter spacing or {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Line height (multiplier, px, %) or {alias}"
@@ -10568,11 +10728,11 @@ msgstr "Max. size"
msgid "workspace.tokens.min-size"
msgstr "Min. size"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Missing reference"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Right click to see options"
@@ -10588,7 +10748,7 @@ msgstr "No theme active"
msgid "workspace.tokens.no-permisions-set"
msgstr "You need to be an editor to activate / deactivate sets"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "You need to be an editor to use themes"
@@ -10600,7 +10760,7 @@ msgstr "There are no sets defined yet. Create one first."
msgid "workspace.tokens.no-sets-yet"
msgstr "There are no sets yet."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "There are no themes."
@@ -10612,7 +10772,7 @@ msgstr "You currently have no themes."
msgid "workspace.tokens.not-remap"
msgstr "Don't remap"
-#: src/app/main/data/workspace/libraries.cljs:847
+#: src/app/main/data/workspace/libraries.cljs:850
msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
msgstr "Tokens source sets or themes have been modified"
@@ -10620,7 +10780,7 @@ msgstr "Tokens source sets or themes have been modified"
msgid "workspace.tokens.num-active-sets"
msgstr "%s active sets"
-#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:67
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
msgid "workspace.tokens.only-first-fill-or-stroke"
msgstr "Design tokens can only be applied to the first fill or stroke in the list."
@@ -10628,7 +10788,7 @@ msgstr "Design tokens can only be applied to the first fill or stroke in the lis
msgid "workspace.tokens.open-source-new-tab"
msgstr "Open tokens' source in a new tab"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Original value: %s"
@@ -10640,15 +10800,15 @@ msgstr "Paddings"
msgid "workspace.tokens.radius"
msgstr "Radius"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "Reference in {%s} is not valid or is not in any active set."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Enter a token typography alias"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Enter a token shadow alias"
@@ -10684,7 +10844,7 @@ msgstr "Rename Tokens Group"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Your tokens will automatically be renamed to %s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Resolved value: %s"
@@ -10720,27 +10880,27 @@ msgstr "Here you can configure the base font size, which defines the value of 1r
msgid "workspace.tokens.settings"
msgstr "Tokens settings"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Add Shadow"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Blur"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Inset"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Remove Shadow"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Spread"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Blur value cannot be negative"
@@ -10748,11 +10908,11 @@ msgstr "Blur value cannot be negative"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Spread value cannot be negative"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -10768,11 +10928,11 @@ msgstr "Source:"
msgid "workspace.tokens.stroke-width"
msgstr "Stroke Width"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize or {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through or {alias}"
@@ -10794,31 +10954,31 @@ msgstr "This file"
msgid "workspace.tokens.token-description"
msgstr "Description"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Select font family"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Font family"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Font family or list of fonts separated by comma (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Name"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "A token already exists at the path: %s or at a prefix thereof."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Name should be at least 1 character"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" is not a valid token name.\n"
@@ -10829,11 +10989,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Value"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Enter a value or alias with {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -10851,15 +11011,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Type '%s' is not supported (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Use a reference"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "The value is not valid"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Arrow (%s)"
@@ -10867,63 +11027,63 @@ msgstr "Arrow (%s)"
msgid "workspace.toolbar.assets"
msgstr "Assets"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Color Palette (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comments (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Curve (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Board (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Image (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:413
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
msgid "workspace.toolbar.label"
msgstr "Drawing tools"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Line (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP connected"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:136
msgid "workspace.toolbar.mcp-copy-session-id"
msgstr "Copy session ID"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:33
msgid "workspace.toolbar.mcp-session-copied"
msgstr "Session ID copied"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:132
msgid "workspace.toolbar.mcp-session-id"
msgstr "Session ID: %s"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Move (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Palette bar"
@@ -10931,59 +11091,55 @@ msgstr "Palette bar"
msgid "workspace.toolbar.palette-options"
msgstr "Palette options"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Path (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugins (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectangle (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typographies (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Toggle toolbar"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:45
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:64
msgid "workspace.top-bar.read-only.done"
msgstr "Done"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:40
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:53
#, markdown
msgid "workspace.top-bar.view-only"
msgstr "**Inspecting code** (View Only)"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:39
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:50
msgid "workspace.top-bar.webgl-context-lost"
msgstr "Rendering unavailable. Refresh to restore editing."
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:43
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:60
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Refresh"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "There are no history changes so far"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "by %s"
-#: src/app/main/ui/workspace/sidebar/history.cljs
-msgid "workspace.undo.entry.show-details"
-msgstr "Show details"
-
#: src/app/main/ui/workspace/sidebar/history.cljs:154
msgid "workspace.undo.entry.delete"
msgstr "Deleted %s"
@@ -11056,6 +11212,10 @@ msgstr "typography assets"
msgid "workspace.undo.entry.new"
msgstr "New %s"
+#: src/app/main/ui/workspace/sidebar/history.cljs:371
+msgid "workspace.undo.entry.show-details"
+msgstr "Show details"
+
#: src/app/main/ui/workspace/sidebar/history.cljs:132
msgid "workspace.undo.entry.single.circle"
msgstr "circle"
@@ -11120,19 +11280,19 @@ msgstr "typography asset"
msgid "workspace.undo.entry.unknown"
msgstr "Operation over %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1500, src/app/main/data/workspace/versions.cljs:255
msgid "workspace.updates.dismiss"
msgstr "Dismiss"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1498
msgid "workspace.updates.more-info"
msgstr "More info"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1496
msgid "workspace.updates.there-are-updates"
msgstr "There are updates in shared libraries"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1502
msgid "workspace.updates.update"
msgstr "Update"
@@ -11140,27 +11300,31 @@ msgstr "Update"
msgid "workspace.versions.autosaved.entry"
msgstr "%s autosave versions"
-#: src/app/main/data/workspace/versions.cljs:301, src/app/main/ui/workspace/sidebar/versions.cljs:300
+#: src/app/main/data/workspace/versions.cljs:319, src/app/main/ui/workspace/sidebar/versions.cljs:309
msgid "workspace.versions.autosaved.version"
msgstr "Autosaved %s"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:323
+#: src/app/main/ui/workspace/sidebar/versions.cljs:331
msgid "workspace.versions.button.pin"
msgstr "Pin version"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:233, src/app/main/ui/workspace/sidebar/versions.cljs:313
+#: src/app/main/ui/workspace/sidebar/versions.cljs:239, src/app/main/ui/workspace/sidebar/versions.cljs:321
msgid "workspace.versions.button.preview"
msgstr "Preview version"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:318
+#: src/app/main/ui/workspace/sidebar/versions.cljs:326
msgid "workspace.versions.button.restore"
msgstr "Restore version"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:425, src/app/main/ui/workspace/sidebar/versions.cljs:427
+#: src/app/main/ui/workspace/sidebar/versions.cljs:433, src/app/main/ui/workspace/sidebar/versions.cljs:435
msgid "workspace.versions.button.save"
msgstr "Save version"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:434
+#: src/app/main/data/workspace/versions.cljs:93
+msgid "workspace.versions.create-failed-unsaved"
+msgstr "The version was not created because your changes could not be saved."
+
+#: src/app/main/ui/workspace/sidebar/versions.cljs:442
msgid "workspace.versions.empty"
msgstr "There are no versions yet"
@@ -11168,35 +11332,39 @@ msgstr "There are no versions yet"
msgid "workspace.versions.expand-snapshot"
msgstr "Expand snapshots"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:398
+#: src/app/main/ui/workspace/sidebar/versions.cljs:406
msgid "workspace.versions.filter.all"
msgstr "All versions"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:412
+#: src/app/main/ui/workspace/sidebar/versions.cljs:420
msgid "workspace.versions.filter.label"
msgstr "Versions filter"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:399
+#: src/app/main/ui/workspace/sidebar/versions.cljs:407
msgid "workspace.versions.filter.mine"
msgstr "My versions"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:403
+#: src/app/main/ui/workspace/sidebar/versions.cljs:411
msgid "workspace.versions.filter.user"
msgstr "%s's versions"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:420
+#: src/app/main/ui/workspace/sidebar/versions.cljs:428
msgid "workspace.versions.loading"
msgstr "Loading..."
-#: src/app/main/data/workspace/versions.cljs:312
+#: src/app/main/data/workspace/versions.cljs:330
msgid "workspace.versions.preview-banner-title"
msgstr "Previewing version: %s"
-#: src/app/main/data/workspace/versions.cljs:306
+#: src/app/main/data/workspace/versions.cljs:324
msgid "workspace.versions.preview.unnamed"
msgstr "Unnamed version"
-#: src/app/main/data/workspace/versions.cljs:239
+#: src/app/main/data/workspace/versions.cljs:315, src/app/main/ui/workspace/sidebar/versions.cljs:308
+msgid "workspace.versions.repair.version"
+msgstr "Before automatic repair, %s"
+
+#: src/app/main/data/workspace/versions.cljs:253
msgid "workspace.versions.restore-warning"
msgstr "Do you want to restore this version?"
@@ -11219,7 +11387,7 @@ msgstr ""
"If you'd like to increase this limit, write to us at "
"[support@penpot.app](%s)"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:462
+#: src/app/main/ui/workspace/sidebar/versions.cljs:470
msgid "workspace.versions.warning.text"
msgstr "Autosaved versions will be kept for %s days."
@@ -11247,8 +11415,6 @@ msgstr "Decided"
msgid "workspace.branches.resolve.deletes-it"
msgstr "This version deletes it"
-
-
#: src/app/main/ui/workspace/sidebar/branch_review/conflicts.cljs:358
msgid "workspace.branches.resolve.drops.none"
msgstr "Nothing is dropped: every edit is kept."
@@ -11313,7 +11479,6 @@ msgstr "Keep the dropped edit safe:"
msgid "workspace.branches.resolve.next"
msgstr "Next decision"
-
#: src/app/main/ui/workspace/sidebar/branch_review/conflicts.cljs:79
msgid "workspace.branches.resolve.row.both-changed"
msgstr "%s - both changed"
@@ -11386,7 +11551,6 @@ msgstr "Mark reviewed - next"
msgid "workspace.branches.review.action.previous"
msgstr "Previous"
-
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs:141
msgid "workspace.branches.review.attr.fill"
msgstr "Fill"
@@ -11439,7 +11603,6 @@ msgstr "Tokens"
msgid "workspace.branches.review.decision.body"
msgstr "Main and this branch both edited it. Choose which version to keep before merging."
-
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs:750
msgid "workspace.branches.review.footer.reviewed"
msgstr "%s of %s reviewed"
@@ -11456,13 +11619,6 @@ msgstr "Library"
msgid "workspace.branches.review.overlay-detail"
msgstr "Branch over main"
-
-
-
-
-
-
-
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs:72
msgid "workspace.branches.review.row.choose"
msgstr "Choose"
@@ -11487,7 +11643,6 @@ msgstr "Main"
msgid "workspace.branches.review.side.result"
msgstr "Result"
-
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs:321
msgid "workspace.branches.review.summary.changed"
msgstr "Changed"
@@ -11496,7 +11651,6 @@ msgstr "Changed"
msgid "workspace.branches.review.summary.deleted"
msgstr "Deleted %s"
-
#: src/app/main/ui/workspace/sidebar/branch_review/layout.cljs:72
msgid "workspace.branches.review.this-branch"
msgstr "Changes:"
@@ -11509,8 +11663,6 @@ msgstr "Review changes"
msgid "workspace.branches.review.unknown-page"
msgstr "Unknown page"
-
-
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs:202
msgid "workspace.branches.review.view.overlay"
msgstr "Overlay"
@@ -11549,7 +11701,6 @@ msgid_plural "workspace.branches.review.action.resolve"
msgstr[0] "Resolve 1 decision"
msgstr[1] "Resolve %s decisions"
-
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs:625
msgid "workspace.branches.review.action.update"
msgid_plural "workspace.branches.review.action.update"
@@ -11574,20 +11725,12 @@ msgid_plural "workspace.branches.review.footer.left-out"
msgstr[0] "1 left out"
msgstr[1] "%s left out"
-
-
-
-
-
-
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs:88
msgid "workspace.branches.review.row.edits"
msgid_plural "workspace.branches.review.row.edits"
msgstr[0] "1 edit"
msgstr[1] "%s edits"
-
-
#: src/app/main/ui/workspace/sidebar/branch_review/previews.cljs
msgid "workspace.branches.review.missing.not-in-main"
msgstr "Not in main"
@@ -12081,27 +12224,3 @@ msgstr[1] "Choosing a side here also decides %s copies."
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
msgid "workspace.branches.review.copies.via"
msgstr "%s follows the change through its copy of %s"
-
-msgid "mcp.oauth.title"
-msgstr "Connect to Penpot MCP"
-
-msgid "mcp.oauth.request"
-msgstr "%s wants to connect to Penpot."
-
-msgid "mcp.oauth.account"
-msgstr "You are signed in as %s."
-
-msgid "mcp.oauth.access"
-msgstr "This client can read and change designs through MCP connections established from Penpot."
-
-msgid "mcp.oauth.enable"
-msgstr "Allowing access enables the MCP integration and creates your MCP token if needed."
-
-msgid "mcp.oauth.approve"
-msgstr "Allow access"
-
-msgid "mcp.oauth.failed"
-msgstr "This request has expired, was already used, or could not be completed. Start the connection again from your MCP client."
-
-msgid "mcp.oauth.cancelled"
-msgstr "Connection cancelled"
diff --git a/frontend/translations/es.po b/frontend/translations/es.po
index cd75f0e2f4..aafb0eb9e3 100644
--- a/frontend/translations/es.po
+++ b/frontend/translations/es.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-07-31 17:02+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Spanish "
" \n"
"Language: es\n"
@@ -9,9 +9,9 @@ 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 2026.8.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "¿Tienes ya una cuenta?"
@@ -33,7 +33,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "¿Olvidaste tu contraseña?"
@@ -41,37 +41,37 @@ msgstr "¿Olvidaste tu contraseña?"
msgid "auth.fullname"
msgstr "Nombre completo"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Entrar en mi cuenta"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Inicia sesión aquí."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Introduce la nueva contraseña"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Te uniste a la organización %s"
@@ -97,7 +97,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Hemos enviado a tu buzón un enlace para recuperar tu contraseña."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Te uniste al equipo"
@@ -129,7 +129,7 @@ msgstr "¿Olvidaste tu contraseña?"
msgid "auth.recovery-submit"
msgstr "Cambiar tu contraseña"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "¿No tienes una cuenta?"
@@ -141,7 +141,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Crear una cuenta"
@@ -154,7 +154,7 @@ msgstr "Crear una cuenta"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Términos de servicio"
@@ -176,101 +176,101 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "No se encuentra miembros con @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todo usario de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"¿Estas seguro que quieres eliminar el enlace? Si lo haces, el enlace dejara "
"de funcionar para cualquiera"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(actual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Eliminar enlace"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obtener enlace"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Enlace copiado satisfactoriamente"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gestionar permisos"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 página compartida"
msgstr[1] "%s páginas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Pueden comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Pueden ver código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Cualquiera con el enlace puede acceder"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páginas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "El enlace para compartir aparecerá aquí"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Sólo integrantes del equipo"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartir prototipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Selecctionar todas"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Despublicar"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestión del equipo"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot está dirigido a equipos. Invita a personas para trabajar "
"conjuntamente en proyectos y archivos"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "¡Forma equipo!"
-#: src/app/main/ui/dashboard/file_menu.cljs:234
+#: src/app/main/ui/dashboard/file_menu.cljs:233
msgid "dashboard-restore-file-confirmation.description"
msgstr "Vas a restaurar %s."
-#: src/app/main/ui/dashboard/file_menu.cljs:233
+#: src/app/main/ui/dashboard/file_menu.cljs:232
msgid "dashboard-restore-file-confirmation.title"
msgstr "Restaurar archivo"
@@ -278,33 +278,33 @@ msgstr "Restaurar archivo"
msgid "dashboard.add-file"
msgstr "Añadir archivo"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Añadir como Biblioteca Compartida"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Cambiar correo"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "MOVER EL EQUIPO"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Mover a:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Los proyectos y archivos permanecerán disponibles para los miembros del "
"equipo. El equipo obtendrá la configuración de la nueva organización."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Elige una organización"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Cambiar el equipo de organización"
@@ -366,23 +366,23 @@ msgstr "Ver notas de la versión"
msgid "dashboard.clear-search"
msgstr "Borrar búsqueda"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Vaciar papelera"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:318, src/app/main/data/dashboard.cljs:568, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Crear nueva organización"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Crear nuevo equipo"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Guardar esta versión"
@@ -390,78 +390,88 @@ msgstr "Guardar esta versión"
msgid "dashboard.default-team-name"
msgstr "Proyectos Personales"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"¿Estás seguro de que quieres eliminar para siempre todos tus proyectos y "
"archivos eliminados? Esta es una acción irreversible."
-#: src/app/main/ui/dashboard/file_menu.cljs:247
+#: src/app/main/ui/dashboard/file_menu.cljs:246
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr ""
"¿Estás seguro de que quieres eliminar para siempre %s? Esta es una acción "
"irreversible."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:842
msgid "dashboard.delete-files-success-notification"
msgstr "%s ficheros han sido eliminados correctamente."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:245, src/app/main/ui/dashboard/file_menu.cljs:247
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Eliminar para siempre"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Eliminar proyecto"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"¿Estás seguro de que quieres eliminar para siempre el proyecto %s? Vas a "
"eliminarlo para siempre junto con todos los archivos que contiene. Esta es "
"una acción irreversible."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:841, src/app/main/data/dashboard.cljs:875
msgid "dashboard.delete-success-notification"
msgstr "%s ha sido eliminado correctamente."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Eliminar equipo"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Tu papelera está vacía. Los archivos y proyectos eliminados aparecerán aquí."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Se eliminará %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Descargar archivo Penpot (.penpot)"
-#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
+#: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/dashboard/project_menu.cljs:94
msgid "dashboard.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/dashboard/file_menu.cljs:269
+#: src/app/main/ui/dashboard/file_menu.cljs:268
msgid "dashboard.duplicate-multi"
msgstr "Duplicar %s archivos"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/data/dashboard.cljs:549
+msgid "dashboard.duplicate-unsaved-changes"
+msgid_plural "dashboard.duplicate-unsaved-changes"
+msgstr[0] ""
+"Se ha duplicado tu archivo, pero la copia no incluye tus últimos cambios "
+"porque aún no se han guardado."
+msgstr[1] ""
+"Se han duplicado tus archivos, pero las copias no incluyen tus últimos "
+"cambios porque aún no se han guardado."
+
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Aún no hay borradores."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Cuando un miembro del equipo cree algún archivo, este aparecerá aquí."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Aún no hay archivos."
@@ -509,71 +519,71 @@ msgstr "Importa un fichero .penpot"
msgid "dashboard.empty-project.start"
msgstr "Empieza a crear cosas increíbles"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:845
msgid "dashboard.errors.error-on-delete-files"
msgstr "Hubo un error al eliminar archivos."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:878
msgid "dashboard.errors.error-on-delete-project"
msgstr "Hubo un error al eliminar el proyecto %s"
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:973, src/app/main/ui/dashboard/file_menu.cljs:226
msgid "dashboard.errors.error-on-restore-file"
msgstr "Hubo un error al restaurar el archivo %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restore-files"
msgstr "Hubo un error al restaurar los archivos."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:1006
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Hubo un error al restaurar el proyecto %s y sus archivos."
-#: src/app/main/ui/dashboard/file_menu.cljs:279
+#: src/app/main/ui/dashboard/file_menu.cljs:278
msgid "dashboard.export-binary-multi"
msgstr "Descargar %s archivos Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportar tableros como PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportar como PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s elementos seleccionados"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Puedes añadir configuraciones de exportación a elementos desde las "
"propiedades de diseño (al final del lateral derecho)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Información sobre cómo configurar exportaciones en Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "No hay elementos con configuraciones de exportación."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportar selección"
-#: src/app/main/ui/dashboard/file_menu.cljs:263
+#: src/app/main/ui/dashboard/file_menu.cljs:262
msgid "dashboard.file-menu.delete-files-permanently-option"
msgid_plural "dashboard.file-menu.delete-files-permanently-option"
msgstr[0] "Eliminar archivo"
msgstr[1] "Eliminar archivos"
-#: src/app/main/ui/dashboard/file_menu.cljs:261
+#: src/app/main/ui/dashboard/file_menu.cljs:260
msgid "dashboard.file-menu.restore-files-option"
msgid_plural "dashboard.file-menu.restore-files-option"
msgstr[0] "Restaurar archivo"
@@ -587,39 +597,39 @@ msgstr "Vista de cuadrícula"
msgid "dashboard.files-layout.list"
msgstr "Vista de lista"
-#: src/app/main/ui/dashboard/fonts.cljs:431
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
msgid "dashboard.fonts.delete-variant"
msgstr "Eliminar estilo de fuente"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Fuente no encontrada"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Ignorar todas"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Las fuentes personalizadas que subas aparecerán aquí."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Aún no hay fuentes personalizadas."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -629,7 +639,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -639,11 +649,11 @@ msgstr ""
"te puede interesar leer más sobre licencias tipográficas: [font "
"licensing](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Cargar todas"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -654,23 +664,23 @@ msgstr ""
"[Transfonter](https://transfonter.org/) para generar fuentes web y corregir "
"posibles errores."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Ir a la Admin Console"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Última modificación %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importar archivos Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "¡Vaya! No hemos podido importar el fichero"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 biblioteca fue vinculada automáticamente por nombre."
@@ -680,79 +690,79 @@ msgstr[1] "%s bibliotecas fueron vinculadas automáticamente por nombre."
msgid "dashboard.import.bad-url"
msgstr "La importación ha fallado. La URL de la plantilla es incorrecta"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:625
msgid "dashboard.import.check.message"
msgstr ""
"Estamos comprobando que cada archivo se puede importar. Solo tardará un "
"momento."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:624
msgid "dashboard.import.check.title"
msgstr "Comprobando tus archivos..."
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Confirmar vínculos de biblioteca"
-#: src/app/main/ui/dashboard/import.cljs:709
+#: src/app/main/ui/dashboard/import.cljs:814
msgid "dashboard.import.connect-selected-libraries"
msgstr "Conectar bibliotecas seleccionadas"
-#: src/app/main/ui/dashboard/import.cljs:296
+#: src/app/main/ui/dashboard/import.cljs:288
msgid "dashboard.import.file-name-label"
msgstr "Nombre del archivo"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "No hemos podido verificar este archivo."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Parece que este archivo está dañado."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "No todos los ficheros han sido importados"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Estos ficheros tienen errores:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Los ficheros con error no serán importados."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Se ha producido un error al procesar este archivo."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Algunos ficheros contenían objetos erroneos que no han sido importados."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:600
msgid "dashboard.import.importing.done"
msgid_plural "dashboard.import.importing.done"
msgstr[0] "1 hecho"
msgstr[1] "%s hechos"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:637
msgid "dashboard.import.importing.message"
msgstr "Reconstruyendo páginas, componentes y recursos en tu proyecto."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:598
msgid "dashboard.import.importing.title"
msgid_plural "dashboard.import.importing.title"
msgstr[0] "Importando 1 archivo"
msgstr[1] "Importando %s archivos"
-#: src/app/main/ui/dashboard/import.cljs:710
+#: src/app/main/ui/dashboard/import.cljs:815
msgid "dashboard.import.next-file"
msgstr "Siguiente archivo"
@@ -760,123 +770,123 @@ msgstr "Siguiente archivo"
msgid "dashboard.import.no-perms"
msgstr "No tienes permisos para importar en este equipo"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:634
msgid "dashboard.import.queued.message"
msgstr ""
"Tus archivos ya están subidos. La importación empieza en cuanto haya un "
"hueco libre."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:633
msgid "dashboard.import.queued.title"
msgstr "Esperando a empezar..."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:628
msgid "dashboard.import.ready.message"
msgstr "Tus archivos se pueden importar. Continúa con la subida."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:627
msgid "dashboard.import.ready.title"
msgstr "Archivos listos"
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Algunas bibliotecas no pudieron vincularse automáticamente. Selecciona la "
"biblioteca correcta para cada una:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Revisa los vínculos de biblioteca antes de confirmar:"
-#: src/app/main/ui/dashboard/import.cljs:459
+#: src/app/main/ui/dashboard/import.cljs:447
msgid "dashboard.import.resolve-libraries.connect-to"
msgstr "conectar a"
-#: src/app/main/ui/dashboard/import.cljs:453
+#: src/app/main/ui/dashboard/import.cljs:441
msgid "dashboard.import.resolve-libraries.original-library"
msgstr "biblioteca original"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:331
msgid "dashboard.import.status.ready"
msgstr "Listo"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:568
msgid "dashboard.import.steps.check"
msgstr "Comprobación"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:570
msgid "dashboard.import.steps.import"
msgstr "Importación"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:573
msgid "dashboard.import.steps.label"
msgstr "Pasos de la importación"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:569
msgid "dashboard.import.steps.upload"
msgstr "Subida"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "auto-vinculada"
-#: src/app/main/ui/dashboard/import.cljs:529
+#: src/app/main/ui/dashboard/import.cljs:517
msgid "dashboard.import.summary.manually-linked"
msgstr "vinculada manualmente"
-#: src/app/main/ui/dashboard/import.cljs:537
+#: src/app/main/ui/dashboard/import.cljs:525
msgid "dashboard.import.summary.new"
msgstr "Nueva"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Ninguna biblioteca seleccionada"
-#: src/app/main/ui/dashboard/import.cljs:534
+#: src/app/main/ui/dashboard/import.cljs:522
msgid "dashboard.import.summary.original"
msgstr "Original"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:1130
msgid "dashboard.import.title"
msgstr "Importar archivo"
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:631
msgid "dashboard.import.upload.message"
msgstr ""
"Enviando tus archivos. Mantén este diálogo abierto hasta que termine la "
"subida."
-#: src/app/main/ui/dashboard/import.cljs
+#: src/app/main/ui/dashboard/import.cljs:630
msgid "dashboard.import.upload.title"
msgstr "Subiendo tus archivos..."
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Vas a eliminar las invitaciones para:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Vas a reenviar las invitaciones para:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Eliminar invitaciones"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Reenviar invitaciones"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"No tienes permiso para invitar a personas a unirse a este equipo, ni para "
"editar o eliminar invitaciones."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invitar a la gente"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "No tienes permiso para invitar a personas a este equipo"
@@ -888,27 +898,27 @@ msgstr "Abandonar organización"
msgid "dashboard.leave-organization.toast"
msgstr "Ya no eres miembro de la organización %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Abandonar equipo"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotecas y plantillas"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: 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:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explora más y descubre cómo contribuir"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotecas"
@@ -916,7 +926,7 @@ msgstr "Bibliotecas"
msgid "dashboard.loading-files"
msgstr "cargando tus ficheros …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "cargando tus fuentes …"
@@ -924,11 +934,11 @@ msgstr "cargando tus fuentes …"
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:308, src/app/main/ui/dashboard/project_menu.cljs:101
+#: src/app/main/ui/dashboard/file_menu.cljs:307, src/app/main/ui/dashboard/project_menu.cljs:101
msgid "dashboard.move-to"
msgstr "Mover a"
-#: src/app/main/ui/dashboard/file_menu.cljs:272
+#: src/app/main/ui/dashboard/file_menu.cljs:271
msgid "dashboard.move-to-multi"
msgstr "Mover %s archivos a"
@@ -936,67 +946,67 @@ msgstr "Mover %s archivos a"
msgid "dashboard.move-to-other-team"
msgstr "Mover a otro equipo"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nuevo Archivo"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:525, src/app/main/data/dashboard.cljs:668
msgid "dashboard.new-file-prefix"
msgstr "Nuevo Archivo"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nuevo proyecto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:270, src/app/main/data/dashboard.cljs:671
msgid "dashboard.new-project-prefix"
msgstr "Nuevo Proyecto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "No se encuentra “%s“"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "No tienes permiso para añadir equipos a ninguna de tus organizaciones."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:185
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
msgid "dashboard.no-organizations-yet"
msgstr "Todavía no hay organizaciones."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"No tienes permiso para crear equipos en la organización %s. Si necesitas "
"más información, contacta con el propietario de la organización."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"No tienes permiso para eliminar equipos que pertenecen a la organización "
"%s. Si necesitas más información, contacta con el propietario de la "
"organización."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"No tienes permiso para mover equipos que son parte de la organización %s. "
"Si necesitas más información, contacta con el propietario de la "
"organización."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Los proyectos fijados aparecerán aquí"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notificaciones"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Tu dirección de correo ha sido actualizada"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Tu dirección de correo ha sido verificada"
@@ -1008,35 +1018,35 @@ msgstr "Configuración de notificaciones actualizada"
msgid "dashboard.notifications.password-saved"
msgstr "¡Contraseña guardada!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Ver notificaciones"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s integrantes"
-#: src/app/main/ui/dashboard/file_menu.cljs:294
+#: src/app/main/ui/dashboard/file_menu.cljs:293
msgid "dashboard.open-in-new-tab"
msgstr "Abrir en una pestaña nueva"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opciones"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Ordenar por rol"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Ordenar por estado"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:753
msgid "dashboard.organization-deleted"
msgstr "La organización %s se ha borrado."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Otros equipos"
@@ -1060,11 +1070,11 @@ msgstr "Ahora eres el dueño del equipo."
msgid "dashboard.permissions-change.viewer"
msgstr "Ahora eres lector del equipo."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Proyectos Personales"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Anclar/Desanclar"
@@ -1080,27 +1090,27 @@ msgstr "No se puede analizar el manifiest de la extensión"
msgid "dashboard.plugins.try-plugin"
msgstr "Prueba la extensión: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:786
msgid "dashboard.progress-notification.deleting-files"
msgstr "Eliminando archivos…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:907
msgid "dashboard.progress-notification.restoring-files"
msgstr "Restaurando archivos…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:787
msgid "dashboard.progress-notification.slow-delete"
msgstr "Eliminación inesperadamente lenta"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:908
msgid "dashboard.progress-notification.slow-restore"
msgstr "Restauración inesperadamente lenta"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Proyectos"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "¿Quieres borrar tu cuenta?"
@@ -1108,114 +1118,114 @@ msgstr "¿Quieres borrar tu cuenta?"
msgid "dashboard.removed-from-team"
msgstr "Ya no eres parte del equipo “%s“."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "Vas a restaurar todos tus proyectos y archivos. Esto puede tardar un poco."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Restaurar todos los proyectos y archivos"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Restaurar todo"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:967
msgid "dashboard.restore-files-success-notification"
msgstr "%s ficheros han sido restaurado correctamente."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Restaurar proyecto"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Vas a restaurar el proyecto %s y todos los archivos que contiene."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Restaurar proyecto"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:939, src/app/main/data/dashboard.cljs:966, src/app/main/data/dashboard.cljs:1003, src/app/main/ui/dashboard/file_menu.cljs:223
msgid "dashboard.restore-success-notification"
msgstr "%s ha sido restaurado correctamente."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Guardar opciones"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Buscar…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Buscando “%s“…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organizaciones"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Equipos"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "AÑADIR A UNA ORGANIZACIÓN"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Elige una organización:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" solo permite que los miembros de la organización se unan a sus "
"equipos. Cualquier invitación pendiente a personas fuera de la organización "
"será revocada."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Las invitaciones pendientes a usuarios externos serán canceladas."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Aquí encontrarás las organizaciones de las que eres parte donde tienes "
"permiso para mover el equipo."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Aquí encontrarás las organizaciones de las que eres parte donde tienes "
"permiso para crear o añadir equipos."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Elige una organización"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Añadir el equipo a una organización"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Cambiar el idioma de la interfaz"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Selecciona un tema"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Dark (por defecto)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Light"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Sistema"
@@ -1279,15 +1289,15 @@ msgstr "Actualizar configuración"
msgid "dashboard.settings.notifications.title"
msgstr "Notificaciones"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Ver todos los archivos"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Histórico de versiones"
-#: src/app/main/ui/dashboard/file_menu.cljs:129
+#: src/app/main/ui/dashboard/file_menu.cljs:128
msgid "dashboard.success-delete-file"
msgid_plural "dashboard.success-delete-file"
msgstr[0] "Tu archivo ha sido borrado con éxito"
@@ -1297,7 +1307,7 @@ msgstr[1] "Tus archivos han sido borrado con éxito"
msgid "dashboard.success-delete-project"
msgstr "Tu proyecto ha sido borrado con éxito"
-#: src/app/main/ui/dashboard/file_menu.cljs:124
+#: src/app/main/data/dashboard.cljs:553
msgid "dashboard.success-duplicate-file"
msgid_plural "dashboard.success-delete-file"
msgstr[0] "Tu archivo ha sido duplicado con éxito"
@@ -1307,11 +1317,11 @@ 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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:161, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Tu archivo ha sido movido con éxito"
-#: src/app/main/ui/dashboard/file_menu.cljs:161
+#: src/app/main/ui/dashboard/file_menu.cljs:160
msgid "dashboard.success-move-files"
msgstr "Tus archivos han sido movidos con éxito"
@@ -1319,182 +1329,182 @@ msgstr "Tus archivos han sido movidos con éxito"
msgid "dashboard.success-move-project"
msgstr "Tu proyecto ha sido movido con éxito"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s ahora pertenece a %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Información del equipo"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Integrantes del equipo"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s ya no forma parte de %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Organización del equipo"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Añadir a una organización"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "No tienes permiso para añadir este equipo a ninguna de tus organizaciones."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Cambiar el equipo de organización"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Solo se puede invitar a personas que estén dentro de tu organización."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Este equipo no pertenece a ninguna organización"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Eliminar equipo de la organización"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Proyectos del equipo"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Añadir a tu proyecto"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema visual"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Resultados de búsqueda"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Los archivos eliminados permanecerán en la papelera durante"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s días. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Después de eso, serán eliminados permanentemente."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Si cambias de opinión, puedes restaurarlos o eliminarlos permanentemente "
"desde el menú de cada archivo."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Escribe algo para buscar"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Despublicar Biblioteca"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Actualizar opciones"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:721
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Ya no perteneces a la organización %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"El renderizado WebGL puede mejorar el rendimiento, pero está en beta y "
"puede ser menos estable. Pueden aparecer diferencias visuales entre el "
"lienzo, las exportaciones (SVG/PDF) y el modo de vista."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Desactivado"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Activado"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Enviar comentarios"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Estado"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Renderizado WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Activo"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Cuando se active este webhook se enviarán detalles del evento"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Sólo puedes borrar o modificar webhooks creados por ti."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tipo de contenido"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Crear webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook creado con éxito."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Los webhooks son una forma simple de permitir notificar a otros sitios web "
"y aplicaciones cuando ocurren ciertos eventos en Penpot. Enviaremos una "
"petición POST a cada una de las URLs que indiques."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Pulsa el botón \"Crear webhook\" para añadir uno."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "No hay ningún webhook aún."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Tu cuenta"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Correo"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Tu nombre"
@@ -1510,11 +1520,11 @@ msgstr "Atención"
msgid "ds.component-subtitle"
msgstr "Componentes a actualizar:"
-#: src/app/main/ui/workspace/plugins.cljs:407, src/app/main/ui/workspace/plugins.cljs:470
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permitir"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:401, src/app/main/ui/workspace/plugins.cljs:464
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancelar"
@@ -1534,7 +1544,7 @@ msgstr "No hay tokens aplicables en sets o temas activos."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "No hay coincidencias"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Abrir lista de tokens"
@@ -1556,15 +1566,15 @@ msgstr "El proveedor de autenticación no permitido para este perfil de usuario"
msgid "errors.auth-provider-not-configured"
msgstr "Proveedor de autenticación no configurado."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:757
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "No se ha podido cargar la fuente %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "No se han podido cargar las fuentes %s"
@@ -1576,63 +1586,63 @@ msgstr "No se puede cargar el archivo multimedia."
msgid "errors.character-limit-exceeded"
msgstr "Se ha superado el límite de caracteres"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1838
msgid "errors.circular-library-reference"
msgstr "No se puede añadir la biblioteca: crearía una dependencia circular"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"La API del portapapeles no está disponible. Sirve Penpot mediante HTTPS "
"para activar el acceso al portapapeles."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Tu navegador no puede realizar esta operación"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Acceso al portapapeles denegado. Permite el acceso al portapapeles en tu "
"navegador para pegar contenido."
-#: src/app/main/errors.cljs:782
+#: src/app/main/errors.cljs:959
msgid "errors.comment-error"
msgstr "Ha habido un error con el comentario"
-#: src/app/main/errors.cljs:499
+#: src/app/main/errors.cljs:587
msgid "errors.connection-error"
msgstr ""
"No se puede conectar con el servidor. Comprueba tu conexión e inténtalo de "
"nuevo."
-#: src/app/main/errors.cljs:851
+#: src/app/main/errors.cljs:1028
msgid "errors.deprecated"
msgstr ""
"¡Lo sentimos! Este es un fichero antiguo que utiliza un tipo de recurso de "
"Penpot obsoleto, y no puedes abrirlo."
-#: src/app/main/errors.cljs:854
+#: src/app/main/errors.cljs:1031
msgid "errors.deprecated.contact.after"
msgstr "para que podamos ayudarte."
-#: src/app/main/errors.cljs:852
+#: src/app/main/errors.cljs:1029
msgid "errors.deprecated.contact.before"
msgstr "Aunque Penpot ya no da soporte a este tipo de Recursos, puedes"
-#: src/app/main/errors.cljs:853
+#: src/app/main/errors.cljs:1030
msgid "errors.deprecated.contact.text"
msgstr "contactar con nosotros"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "No se puede soltar un set padre en una ruta hija propia."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Este correo ya está en uso"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Este correo ya está validado."
@@ -1644,37 +1654,37 @@ msgstr "No puedes usar tu correo electrónico como contraseña"
msgid "errors.email-does-not-match-invitation"
msgstr "El correo no coincide con la invitación."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Dominio no permitido"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "El correo electrónico «%s» tiene varios reportes de rebote permanente."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "El email «%s» tiene reportes de spam o de rebote permanente."
-#: src/app/main/data/exports/assets.cljs
+#: src/app/main/data/exports/assets.cljs:64, src/app/main/data/exports/assets.cljs:93
msgid "errors.export-failed"
msgstr "La exportación ha fallado. Inténtalo de nuevo en un momento."
-#: src/app/main/data/exports/assets.cljs:346
+#: src/app/main/data/exports/assets.cljs:377
msgid "errors.export-too-large"
msgstr "El archivo es demasiado grande, prueba con otra escala"
-#: src/app/main/errors.cljs:974
+#: src/app/main/errors.cljs:1005
msgid "errors.feature-mismatch"
msgstr ""
"Parece que está abriendo un archivo que tiene la función '%s' habilitada, "
"pero la versión actual de penpot no la admite o la tiene deshabilitada."
-#: src/app/main/errors.cljs:832, src/app/main/errors.cljs:846
+#: src/app/main/errors.cljs:1009, src/app/main/errors.cljs:1023
msgid "errors.feature-not-supported"
msgstr "Caracteristica no soportada: '%s'."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Debe contener como máximo %s caracteres."
@@ -1682,7 +1692,7 @@ msgstr "Debe contener como máximo %s caracteres."
msgid "errors.field-min-length"
msgstr "Debe contener como mínimo 1 caracter."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Campo vacio"
@@ -1690,24 +1700,24 @@ msgstr "Campo vacio"
msgid "errors.field-not-all-whitespace"
msgstr "Debe contener algún carácter diferente de espacio."
-#: src/app/main/errors.cljs:824
+#: src/app/main/errors.cljs:1001
msgid "errors.file-feature-mismatch"
msgstr ""
"Parece que hay discordancia entre las features habilitadas y las features "
"del fichero que se esta intentando abrir. Falta aplicar migraciones para "
"'%s' antes de poder abrir el fichero."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"El nombre de la familia tipográfica solo puede contener letras, números, "
"espacios, guiones, guiones bajos y puntos."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:565, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Ha ocurrido algún error."
-#: src/app/main/errors.cljs:761
+#: src/app/main/errors.cljs:938
msgid "errors.internal-worker-error"
msgstr "Ha ocurrido un problema con el web worker."
@@ -1715,7 +1725,7 @@ msgstr "Ha ocurrido un problema con el web worker."
msgid "errors.invalid-color"
msgstr "Color no válido"
-#: src/app/plugins/utils.cljs:517, ../common/src/app/common/schema/messages.cljc:33, ../common/src/app/common/schema/messages.cljc:87
+#: src/app/plugins/utils.cljs:541, ../common/src/app/common/schema/messages.cljc:33, ../common/src/app/common/schema/messages.cljc:87
msgid "errors.invalid-data"
msgstr "Datos no válidos"
@@ -1723,7 +1733,7 @@ msgstr "Datos no válidos"
msgid "errors.invalid-email"
msgstr "Por favor, escribe un email válido"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "El correo de confirmación debe coincidir"
@@ -1759,11 +1769,11 @@ msgstr "Esta invitación puede haber sido cancelada o ha expirado."
msgid "errors.ldap-disabled"
msgstr "La autheticacion via LDAP esta deshabilitada."
-#: src/app/main/errors.cljs:840, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1017, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Ha alcalzando el maximo de la quota '%s'. Contacte con soporte tecnico."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Se ha alcanzado el número máximo (%s) de correos electrónicos que se pueden "
@@ -1783,21 +1793,21 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "Parece que no es una imagen válida."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"El perfil que esta invitando tiene los emails silenciados (por reportes de "
"spam o alto índice de rebote)."
-#: src/app/main/errors.cljs:814
+#: src/app/main/errors.cljs:991
msgid "errors.migration-in-progress"
msgstr "Migración en proceso"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:884
msgid "errors.only-creator-can-lock"
msgstr "Solo el creador de la versión puede bloquearla"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:892
msgid "errors.only-creator-can-unlock"
msgstr "Solo el creador de la versión puede desbloquearla"
@@ -1811,7 +1821,7 @@ msgstr ""
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "El dueño de la organización no puede abandonarla."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Esa organización no existe"
@@ -1823,7 +1833,7 @@ msgstr "La contraseña de confirmación debe coincidir"
msgid "errors.password-too-short"
msgstr "La contraseña debe tener 8 caracteres como mínimo"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:865
msgid "errors.paste-data-validation"
msgstr "Datos inválidos en el portapapeles"
@@ -1831,13 +1841,13 @@ msgstr "Datos inválidos en el portapapeles"
msgid "errors.profile-blocked"
msgstr "El perfil esta blockeado"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Tu perfil tiene los emails silenciados (por reportes de spam o alto índice "
"de rebote)."
-#: src/app/main/errors.cljs:724
+#: src/app/main/errors.cljs:901
msgid "errors.profile-props-too-large"
msgstr ""
"La configuración de tu perfil es demasiado grande y no se puede guardar. "
@@ -1847,35 +1857,80 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "El registro está actualmente desactivado."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:715
msgid "errors.save-failed"
msgstr ""
-"El autoguardado se ha detenido en esta sesión, así que los cambios desde el último guardado correcto no se podrán guardar. Descarga el informe para ayudarnos a arreglarlo y recarga la página, o sal de este fichero y vuelve a abrirlo, para seguir editando."
+"El autoguardado se ha detenido en esta sesión, así que los cambios desde el "
+"último guardado correcto no se podrán guardar. Descarga el informe para "
+"ayudarnos a arreglarlo y recarga la página, o sal de este fichero y vuelve "
+"a abrirlo, para seguir editando."
-#: src/app/main/errors.cljs
-msgid "errors.save-still-retrying"
+#: src/app/main/errors.cljs:706
+msgid "errors.save-permission-lost"
+msgid_plural "errors.save-permission-lost"
+msgstr[0] ""
+"Ya no puedes editar este archivo, así que 1 cambio no se ha podido guardar. "
+"Recarga la página para ver el archivo como está ahora."
+msgstr[1] ""
+"Ya no puedes editar este archivo, así que %s cambios no se han podido "
+"guardar. Recarga la página para ver el archivo como está ahora."
+
+#: src/app/main/data/persistence.cljs:701
+msgid "errors.save-rejected-changes-undone"
msgstr ""
-"Tus cambios aún no se han guardado porque Penpot no puede conectar con el servidor. Se conservan y Penpot seguirá intentando guardarlos. Mantén esta pestaña abierta hasta que se guarden."
+"Algunos cambios no se han podido guardar, así que se han deshecho tus "
+"últimos cambios."
-#: src/app/main/data/persistence.cljs:307
+#: src/app/main/data/persistence.cljs:686
+msgid "errors.save-rejected-changes-undone-in-file"
+msgstr ""
+"Algunos cambios en «%s» no se han podido guardar, así que se han deshecho "
+"tus últimos cambios en ese archivo."
+
+#: src/app/main/data/persistence.cljs:696
+msgid "errors.save-rejected-damaged-data"
+msgstr ""
+"Esta página tiene datos dañados que no se pueden reparar automáticamente, "
+"así que sus cambios no se pueden guardar y se han deshecho. Contacta con "
+"soporte."
+
+#: src/app/main/data/persistence.cljs:609
msgid "errors.save-retrying"
msgstr "Se ha perdido la conexión. Reintentando guardar los cambios."
-#: src/app/main/errors.cljs:773
+#: src/app/main/data/persistence.cljs:608
+msgid "errors.save-retrying-busy"
+msgstr "El servidor está ocupado. Reintentando guardar tus cambios."
+
+#: src/app/main/errors.cljs:697
+msgid "errors.save-still-retrying"
+msgstr ""
+"Tus cambios aún no se han guardado porque Penpot no puede conectar con el "
+"servidor. Se conservan y Penpot seguirá intentando guardarlos. Mantén esta "
+"pestaña abierta hasta que se guarden."
+
+#: src/app/main/errors.cljs:696
+msgid "errors.save-still-retrying-busy"
+msgstr ""
+"Tus cambios aún no se han guardado porque el servidor está ocupado. Se "
+"conservan y Penpot seguirá intentando guardarlos. Mantén esta pestaña "
+"abierta hasta que se guarden."
+
+#: src/app/main/errors.cljs:950
msgid "errors.svg-parser.invalid-svg"
msgstr "El SVG no es válido o está mal formado"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:996
msgid "errors.team-feature-mismatch"
msgstr "Detectada funcionalidad incompatible '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"No hay miembros suficientes para salir del equipo, probablemente quieras "
"borrarlo."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "El integrante que intentas designar no existe."
@@ -1883,7 +1938,7 @@ msgstr "El integrante que intentas designar no existe."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Sólo puede borrar un equipo su propietario."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"El propietario no puede salir del equipo, tienes que asignar la propiedad a "
@@ -1899,13 +1954,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Ya existe un set con el mismo nombre"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
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/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Ya existe un theme con este nombre"
@@ -1917,7 +1972,7 @@ msgstr "El tema referencia sets que no existen: %s"
msgid "errors.tokens.circular-reference"
msgstr "El token tiene una referencia circular"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"El Line Height depende del Font Size. Añade un Font Size para obtener el "
@@ -1927,7 +1982,7 @@ msgstr ""
msgid "errors.tokens.division-by-zero"
msgstr "Valor de token no válido: división por cero"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Este campo no puede estar vacío"
@@ -1955,11 +2010,11 @@ msgstr "Valor de token no válido: las unidades %s no se pueden combinar"
msgid "errors.tokens.invalid-color"
msgstr "Valor de color inválido: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Valor de token no válido: solo puedes referenciar tokens tipo font-family"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valor de peso de fuente inválido: usa valores numéricos (100-950) o nombres "
@@ -1981,39 +2036,39 @@ msgstr ""
"Los nombres de token solo pueden contener letras y dígitos separados por "
"caracteres . y no pueden empezar con un signo $."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Tipo de sombra no válida: solo se aceptan 'innerShadow' o 'dropShadow'"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valor de token no válido: solo se aceptan none, Uppercase, Lowercase o "
"Capitalize."
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Valor de token no válido: solo none, underline y strike-through son "
"aceptados"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Valor no válido: debe hacer referencia a un token de sombra compuesto."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Valor no válido: debe hacer referencia a un token tipográfico compuesto."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valor de token no válido: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Referencias de tokens no encontradas: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "El grupo de %s colisiona con un token del mismo nombre en otro set activo."
@@ -2025,23 +2080,23 @@ msgstr "No se han encontrado tokens, sets o temas en este archivo."
msgid "errors.tokens.number-too-large"
msgstr "Valor de token no valido. El valor resuelto es muy grande: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "La opacidad debe estar entre 0 y 100% o 0 y 1 (p.e. 50% o 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "El token tiene una autoreferencia"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "El desenfoque (blur) de la sombra debe ser mayor o igual a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "La extensión (spread) de la sombra debe ser mayor o igual a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Stroke width debe ser mayor o igual a 0."
@@ -2049,11 +2104,11 @@ msgstr "Stroke width debe ser mayor o igual a 0."
msgid "errors.tokens.unknown-function"
msgstr "Valor de token no válido: función desconocida %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valor no válido: no se permite %."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valor no válido: No se permiten unidades."
@@ -2061,19 +2116,19 @@ msgstr "Valor no válido: No se permiten unidades."
msgid "errors.unexpected-error"
msgstr "Ha ocurrido un error inesperado."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token desconocido"
-#: src/app/main/errors.cljs:732
+#: src/app/main/errors.cljs:909
msgid "errors.version-already-locked"
msgstr "Esta versión ya está bloqueada"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:876
msgid "errors.version-locked"
msgstr "Esta versión está bloqueada y otras personas no pueden eliminarla"
-#: src/app/main/errors.cljs:836
+#: src/app/main/errors.cljs:1013
msgid "errors.version-not-supported"
msgstr "El fichero tiene un número de versión incompatible"
@@ -2106,39 +2161,39 @@ msgstr "Al menos 1 letra mayúscula"
msgid "errors.weak-password.too-short"
msgstr "Al menos 8 caracteres"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL ha dejado de funcionar. Por favor, recarga la página para restaurarlo"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Ups! Se ha perdido el contexto del canvas"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Error de conexion, la url no es alcanzable"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "La URL no pasa la validación."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Hubo un problema en el último envío."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Error en la validación SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Error inesperado al validar"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Estado inesperado %s"
@@ -2158,17 +2213,17 @@ msgstr "Descripción"
msgid "feedback.description-placeholder"
msgstr "Describe el motivo de tu comentario"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Estamos encantados de tenerte por aquí. Si necesitas ayuda, busca, escribe "
"o pregunta lo que necesites."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Comunidad de Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Otras formas de contactarnos"
@@ -2193,11 +2248,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contáctanos"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Cuenta habilitada para responder todas tus dudas técnicas."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Cuenta de X para soporte"
@@ -2217,89 +2272,91 @@ msgstr "Idea"
msgid "feedback.type.issue"
msgstr "Problema"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:392
+msgid "files-download-modal.unsaved-changes"
+msgstr ""
+"Algunos de tus últimos cambios aún no se han guardado, así que esta "
+"descarga no los incluirá."
+
+#: src/app/main/ui/exports/files.cljs:467
msgid "files-export-modal.cancel-export"
msgstr "Cancelar exportación"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:471
msgid "files-export-modal.done"
msgstr "Listo"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:210
msgid "files-export-modal.export-error"
msgstr "No se ha podido exportar: %s"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:246
msgid "files-export-modal.exported.message"
msgstr "Revisa tu carpeta de descargas."
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:239
msgid "files-export-modal.exported.title"
msgid_plural "files-export-modal.exported.title"
msgstr[0] "1 archivo exportado"
msgstr[1] "%s archivos exportados"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:245
msgid "files-export-modal.exporting.message"
msgstr "Cada archivo se descarga en cuanto está listo."
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:238
msgid "files-export-modal.exporting.title"
msgid_plural "files-export-modal.exporting.title"
msgstr[0] "Exportando 1 archivo"
msgstr[1] "Exportando %s archivos"
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr ""
"Las recursos de las bibliotecas compartidas no se incluirán en la "
"exportación."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Tratar los recursos como objetos básicos"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Los ficheros con librerias compartidas se inclurán en el paquete de "
"exportación y mantendrán los enlaces."
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Exportar archivo + librerías"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr "Al importar, podrás vincular bibliotecas existentes con el mismo nombre."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Vincular librerías al importar"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"Tu fichero será exportado con todos los recursos externos dentro de la "
"libreria del propio fichero."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Incluir librerias compartidas dentro de las librerias del fichero"
-#: src/app/main/ui/exports/files.cljs
-msgid "files-download-modal.unsaved-changes"
-msgstr "Algunos de tus últimos cambios aún no se han guardado, así que esta descarga no los incluirá."
-
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:179
msgid "files-export-modal.status.exported"
msgstr "Exportado"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:186
msgid "files-export-modal.status.waiting"
msgstr "En espera"
-#: src/app/main/ui/exports/files.cljs
+#: src/app/main/ui/exports/files.cljs:381
msgid "files-export-modal.title"
msgstr "Exportar archivo"
@@ -2307,7 +2364,7 @@ msgstr "Exportar archivo"
msgid "generic.error"
msgstr "Ha ocurrido un error"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Importar"
@@ -2323,7 +2380,7 @@ msgstr "Importar atajos"
msgid "import-shortcuts.imported"
msgstr "Importado"
-#: src/app/main/ui/settings/shortcuts.cljs:460, src/app/main/ui/settings/shortcuts.cljs:462
+#: src/app/main/ui/settings/shortcuts.cljs:511, src/app/main/ui/settings/shortcuts.cljs:513
msgid "import-shortcuts.invalid-file"
msgstr "Este archivo no es una exportación de atajos válida."
@@ -2333,7 +2390,9 @@ msgstr "No se encontraron diferencias entre los atajos actuales y los importados
#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:153
msgid "import-shortcuts.skipped-entries"
-msgstr "Estas entradas no se pueden importar: no corresponden a ningún atajo de Penpot o usan una combinación reservada."
+msgstr ""
+"Estas entradas no se pueden importar: no corresponden a ningún atajo de "
+"Penpot o usan una combinación reservada."
#: src/app/main/ui/components/color_input.cljs:31
msgid "inspect.attributes.color"
@@ -2367,7 +2426,7 @@ msgstr "Previsualización de la imagen de relleno"
msgid "inspect.attributes.shadow"
msgstr "Sombra"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Tamaño y posición"
@@ -2379,27 +2438,27 @@ msgstr "Borde"
msgid "inspect.attributes.typography"
msgstr "Tipografía"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Familia tipográfica"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Tamaño de fuente"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Estilo de fuente"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Espaciado de letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Interlineado"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Varias Familias tipográficas"
@@ -2415,11 +2474,11 @@ msgstr "Tachado"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Subrayar"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Primera en mayúscula"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minúsculas"
@@ -2431,7 +2490,7 @@ msgstr "Ninguna"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Sin asignar"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Mayúsculas"
@@ -2443,7 +2502,7 @@ msgstr "Propiedades de la variante"
msgid "inspect.attributes.variants"
msgstr "Propiedades de las variantes"
-#: src/app/main/ui/inspect/code.cljs:315, src/app/main/ui/inspect/code.cljs:358
+#: src/app/main/ui/inspect/code.cljs:322, src/app/main/ui/inspect/code.cljs:365
msgid "inspect.code.expand-panel"
msgstr "Expandir panel"
@@ -2561,23 +2620,23 @@ msgstr "Valor resuelto:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Propiedades de las variantes"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Crear nuevo token de acceso"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Pulsa el botón \"Crear nuevo token de acceso\" para generar uno."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Todavía no tienes ningún token."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Tokens de acceso personales"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Los tokens de acceso personales funcionan como una alternativa a nuestro "
@@ -2662,53 +2721,53 @@ msgstr "La clave MCP expirará el %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "La clave MCP no tiene fecha de expiración"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"El servidor MCP de Penpot permite que los clientes MCP interactúen "
"directamente con los archivos de diseño de Penpot."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Cómo configurar clientes MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Esta es la URL del servidor que necesitarás configurar en tu cliente MCP "
"para conectarlo al servidor MCP de Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Regenerar clave MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "Clave MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "La clave MCP es necesaria para la configuración del cliente MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Estado"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Deshabilitado"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Habilitado"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"La clave MCP utilizada para conectarse al servidor MCP ha expirado. Como "
"resultado, no se puede establecer la conexión."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Por favor, regenera la clave MCP y actualiza la configuración de tu cliente "
@@ -2718,10 +2777,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "Servidor MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Nombre"
@@ -2772,7 +2827,7 @@ msgstr "Regenerar clave MCP"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "Clave MCP regenerada"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Integraciones"
@@ -2790,11 +2845,11 @@ msgstr "El token expirará el %s"
msgid "integrations.token.will-not-expire"
msgstr "El token no tiene fecha de expiración"
-#: src/app/main/ui/exports/files.cljs:111
+#: src/app/main/ui/exports/files.cljs:223
msgid "jobs.export-cancelled"
msgstr "Exportación cancelada"
-#: src/app/main/data/imports.cljs:259
+#: src/app/main/data/imports.cljs:376
msgid "jobs.import-cancelled"
msgstr "Importación cancelada"
@@ -2846,7 +2901,7 @@ msgstr "Procesando tokens"
msgid "jobs.progress.stage.typographies"
msgstr "Procesando tipografías"
-#: src/app/main/ui/jobs/progress.cljs:33
+#: src/app/main/ui/jobs/progress.cljs:34
msgid "jobs.progress.stage.unknown"
msgstr "Trabajando"
@@ -2855,50 +2910,51 @@ msgid "jobs.progress.stage.upload"
msgstr "Subiendo archivo…"
#: src/app/main/ui/dashboard/import.cljs:328, src/app/main/ui/exports/files.cljs:103
+#, unused
msgid "jobs.queued"
msgstr "Esperando hueco para el job"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Marcar todo como leído"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Atajos de teclado"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Acerca de Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Aceptar"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Activo"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Añadir"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Añadir fuente personalizada"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Añadiendo..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administración"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Todo"
@@ -2906,17 +2962,17 @@ msgstr "Todo"
msgid "labels.and"
msgstr "y"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Volver"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Parece que necesitas esperar un poco y volverlo a intentar; estamos "
"realizando operaciones de mantenimiento en nuestros servidores."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Error del servidor (Bad Gateway)"
@@ -2928,23 +2984,23 @@ msgstr "Desenfoque"
msgid "labels.blur-effects"
msgstr "Efectos de desenfoque"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancelar"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Comprobar actualizaciones"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Comprobando actualizaciones..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Cerrar"
@@ -2952,7 +3008,7 @@ msgstr "Cerrar"
msgid "labels.code"
msgstr "Código"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Colapsar"
@@ -2964,15 +3020,15 @@ msgstr "Color"
msgid "labels.comment"
msgstr "Comentario"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentarios"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Comunidad"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Comunidad y contribuciones"
@@ -2984,19 +3040,19 @@ msgstr "Calculado"
msgid "labels.confirm-password"
msgstr "Confirmar contraseña"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contacta con soporte"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contáctanos"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:234, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuar"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Puedes continuar con una cuenta de Penpot"
@@ -3008,23 +3064,23 @@ msgstr "Copiar"
msgid "labels.copy-color"
msgstr "Copiar color"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copiar enlace"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "© Kaleidos, 2019-presente"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Crear"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Crea un nuevo equipo"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Introduce un nuevo nombre de equipo"
@@ -3032,7 +3088,7 @@ msgstr "Introduce un nuevo nombre de equipo"
msgid "labels.current"
msgstr "Valor Actual"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Panel"
@@ -3040,7 +3096,7 @@ msgstr "Panel"
msgid "labels.default"
msgstr "Valor por defecto"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:334, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:263, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Borrar"
@@ -3052,43 +3108,43 @@ msgstr "Eliminar comentario"
msgid "labels.delete-comment-thread"
msgstr "Eliminar hilo"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Eliminar invitation"
-#: src/app/main/ui/dashboard/file_menu.cljs:289
+#: src/app/main/ui/dashboard/file_menu.cljs:288
msgid "labels.delete-multi-files"
msgstr "Borrar %s archivos"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "¿Seguro que quieres eliminar tu foto de perfil?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Eliminar foto de perfil"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Eliminados"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Desarrollo"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Descartar"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:560, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Descargar %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Descargar"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Borradores"
@@ -3096,23 +3152,23 @@ msgstr "Borradores"
msgid "labels.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editar"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Edición"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Vacío"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Error"
-#: src/app/main/data/workspace/versions.cljs:314
+#: src/app/main/data/workspace/versions.cljs:332
msgid "labels.exit"
msgstr "Salir"
@@ -3120,11 +3176,11 @@ msgstr "Salir"
msgid "labels.expand"
msgstr "Expandir"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expirada"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportar"
@@ -3136,7 +3192,7 @@ msgstr "El modulo de recepción de opiniones esta deshabilitado"
msgid "labels.feedback-sent"
msgstr "Opinión enviada"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -3144,63 +3200,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Relleno"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex layout"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Familia de fuente"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Estilos"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fuentes"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositorio de Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Danos tu opinión"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Volver"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Diseño gráfico"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Grid layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centro de ayuda"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Ayuda y aprendizaje"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Ocultar"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ocultar comentarios resueltos"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importar"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactivo"
@@ -3208,61 +3264,61 @@ msgstr "Inactivo"
msgid "labels.info"
msgstr "Información"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fuentes instaladas"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Integraciones"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Ha ocurrido algo extraño."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Puedes reintentar la operación o contacta con soporte para reportar el "
"error."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Error interno"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitaciones"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Idioma"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centro de aprendizaje"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotecas y Plantillas"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:133
msgid "labels.loading"
msgstr "Cargando…"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:251
+#: src/app/main/ui/workspace/sidebar/versions.cljs:257
msgid "labels.lock"
msgstr "Bloquear"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Entra o regístrate"
@@ -3270,19 +3326,19 @@ msgstr "Entra o regístrate"
msgid "labels.login"
msgstr "Entrar"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Salir"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Integrante"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Integrantes"
@@ -3294,43 +3350,43 @@ msgstr "Mencionar"
msgid "labels.new-password"
msgstr "Nueva contraseña"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Siguiente"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"Esta instancia requiere un paso de configuración que se incluye en la "
"versión más reciente."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Echa un vistazo a nuestra"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot no puede iniciarse aún."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "technical guide"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot no está disponible temporalmente debido a un problema del sistema. "
"Por favor, inténtalo de nuevo en unos momentos."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "¡Ya estás al día! Nuevas notificaciones de comentarios aparecerán aquí."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "No hay invitaciones pendientes."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Reúne a tu gente y construid juntos grandes cosas."
@@ -3338,27 +3394,27 @@ msgstr "Reúne a tu gente y construid juntos grandes cosas."
msgid "labels.no-matches"
msgstr "No hay coincidencias"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "¡Uy!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notificaciones"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 archivo"
msgstr[1] "%s archivos"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tablero"
msgstr[1] "%s tableros"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 proyecto"
@@ -3368,43 +3424,43 @@ msgstr[1] "%s proyectos"
msgid "labels.old-password"
msgstr "Contraseña anterior"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Abrir"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opciones"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Otra (especifica)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Otra"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Propiedad"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Contraseña"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pendiente"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Registro de cambios de Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Proyectos fijados"
@@ -3412,31 +3468,31 @@ msgstr "Proyectos fijados"
msgid "labels.post"
msgstr "Publicar"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Anterior"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Diseño de Producto o UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestión de Productos"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Perfil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Proyectos"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Recientes"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referencia"
@@ -3444,27 +3500,27 @@ msgstr "Referencia"
msgid "labels.refresh"
msgstr "Recargar"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notas de versión"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:666, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Recargar página"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Quitar"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Eliminar integrante"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:297, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:234, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Renombrar"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Renombra el equipo"
@@ -3488,55 +3544,55 @@ msgstr "nueva respuesta"
msgid "labels.reply.thread"
msgstr "Responder"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Reenviar"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Reenviar invitacion"
-#: src/app/main/data/workspace/versions.cljs:246, src/app/main/data/workspace/versions.cljs:319, src/app/main/ui/workspace/sidebar/versions.cljs:238
+#: src/app/main/data/workspace/versions.cljs:260, src/app/main/data/workspace/versions.cljs:337, src/app/main/ui/workspace/sidebar/versions.cljs:244
msgid "labels.restore"
msgstr "Restaurar"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Reintentar"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Guardar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Buscar"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Buscar fuente"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Selecciona una opción"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Enviar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Enviando…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Estamos en una operación de mantenimiento programado de nuestros sistemas."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "El servicio no está disponible"
@@ -3544,74 +3600,74 @@ msgstr "El servicio no está disponible"
msgid "labels.sets"
msgstr "Sets"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configuración"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Sombra"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Compartir"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotecas"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Mostrar"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Mostrar todos los comentarios"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Mostrar lista de comentarios"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Mostrar sólo tus menciones"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Mostrar sólo tus comentarios"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/import.cljs:703
+#: src/app/main/ui/dashboard/import.cljs:808
msgid "labels.skip"
msgstr "Saltar"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Recursos"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"El inicio de sesión con el proveedor de identidad de tu organización no se "
"completó. Es posible que el proveedor no esté disponible o que tu cuenta "
"aún no esté en su directorio."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Intentar de nuevo"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "No pudimos iniciar sesión en %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Comenzar"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
@@ -3619,7 +3675,7 @@ msgstr "Status"
msgid "labels.stroke"
msgstr "Borde"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Estudiante o profesor"
@@ -3631,11 +3687,11 @@ msgstr "Estilos"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Intercambiar"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
msgid "labels.team-management"
msgstr "Gestión de equipos"
@@ -3643,55 +3699,55 @@ msgstr "Gestión de equipos"
msgid "labels.text"
msgstr "Texto"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Temas"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriales"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Tipografía"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Error desconocido"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:245
+#: src/app/main/ui/workspace/sidebar/versions.cljs:251
msgid "labels.unlock"
msgstr "Desbloquear"
-#: src/app/main/ui/dashboard/file_menu.cljs:283
+#: src/app/main/ui/dashboard/file_menu.cljs:282
msgid "labels.unpublish-multi-files"
msgstr "Despublicar %s archivos"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Actualizar"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Actualiza el equipo"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Cargar"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Cargar fuente"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Subiendo…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variante"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Notas versión %s"
@@ -3699,7 +3755,7 @@ msgstr "Notas versión %s"
msgid "labels.view-only"
msgstr "Solo lectura"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Lector"
@@ -3713,7 +3769,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s aviso"
msgstr[1] "%s avisos"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3721,11 +3777,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Escribir un nuevo comentario"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(tú)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Tu cuenta"
@@ -3815,6 +3871,16 @@ msgstr ""
msgid "loader.tips.10.title"
msgstr "Soporte de Plugins"
+#: src/app/main/ui/mcp_authorize.cljs:155
+msgid "mcp.oauth.access"
+msgstr ""
+"Este cliente puede leer y modificar diseños mediante conexiones MCP "
+"establecidas desde Penpot."
+
+#: src/app/main/ui/mcp_authorize.cljs:133
+msgid "mcp.oauth.cancelled"
+msgstr "Conexión cancelada"
+
#: src/app/main/ui/workspace/colorpicker.cljs:494
msgid "media.choose-image"
msgstr "Elegir imagen"
@@ -3870,7 +3936,7 @@ msgstr ""
"Eres el único miembro de algunos equipos. Esos equipos se van a borrar, "
"junto con sus proyectos y ficheros."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "ANTES DE ABANDONAR LA ORGANIZACIÓN"
@@ -3878,78 +3944,78 @@ msgstr "ANTES DE ABANDONAR LA ORGANIZACIÓN"
msgid "modals.before-leave-organization.warning"
msgstr "Se van a borrar todos los equipos en los que eres el único miembro."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Máximo"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verificar el nuevo correo"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "Enviaremos un mensaje a tu correo actual “%s” para verificar tu identidad."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nuevo correo"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Cambiar correo"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Cambiar tu correo"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Crear webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Crear webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Cancelar y mantener mi cuenta"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Si, borrar mi cuenta"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Si borras tu cuenta perderás todos tus proyectos y archivos."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Esta acción es irreversible. Tu cuenta, suscripción y organizaciones se "
"eliminarán inmediatamente. También perderás el acceso a tus proyectos y "
"archivos actuales."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organizaciones que se eliminarán"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s miembros"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s equipos"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "¿Seguro que quieres borrar tu cuenta?"
@@ -3985,47 +4051,47 @@ msgstr "¿Seguro que quieres borrar esta nota?"
msgid "modals.delete-component-annotation.title"
msgstr "Borrar nota"
-#: src/app/main/ui/dashboard/file_menu.cljs:155
+#: src/app/main/ui/dashboard/file_menu.cljs:154
msgid "modals.delete-file-confirm.accept"
msgstr "Borrar archivo"
-#: src/app/main/ui/dashboard/file_menu.cljs:154
+#: src/app/main/ui/dashboard/file_menu.cljs:153
msgid "modals.delete-file-confirm.message"
msgstr "¿Seguro que quieres borrar este archivo?"
-#: src/app/main/ui/dashboard/file_menu.cljs:153
+#: src/app/main/ui/dashboard/file_menu.cljs:152
msgid "modals.delete-file-confirm.title"
msgstr "Borrando archivo"
-#: src/app/main/ui/dashboard/file_menu.cljs:149
+#: src/app/main/ui/dashboard/file_menu.cljs:148
msgid "modals.delete-file-multi-confirm.accept"
msgstr "Borrar archivos"
-#: src/app/main/ui/dashboard/file_menu.cljs:148
+#: src/app/main/ui/dashboard/file_menu.cljs:147
msgid "modals.delete-file-multi-confirm.message"
msgstr "¿Seguro que quieres borrar %s archivos?"
-#: src/app/main/ui/dashboard/file_menu.cljs:147
+#: src/app/main/ui/dashboard/file_menu.cljs:146
msgid "modals.delete-file-multi-confirm.title"
msgstr "Borrando %s archivos"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Eliminando estilo de fuente"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Eliminando fuente"
@@ -4035,19 +4101,19 @@ msgstr ""
"¿Estás seguro de que deseas eliminar este equipo que forma parte de la "
"organización %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "¿Seguro que quieres borrar esta página?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Borrar página"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "¿Seguro que quieres borrar las páginas seleccionadas?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Borrar páginas"
@@ -4063,31 +4129,31 @@ msgstr "¿Seguro que quieres eliminar este proyecto?"
msgid "modals.delete-project-confirm.title"
msgstr "Eliminar proyecto"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Borrar archivo"
msgstr[1] "Borrar archivos"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "No está activa en ningún fichero."
msgstr[1] "No están activas en ningún fichero."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Esta biblioteca está activa aquí: "
msgstr[1] "Estas bibliotecas están activas aquí: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "¿Seguro que quieres borrar este archivo?"
msgstr[1] "¿Seguro que quieres borrar estos archivos?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Borrando archivo"
@@ -4107,19 +4173,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Eliminando equipo"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Eliminando miembro"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "¿Seguro que quieres eliminar este integrante del equipo?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Eliminar integrante del equipo"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -4129,23 +4195,23 @@ msgstr[1] ""
"Los elementos que hayan sido utilizados en esos archivos permanecerán allí "
"(¡ningún diseño se romperá!)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Borrar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "¿Seguro que quieres borrar este webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Borrando webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Modificar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Modificar webhook"
@@ -4161,15 +4227,15 @@ msgstr "Importar tokens"
msgid "modals.import-library-tokens.title"
msgstr "¿Importar tokens de la biblioteca?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Enviar invitacion"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Emails, separados por coma"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Algunas direcciones de correo ya se encuentran entre los miembros. Estas "
@@ -4193,99 +4259,99 @@ msgstr ""
"todas esas personas ya son miembros del equipo. Si necesitas más "
"información, contacta con la persona propietaria de la organización."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Direcciones que no recibirán una invitación"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Cancelar"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Solo se puede invitar a miembros existentes de la organización."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Enviar invitaciones"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Algunas invitaciones no se pueden enviar"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Algunas personas de tu lista no recibirán las invitaciones."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Puedes invitar miembros al equipo para que puedan acceder a este fichero y "
"a todos los demás ficheros del equipo."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Invitar a miembros al equipo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Al ser la única persona integrante de este equipo, el equipo será eliminado "
"junto con sus proyectos y archivos."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "¿Seguro que quieres abandonar el equipo %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"No puede abandonar el equipo si no hay otro miembro al que promocionar a "
"dueño. Quizás quiere borrar el equipo."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Tienes la propiedad de este equipo. Por favor selecciona otra persona "
"integrante para promover al rol Propiedad."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promocionar y abandonar"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Selecciona un miembro a promocionar"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Antes de que abandones"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Abandonar el equipo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "¿Seguro que quieres abandonar este equipo?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Abandonando el equipo"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Tienes la propiedad de algunos equipos de esta organización. Por favor "
"selecciona otra persona integrante para promover al rol Propiedad."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Eres el único miembro de algunos equipos. Esos equipos se van a borrar, "
"junto con sus proyectos y ficheros."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Además, tienes la propiedad de algunos equipos de esta organización. Por "
@@ -4305,57 +4371,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "¿Abandonando la organización %s?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Mover"
msgstr[1] "Mover"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "¿Seguro que quieres mover esta biblioteca?"
msgstr[1] "¿Seguro que quieres mover estas bibliotecas?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Mover biblioteca"
msgstr[1] "Mover bibliotecas"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Desplazamiento"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transferir propiedad"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Si transfieres la propiedad, tu rol cambiará a Administración, perdiendo "
"algunos permisos sobre este equipo. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Tienes la propiedad de este equipo. ¿Seguro que quieres transferir la "
"propiedad del equipo a %s?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nueva propiedad del equipo"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publicar"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Tu biblioteca está vacía. ¿Seguro que quieres publicarla?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publicar biblioteca vacía"
@@ -4377,23 +4443,23 @@ msgstr "¿Estás seguro de que quieres eliminar el equipo %s de la organización
msgid "modals.remove-team-organization.title"
msgstr "ELIMINAR EQUIPO DE LA ORGANIZACIÓN"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Mínimo"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Despublicar"
msgstr[1] "Despublicar"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "¿Seguro que quieres despublicar esta biblioteca?"
msgstr[1] "¿Seguro que quieres despublicar estas bibliotecas?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Despublicar biblioteca"
@@ -4483,38 +4549,38 @@ msgstr "Activar"
msgid "nitrate.code-activation.title"
msgstr "Activar Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Contactar con ventas"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Para cambiar a este plan, contacta con nuestro equipo de ventas. Te "
"ayudaremos a actualizar tu suscripción y a asegurarnos de que todo esté "
"configurado correctamente."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Tu organización será eliminada."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Tu almacenamiento total, el historial de versiones automático y el período "
"de recuperación de archivos serán limitados."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Los equipos, proyectos y archivos dejarán de pertenecer a la organización "
"pero seguirán disponibles."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Al bajar de plan:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "¿Cambiar al plan %s?"
@@ -4532,17 +4598,17 @@ msgstr "Contáctanos para probar Enterprise durante 14 días:"
msgid "nitrate.form.contact-upgrade"
msgstr "Contáctanos para actualizar a Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr ""
"Ponte en contacto con nosotros para probar el plan Enterprise durante 14 "
"días:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Ponte en contacto con nosotros para actualizar al plan Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"No se te cobrará nada ahora. El pago se procesará al finalizar el período "
@@ -4562,7 +4628,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "Total libertad open-source, con la gobernanza que tu organización necesita"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Todo lo que tus equipos necesitan para trabajar de forma segura a escala%s"
@@ -4570,7 +4636,7 @@ msgstr "Todo lo que tus equipos necesitan para trabajar de forma segura a escala
msgid "nitrate.form.enterprise.price"
msgstr "por miembro al mes"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Pruébalo gratis durante 14 días"
@@ -4586,7 +4652,7 @@ msgstr "Empieza a utilizar Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "Suscribete con un código de activación"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Desbloquea las funciones Enterprise"
@@ -4598,7 +4664,7 @@ msgstr "Pruébalo gratis durante 14 días"
msgid "nitrate.modal-success.title"
msgstr "¡Bienvenido a Enterprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Activo hasta el %s"
@@ -4606,25 +4672,25 @@ msgstr "Activo hasta el %s"
msgid "nitrate.subscription.renew-success"
msgstr "Tu suscripción de Enterprise se ha renovado."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Cancelar subscripción"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr ""
"Para cancelar tu suscripción a Enterprise, ponte en contacto con nosotros "
"en:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Renovar con código de activación"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Esta página no existe"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Error 404"
@@ -4642,11 +4708,11 @@ msgstr "Hemos enviado un email de recuperación a"
msgid "not-found.login.sent-recovery-check"
msgstr "Revisa tu correo y haz clic en el enlace para crear una nueva contraseña."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Regístrate gratis"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "¡Y comienza a usar Penpot en segundos!"
@@ -4654,67 +4720,67 @@ msgstr "¡Y comienza a usar Penpot en segundos!"
msgid "not-found.made-with-love"
msgstr "Hecho con AMOR y Software Libre"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Ya has solicitado acceso a este archivo."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Ya has solicitado acceso a este archivo o a otros archivos o proyectos del "
"mismo equipo."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Ya has solicitado acceso a este proyecto o a otros proyectos o archivos del "
"mismo equipo."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Ya has solicitado acceso a este proyecto."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "SOLICITAR ACCESO"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Recuerda que, si el propietario la aprueba, entrarás en el equipo."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "¡Tu solicitud se ha enviado correctamente!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "No tienes permiso para acceder a este archivo."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Ir a tus Proyectos Personales"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Si el propietario lo aprueba, te invitará al equipo."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Archivo de Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "No tienes permiso para acceder a este proyecto."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROYECTO"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Para acceder a este archivo, puedes pedir permiso al propietario del equipo."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr ""
"Para acceder a este proyecto, puedes pedir permiso al propietario del "
@@ -4730,31 +4796,31 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Una nueva versión está disponible."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Esta invitación ya no está disponible."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invitación eliminada con éxito"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invitación enviada con éxito"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Enlace de invitacion copiado"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "No puedes borrar tu perfil. Reasigna tus equipos antes de seguir."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Perfil guardado correctamente!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verificación de email enviada a %s. Comprueba tu correo."
@@ -4792,7 +4858,7 @@ msgstr "Nombre del equipo"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Crear equipo"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Invitar integrantes"
@@ -4802,98 +4868,98 @@ msgstr ""
"Personas de desarrollo, diseño, gestión... todo el mundo es bienvenido. "
"Podrás invitar a más gente posteriormente."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Invitar con el rol:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "¡Empecemos!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generando código a partir de diseños"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Creando sistemas de diseño"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipado"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Diseñando el UX/UI de una aplicación"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "¿Para qué utilizarás Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Cuéntanos un poco sobre tí para ayudarnos a que Penpot se adapte mejor a "
"tí. Tus respuestas nos ayudarán a priorizar nuevas funcionalidades y a "
"saber cómo podemos acompañarte mejor."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Ayúdanos a conocerte"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "¿Cuál de estas herramientas utilizas más?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "¿Qué tipo de trabajo haces?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "¿Cuál es el tamaño de tu empresa?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "¿Por dónde te apetecería empezar?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1001 - 5000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Sólo yo"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Educación"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personal"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Trabajo"
@@ -4943,15 +5009,15 @@ msgstr "Empezar a diseñar"
msgid "options.deleted-token-with-name"
msgstr "El token {%s} no existe o ha sido borrado."
-#: src/app/plugins/utils.cljs:555
+#: src/app/plugins/utils.cljs:579
msgid "plugins.validation.invalid-value"
msgstr "esperado %s, obtenido %s (%s)"
-#: src/app/plugins/utils.cljs:569
+#: src/app/plugins/utils.cljs:593
msgid "plugins.validation.message"
msgstr "El campo %s no es válido: %s"
-#: src/app/plugins/utils.cljs:558
+#: src/app/plugins/utils.cljs:582
msgid "plugins.validation.received-value"
msgstr "obtenido %s (%s)"
@@ -4975,11 +5041,11 @@ msgstr "Restablecer todos los atajos por defecto"
msgid "restore-shortcuts.restore"
msgstr "Restablecer"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Desvincular"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Varios"
@@ -4991,35 +5057,35 @@ msgstr "Eliminar color"
msgid "settings.select-this-color"
msgstr "Seleccionar elementos que usan este estilo"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Añadir comentarios"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Alinear abajo"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Alinear al centro horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Alinear a la izquierda"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Alinear a la derecha"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Alinear arriba"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Alinear al centro verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Crear tablero desde la selección"
@@ -5027,55 +5093,55 @@ msgstr "Crear tablero desde la selección"
msgid "shortcuts.bold"
msgstr "Alternar negrita"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Diferencia"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusión"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Interescción"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Unión"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Enviar detrás"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Enviar al fondo"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Mover al frente"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Mover hacia adelante"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Limpiar historial"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copiar"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copiar enlace"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copiar propiedades"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Crear componente / variante"
@@ -5083,63 +5149,63 @@ msgstr "Crear componente / variante"
msgid "shortcuts.create-new-project"
msgstr "Crear nuevo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Cortar"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Reducir zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Borrar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Borrar nodo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Borrar nodo y segmentos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Deseleccionar todo"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Desvincular componente"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Deshabilitar atajo"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Deshabilitado"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Atajo deshabilitado"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Flecha"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tablero"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Linea"
@@ -5147,71 +5213,71 @@ msgstr "Linea"
msgid "shortcuts.draw-nodes"
msgstr "Dibujar nodos"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Ruta"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectángulo"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/shortcuts.cljs:589
+#: src/app/main/ui/shortcuts.cljs:714
msgid "shortcuts.edit"
msgstr "Editar %s"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Ya asignado a \"%s\". Al guardar, pasará a esta acción."
-#: src/app/main/ui/shortcuts.cljs:836
+#: src/app/main/ui/shortcuts.cljs:771
msgid "shortcuts.edit-modal.reserved"
msgstr "Penpot reserva esta combinación y no se puede asignar."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Al guardar, este atajo volverá a su valor por defecto:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "Atajo disponible."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Personalízalos"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancelar"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportar elementos"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Buscar"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Buscar y reemplazar"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zoom abarcar todo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Voltear horizontalmente"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Voltear verticalmente"
@@ -5235,27 +5301,27 @@ msgstr "Ir a bibliotecas compartidas"
msgid "shortcuts.go-to-search"
msgstr "Buscar"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Agrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuir horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Mostrar/ocultar interfaz"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Importar/Exportar"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Aumentar zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Insertar imagen"
@@ -5263,11 +5329,11 @@ msgstr "Insertar imagen"
msgid "shortcuts.italic"
msgstr "Alternar cursiva"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Unir nodos"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Pulsa las nuevas teclas"
@@ -5275,39 +5341,39 @@ msgstr "Pulsa las nuevas teclas"
msgid "shortcuts.line-through"
msgstr "Alternar tachado"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Convertir en esquina"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Convertir en curva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Máscara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fusionar nodos"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mover"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mover rápidamente hacia abajo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mover rápidamente hacia la izquierda"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mover rápidamente hacia la derecha"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mover rápidamente hacia arriba"
@@ -5315,161 +5381,161 @@ msgstr "Mover rápidamente hacia arriba"
msgid "shortcuts.move-nodes"
msgstr "Mover nodo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mover hacia abajo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mover hacia la izquierda"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mover hacia la derecha"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mover hacia arriba"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Siguiente tablero"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "No hay atajos deshabilitados."
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Aún no hay atajos personalizados. Personaliza uno desde la pestaña Todo."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "No hay atajos que coincidan con tu búsqueda."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "No hay atajos que coincidan con tu búsqueda."
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Opacidad 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Opacidad 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Opacidad 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Opacidad 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Opacidad 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Opacidad 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Opacidad 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Opacidad 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Opacidad 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Opacidad 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Abrir selector de color"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Comentarios"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Ir al dashboard"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ir al inspector"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Ir a interacciones"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Ir al modo de visualización"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Ir al área de trabajo"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " o "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Reasignado a \"%s\""
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Página de atajos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Pegar"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Pegar propiedades"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Pegar y reemplazar"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Personalizados"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Gestor de extensiones"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tablero anterior"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Rehacer"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Después de editar un atajo, recarga cualquier pestaña de Penpot para "
"aplicar los cambios."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Renombrar"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Restablecer valor por defecto"
@@ -5477,225 +5543,225 @@ msgstr "Restablecer valor por defecto"
msgid "shortcuts.reset-all"
msgstr "Restablecer todo"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Reiniciar zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Escalado"
-#: src/app/main/ui/settings/shortcuts.cljs:44, src/app/main/ui/workspace/sidebar/shortcuts.cljs:139
+#: src/app/main/ui/settings/shortcuts.cljs:44, src/app/main/ui/workspace/sidebar/shortcuts.cljs:143
msgid "shortcuts.search"
msgstr "Buscar atajos"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Básicos"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Panel"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Modo visualización"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Área de trabajo"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Seleccionar todo"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Seleccionar capa siguiente"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Seleccionar capa padre"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Seleccionar capa anterior"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separar nodos"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Mostrar medidas"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Mostrar rejilla a pixel"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Mostrar atajos de teclado"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Alinear nodos"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Activar alineación a rejilla de pixel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Comenzar edición"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alineamiento"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editar"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Genérico"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modificar capas"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneles"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Ruta"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formas"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Texto"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Herramientas"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Activar miniaturas"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Atajos de teclado"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Alternar alineación"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Mostrar/ocultar recursos"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Mostrar/ocultar paleta de colores"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Activar/desactivar visibilidad de comentarios"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Mostrar/ocultar focus mode"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Activar/desactivar pantalla completa"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Mostrar/ocultar guías"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Mostrar/ocultar histórico"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Mostrar/ocultar capas"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Añadir/eliminar flex layout"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Añadir/eliminar grid layout"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Bloquear/Desbloquear"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Bloquear/Desbloquear proporciones"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Mostrar/ocultar reglas"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Alinear a las guías"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Alinear a las guías de reglas"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Mostrar/ocultar paleta de textos"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Cambiar tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Mostrar/ocultar elemento"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Alternar estilo de zoom"
@@ -5703,31 +5769,31 @@ msgstr "Alternar estilo de zoom"
msgid "shortcuts.underline"
msgstr "Alternar subrayado"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Deshacer"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Desagrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Deshacer máscara"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuir verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Decrementar zoom a objetivo"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Incrementar zoom a objetivo"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoom a selección"
@@ -5746,7 +5812,7 @@ msgstr "Vea Enterprise en acción"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5758,7 +5824,7 @@ msgstr "Enterprise (Prueba)"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Tu suscripción"
@@ -5891,288 +5957,289 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Invita a personas mientras estás en el plan Unlimited"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "El pago no se completó. Inténtalo de nuevo cuando quieras."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"No hemos podido iniciar el proceso de pago. Inténtalo de nuevo. Si el "
"problema persiste, contáctanos: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Suscripción"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Introducir código de activación"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Añade un método de pago para continuar después del periodo de prueba"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Admin Console"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Todas las prestaciones del plan Professional y:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Todas las prestaciones del plan Unlimited y:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Todas las ventajas del plan Unlimited, además de:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editores)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (prueba)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Versiones guardadas automáticamente cada 90 días y recuperación de archivos"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Factura mensual fija"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Control avanzado:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Seguridad Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Gestión multiorganización:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"Compatibilidad nativa con SAML/SSO y registro completo de auditoría (Audit "
"Trail) para informes de cumplimiento normativo."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Lista blanca granular de complementos (plugins), incluido nuestro servidor "
"MCP seguro y aislado para la conectividad con IA."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr ""
"Compatibilidad con jerarquías de equipos complejas y suborganizaciones "
"independientes."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Almacenamiento ilimitado"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gestionar tu suscripción"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Añadir datos de pago"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Añade ahora tus datos de pago para que tu suscripción siga funcionando sin "
"problemas tras finalizar el periodo de prueba y seguir apoyando nuestro "
"proyecto de código abierto. Por ahora no se te hará ningún cargo."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Saltar por ahora y comenzar la prueba"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Ayúdanos a crecer y facilita tu periodo de prueba"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Actualmente hay %s persona en tus equipos que pueden editar."
msgstr[1] "Actualmente hay %s personas en tus equipos que pueden editar."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Ten en cuenta: cambiar a un plan inferior significa menos almacenamiento y "
"copias de seguridad e historial de versiones más cortos."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editores"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Propietarios, administradores y editores. Los lectores no cuentan como "
"editores)."
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"No puedes establecer menos editores de los que tienes ahora. Cambia el rol "
"(de editor/administrador a lector) para las personas que realmente no "
"editan archivos en la configuración del equipo."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr ""
"Se cobrara después del periodo de prueba. No se requiere tarjeta de crédito "
"en este momento."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/mes"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Aplica %s a tus equipos"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Consejo: Puedes aumentar ahora el número de asientos para adelantarte a las "
"invitaciones. Con más de 25 editores en todos tus equipos, disfrutarás de "
"una tarifa plana de 175 $ al mes."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Miembro de penpot desde: %s."
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Más información"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "miembro organización / mes"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Otros planes de penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organización por mes"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "usuario / mes"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "Versiones con autoguardado de 7 días y recuperación de archivos"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr ""
"Todas las funciones de diseño y creación de prototipos. Asistencia de la "
"comunidad."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Control total sobre los datos y la infraestructura."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Número ilimitado de usuarios, equipos y archivos."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 GB de almacenamiento"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Equipos ilimitados. Hasta 8 editores en todos tus equipos."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Recomendado"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Tu suscripción"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Comenzar prueba gratuita"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Suscríbete"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Llevas en el plan %s desde %s."
-msgid "subscription.settings.trial-ends-on"
-msgstr "Tu prueba gratuita acaba el %s."
-
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Puedes modificar tu suscripción en cualquier momento desde la página "
"'Suscripción' en los datos de tu cuenta."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "¡Disfruta de tu plan!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "¡Gracias por elegir el plan %s de Penpot!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Eres %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:724
+msgid "subscription.settings.trial-ends-on"
+msgstr "Tu prueba gratuita acaba el %s."
+
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Pruébalo gratis durante 14 días"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (prueba)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "Versiones con autoguardado de 30 días y recuperación de archivos"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Factura mensual limitada en $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 GB de almacenamiento"
@@ -6197,45 +6264,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Si quieres aumentar este límite, [mejora tu plan|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invitación seleccionada"
msgstr[1] "%s invitaciones seleccionadas"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Proveedores de fuentes - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fuentes - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Proyectos - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Buscar - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Bibliotecas Compartidas - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Diseño Libre para Equipos"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Danos tu opinión - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Integraciones - Penpot"
@@ -6243,7 +6310,7 @@ msgstr "Integraciones - Penpot"
msgid "title.settings.notifications"
msgstr "Notificaciones - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Configuración - Penpot"
@@ -6251,31 +6318,31 @@ msgstr "Configuración - Penpot"
msgid "title.settings.password"
msgstr "Contraseña - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Perfil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitaciones - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Integrantes - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Configuración - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Modo de visualización - Penpot"
-#: src/app/main/ui/workspace.cljs:240
+#: src/app/main/ui/workspace.cljs:241
msgid "title.workspace"
msgstr "%s - Penpot"
@@ -6283,11 +6350,11 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Desvincular token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "No se ha encontrado ningún tablero."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "No se encuentra el tablero."
@@ -6295,43 +6362,43 @@ msgstr "No se encuentra el tablero."
msgid "viewer.go-to-first-board"
msgstr "Ir al primer tablero"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comentarios (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "No mostrar interacciones"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Pantalla completa"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspector (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interacciones"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interacciones (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copiar enlace"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Mostrar interacciones"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Mostrar interacciones al hacer click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa del sitio"
@@ -6376,67 +6443,67 @@ msgstr "Consulta nuestra "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "guía de solución de problemas de WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "Renderizado WebGL desactivado"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "Renderizado WebGL activado"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "Se perdió el contexto WebGL"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "Se recuperó el contexto WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "El último envío fue correcto."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Alinear al centro (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuir espacio horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Alinear a la izquierda (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Alinear a la derecha (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Alinear abajo (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Alinear al centro (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuir espacio vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Alinear arriba (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Añadir biblioteca"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Todos"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Colores"
@@ -6448,7 +6515,7 @@ msgstr "Añadir color"
msgid "workspace.assets.component-group-options"
msgstr "Opciones del grupo de componentes"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componentes"
@@ -6456,7 +6523,7 @@ msgstr "Componentes"
msgid "workspace.assets.components.add-component"
msgstr "Añadir componente"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Variantes"
@@ -6464,13 +6531,13 @@ msgstr "%s Variantes"
msgid "workspace.assets.create-group"
msgstr "Crear un grupo"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Tus elementos se renombrarán automáticamente a \"nombre grupo / nombre "
"elemento\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Borrar"
@@ -6478,11 +6545,11 @@ msgstr "Borrar"
msgid "workspace.assets.delete-group"
msgstr "Eliminar grupo"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Borrar páginas"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicar"
@@ -6490,39 +6557,39 @@ msgstr "Duplicar"
msgid "workspace.assets.duplicate-main"
msgstr "Duplicar principal"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtrar"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Ver como rejilla"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nombre del grupo"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Ver como lista"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "biblioteca local"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gestionar biblioteca"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "No se encontraron recursos"
@@ -6530,7 +6597,7 @@ msgstr "No se encontraron recursos"
msgid "workspace.assets.open-library"
msgstr "Abrir el fichero de la biblioteca"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Renombrar"
@@ -6538,11 +6605,11 @@ msgstr "Renombrar"
msgid "workspace.assets.rename-group"
msgstr "Renombrar grupo"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Buscar recursos"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Biblioteca compartida"
@@ -6552,47 +6619,47 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 componente"
msgstr[1] "%s componentes"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Ordenar"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografías"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Añadir tipografía"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Tamaño"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Estilo de fuente"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Editar en biblioteca de estilo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Interletrado"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Interlineado"
-#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:461
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:297
msgid "workspace.assets.typography.multiple-texts-selected"
msgstr "Selecciona un solo texto para crear un estilo de tipografía"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformar texto"
@@ -6836,15 +6903,15 @@ msgstr "Las ramas se crean desde main"
msgid "workspace.branches.switcher.tooltip"
msgstr "Cambiar de rama"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Copiando imagen…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Imagen copiada al portapapeles"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Error al copiar la imagen"
@@ -6856,85 +6923,85 @@ msgstr "Elegir color de la pantalla"
msgid "workspace.colorpicker.color-tokens"
msgstr "Tokens de color"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Los componentes no pueden anidarse dentro de sí mismos."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Algunas copias no se han podido intercambiar. Los componentes no pueden "
"anidarse dentro de sí mismos."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Crear area"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Copiar columnas"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Copiar filas"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Crear tablero"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Fusionar celdas"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Pegar"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
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:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
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:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Borrar columna"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Borrar columna con el contenido"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplicar columna"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Añadir 1 fila debajo"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Añadir 1 fila encima"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Borrar fila"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Borrar fila con el contenido"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplicar fila"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Color de la guía"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Eliminar guía"
@@ -6942,19 +7009,77 @@ msgstr "Eliminar guía"
msgid "workspace.debug.title"
msgstr "Herramientas de depuración"
-#: src/app/main/data/exports/assets.cljs
+#: src/app/main/data/exports/assets.cljs:388, src/app/main/data/exports/assets.cljs:564
msgid "workspace.export.unsaved-changes"
-msgstr "Algunos de tus últimos cambios aún no se han guardado, así que puede que esta exportación no los incluya."
+msgstr ""
+"Algunos de tus últimos cambios aún no se han guardado, así que puede que "
+"esta exportación no los incluya."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:907
+#: src/app/main/data/exports/assets.cljs:370, src/app/main/data/exports/assets.cljs:612
+msgid "workspace.export.unsaved-changes-included"
+msgstr ""
+"Algunos de tus últimos cambios aún no se han guardado. Esta exportación los "
+"incluye."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:59
+msgid "workspace.file-restored.accept"
+msgstr "Entendido"
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:30
+msgid "workspace.file-restored.message"
+msgstr ""
+"%s ha restaurado una versión anterior de este archivo. Los cambios "
+"posteriores ya no están en el archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:31
+msgid "workspace.file-restored.message-anonymous"
+msgstr ""
+"Un miembro del equipo ha restaurado una versión anterior de este archivo. "
+"Los cambios posteriores ya no están en el archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:28
+msgid "workspace.file-restored.message-date"
+msgstr ""
+"%s ha restaurado la versión del %s. Los cambios posteriores ya no están en "
+"el archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:29
+msgid "workspace.file-restored.message-date-anonymous"
+msgstr ""
+"Un miembro del equipo ha restaurado la versión del %s. Los cambios "
+"posteriores ya no están en el archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:26
+msgid "workspace.file-restored.message-label"
+msgstr ""
+"%s ha restaurado la versión «%s». Los cambios posteriores ya no están en el "
+"archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:27
+msgid "workspace.file-restored.message-label-anonymous"
+msgstr ""
+"Un miembro del equipo ha restaurado la versión «%s». Los cambios "
+"posteriores ya no están en el archivo."
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:50
+msgid "workspace.file-restored.title"
+msgstr "Se ha restaurado este archivo"
+
+#: src/app/main/ui/workspace/file_restored_modal.cljs:55
+msgid "workspace.file-restored.unsaved-changes"
+msgstr ""
+"No se han podido guardar tus últimos cambios porque se ha restaurado una "
+"versión del archivo."
+
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Modo foco"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Desactivar modo foco"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Activar modo foco"
@@ -6966,255 +7091,251 @@ msgstr "Degradado lineal"
msgid "workspace.gradients.radial"
msgstr "Degradado radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Desactivar alineamiento dinámico"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Desactivar escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Desactivar alinear a las guias"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Desactivar ajuste al pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Desactivar alinear a las guias de reglas"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Desactivar renderizado WebGL (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Activar alineamiento dinámico"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Activar escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Alinear a las guias"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Activar ajuste al pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Alinear a las guias de reglas"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Activar renderizado WebGL (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Buscar"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Buscar y reemplazar"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Ocultar nombres de tableros"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Ocultar comentarios"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Ocultar guías"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Ocultar paleta de colores"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ocultar rejilla de pixeles"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ocultar reglas"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ocultar paleta de textos"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Bloquear guías"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Conectar"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Desconectar"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Gestionar (estado: deshabilitado)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Gestionar (estado: habilitado)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Archivo"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Ayuda e información"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "Servidor MCP"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferencias"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Ver"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Rehacer"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Seleccionar todo"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Mostrar nombres de tableros"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Mostrar comentarios"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Mostrar guías"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Mostrar paleta de colores"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Mostrar rejilla de pixeles"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Mostrar reglas"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Mostrar paleta de textos"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Cambiar a tema oscuro"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Cambiar a tema claro"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Cambiar a tema del sistema"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Deshacer"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Desbloquear guías"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Restablecer"
-#: src/app/main/ui/workspace/left_header.cljs:125
+#: src/app/main/ui/workspace/left_header.cljs:133
msgid "workspace.header.retrying"
msgstr "Reintentando guardar"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Error al guardar"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Guardado"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Guardando"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Compartir"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Escalar para rellenar"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Escalar para ajustar"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoom abarcar todo"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Pantalla completa"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom a selección"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1050
msgid "workspace.layout-grid.editor.columns"
msgstr "Columnas"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
-msgid "workspace.layout-grid.editor.rows"
-msgstr "Filas"
-
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Editar grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Salir"
@@ -7222,7 +7343,7 @@ msgstr "Salir"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Padding inferior"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Mostrar el padding a 4 lados"
@@ -7246,18 +7367,18 @@ msgstr "Padding superior"
msgid "workspace.layout-grid.editor.padding.vertical"
msgstr "Padding vertical"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1051
+msgid "workspace.layout-grid.editor.rows"
+msgstr "Filas"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:994
msgid "workspace.layout-grid.editor.select-column"
msgstr "Seleccionar columna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:995
msgid "workspace.layout-grid.editor.select-row"
msgstr "Seleccionar fila"
-#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs
-msgid "workspace.layout-grid.editor.track-options"
-msgstr "Opciones de la pista"
-
#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:61
msgid "workspace.layout-grid.editor.title"
msgstr "Editando rejilla"
@@ -7270,45 +7391,49 @@ msgstr "Hecho"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Mostrar"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Mostrar grid layout"
-#: src/app/main/ui/workspace/libraries.cljs:898
+#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:932
+msgid "workspace.layout-grid.editor.track-options"
+msgstr "Opciones de la pista"
+
+#: src/app/main/ui/workspace/libraries.cljs:921
msgid "workspace.libraries.add-shared-library"
msgstr "Añadir una biblioteca compartida"
-#: src/app/main/ui/workspace/libraries.cljs:801
+#: src/app/main/ui/workspace/libraries.cljs:823
msgid "workspace.libraries.assets-in-this-file"
msgstr "RECURSOS EN ESTE ARCHIVO"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 color"
msgstr[1] "%s colores"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Añadir color a la biblioteca del archivo"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Todavía no hay estilos de color en tu biblioteca"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Aún no hay colores recientes"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Todavía no hay tipografías en tu biblioteca"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteca del archivo"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Colores recientes"
@@ -7320,99 +7445,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Guardar estilo de color"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Mostrar/Ocultar paleta de colores"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 componente"
msgstr[1] "%s componentes"
-#: src/app/main/ui/workspace/libraries.cljs:842
+#: src/app/main/ui/workspace/libraries.cljs:864
msgid "workspace.libraries.connected-libraries"
msgstr "Biblioteca conectada"
-#: src/app/main/ui/workspace/libraries.cljs:183
+#: src/app/main/ui/workspace/libraries.cljs:235
msgid "workspace.libraries.connected-through"
msgstr "Conectada mediante"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Conectada con"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "O añadir algunas de éstas para probar:"
-#: src/app/main/ui/workspace/libraries.cljs:812
+#: src/app/main/ui/workspace/libraries.cljs:834
msgid "workspace.libraries.empty.no-assets"
msgstr "Aún no hay recursos"
-#: src/app/main/ui/workspace/libraries.cljs:895
+#: src/app/main/ui/workspace/libraries.cljs:918
msgid "workspace.libraries.empty.no-connected-libraries"
msgstr "Aun no hay bibliotecas conectadas."
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "No hay Bibliotecas Compartidas en tu equipo, puedes buscar"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "algunas plantillas aquí"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteca del archivo"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 gráfico"
msgstr[1] "%s gráficos"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTECAS EN ESTE ARCHIVO"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ACTUALIZACIONES DE BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Cargando…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "No hay bibliotecas que necesiten ser actualizadas"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "No se encuentra “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Buscar bibliotecas compartidas"
-#: src/app/main/ui/workspace/libraries.cljs:827, src/app/main/ui/workspace/libraries.cljs:874
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
msgid "workspace.libraries.set-as-tokens-source"
msgstr "Activar fuente de tokens"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTECAS COMPARTIDAS"
-#: src/app/main/ui/workspace/libraries.cljs:621
+#: src/app/main/ui/workspace/libraries.cljs:674
msgid "workspace.libraries.shared-library-added"
msgstr "Añadido"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Conectar biblioteca"
@@ -7436,51 +7561,51 @@ msgstr "Desvincular todos los recursos"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Desvincular todos los tokens"
-#: src/app/main/ui/workspace/libraries.cljs:1136
+#: src/app/main/ui/workspace/libraries.cljs:1159
msgid "workspace.libraries.this-file"
msgstr "Este archivo"
-#: src/app/main/ui/workspace/libraries.cljs:167, src/app/main/ui/workspace/libraries.cljs:211
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
msgid "workspace.libraries.token-sets"
msgid_plural "workspace.libraries.token-sets"
msgstr[0] "1 token set"
msgstr[1] "%s token sets"
-#: src/app/main/ui/workspace/libraries.cljs:170, src/app/main/ui/workspace/libraries.cljs:215
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
msgid "workspace.libraries.token-themes"
msgid_plural "workspace.libraries.token-themes"
msgstr[0] "1 token theme"
msgstr[1] "%s token themes"
-#: src/app/main/ui/workspace/libraries.cljs:164, src/app/main/ui/workspace/libraries.cljs:207
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
msgid "workspace.libraries.tokens"
msgid_plural "workspace.libraries.tokens"
msgstr[0] "1 token"
msgstr[1] "%s tokens"
-#: src/app/main/ui/workspace/libraries.cljs:820, src/app/main/ui/workspace/libraries.cljs:866
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
msgid "workspace.libraries.tokens-source"
msgstr "Fuente de tokens"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 tipografía"
msgstr[1] "%s tipografías"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Desconectar biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Actualizar"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "ver todos los cambios"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ACTUALIZACIONES"
@@ -7488,12 +7613,19 @@ msgstr "ACTUALIZACIONES"
msgid "workspace.notification-pill.detail"
msgstr "Detalles"
-#: src/app/main/data/workspace/notifications.cljs:282
+#: src/app/main/data/persistence.cljs:669
msgid "workspace.notifications.file-repaired"
msgstr ""
"Hemos corregido algunos problemas de este archivo. Hay una copia de la "
"versión original en el historial de versiones."
+#: src/app/main/data/persistence.cljs:662, src/app/main/data/persistence.cljs:691
+msgid "workspace.notifications.file-repaired-changes-undone"
+msgstr ""
+"Hemos corregido algunos problemas de este archivo. Hay una copia de la "
+"versión original en el historial de versiones. Algunos cambios no se han "
+"podido guardar, así que se han deshecho tus últimos cambios."
+
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:784
msgid "workspace.options.add-interaction"
msgstr "Pulsa el botón + para añadir interacciones."
@@ -7549,7 +7681,7 @@ msgstr "Mostrar/ocultar desenfoque"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Mostrar/ocultar más opciones"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Cancelar"
@@ -7561,117 +7693,117 @@ msgstr "Color de fondo"
msgid "workspace.options.canvas-background-section"
msgstr "Sección de fondo de lienzo"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Truncar contenido"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Componente"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copia"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Crear una nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Editar una nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principal"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Intercambiar componente"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Aún no hay recursos en esta biblioteca"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Desvinculado"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Localizar variantes en conflicto"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Este componente tiene variantes en conflicto. Comprueba que cada variante "
"tenga un conjunto único de propiedades y valores."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Localizar variantes duplicadas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Algunas variantes tienen propiedades y valores idénticos"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Estas variantes tienen propiedades y valores idénticos. Ajusta los valores "
"para que puedan ser encontradas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Esta variante tiene propiedades y valores idénticos a los de otra variante. "
"Ajusta los valores para que puedan ser encontradas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Algunas de estas variantes tienen propiedades y valores idénticos. Ajusta "
"los valores para que puedan ser encontradas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Este componente tiene variantes con nombres no válidos. Asegúrate de que "
"cada variante siga la estructura correcta."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Localizar variantes no válidas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Algunas variantes tienen nombres no válidos"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Localizar variantes inválidas"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Estas variantes tienen nombres no válidos."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Esta variante tiene un nombre no válido."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Algunas de estas variantes tienen nombres no válidos."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[propiedad]=[valor], [propiedad]=[valor]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Prueba a utilizar la siguiente estructura:"
@@ -7709,7 +7841,7 @@ msgstr "Tienen el mismo nivel de jerarquía."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Los grupos, tableros y layouts se consideran equivalentes."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Cómo se mantienen conectadas las variantes"
@@ -7757,11 +7889,11 @@ msgstr "Arriba y Abajo"
msgid "workspace.options.convert-to-typography"
msgstr "Crear estilo de tipografía"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Diseño"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportar"
@@ -7769,53 +7901,53 @@ msgstr "Exportar"
msgid "workspace.options.export-multiple"
msgstr "Exportar selección"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Añadir exportación"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Eliminar exportación"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufijo"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "La cola de exportación está llena, inténtalo de nuevo en unos momentos"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Exportación cancelada"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Cancelando..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportación completa"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportando…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Exportación fallida"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Exportación lenta"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Esperando..."
@@ -7835,7 +7967,7 @@ msgstr "Eliminar relleno"
msgid "workspace.options.fill.section"
msgstr "Sección de relleno"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Redimensionar para ajustar al contenido"
@@ -7855,7 +7987,7 @@ msgstr "Inicio de flujo"
msgid "workspace.options.flows.flow-starts"
msgstr "Inicios de flujo"
-#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
msgid "workspace.options.font-not-available"
msgstr ""
"La fuente utilizada por este texto (%s) ya no está disponible. Vuelve a "
@@ -7865,11 +7997,11 @@ msgstr ""
msgid "workspace.options.grid.auto"
msgstr "Automático"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Columnas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Color"
@@ -7877,59 +8009,59 @@ msgstr "Color"
msgid "workspace.options.grid.params.guide-defaults"
msgstr "Valores por defecto de la guía"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Espaciado"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Establecer valor por defecto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Abajo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Izquierda"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Derecha"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Estirar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Arriba"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Usar valor por defecto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ancho"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Filas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Cuadros"
@@ -7941,7 +8073,7 @@ msgstr "Relleno de grupo"
msgid "workspace.options.group-stroke"
msgstr "Borde de grupo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Añadir guía"
@@ -7949,19 +8081,19 @@ msgstr "Añadir guía"
msgid "workspace.options.guides.remove-guide"
msgstr "Eliminar guía"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guías"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Mostrar/ocultar guía"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspeccionar"
@@ -8177,115 +8309,115 @@ msgstr "Interacciones"
msgid "workspace.options.interactions.add-interaction"
msgstr "Añadir interacción"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Color"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Color más oscuro"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Color más suave"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Oscurecer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Diferencia"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusión"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Luz fuerte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Tono"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Aclarar"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosidad"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplicar"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Superponer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturación"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Trama"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Luz suave"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Sección del menú de capas"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Mostrar/ocultar capa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Altura máx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Ancho máx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Altura mín."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Ancho mín."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Más colores"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Más colores de la biblioteca"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Más tokens de color"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:502
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516
msgid "workspace.options.no-font-results"
msgstr "No hay fuentes coincidentes"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "No hay tamaños predefinidos coincidentes"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacidad"
@@ -8293,7 +8425,7 @@ msgstr "Opacidad"
msgid "workspace.options.pixel-grid-color"
msgstr "Color de la rejilla de pixeles"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototipo"
@@ -8329,23 +8461,23 @@ msgstr "Sección de radios de borde"
msgid "workspace.options.radius.show-single-corners"
msgstr "Mostrar radios individuales"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recientes"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Reintentar"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotación"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Buscar fuente"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Buscar tamaño predefinido"
@@ -8355,11 +8487,11 @@ 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Colores seleccionados"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Sección de colores seleccionados"
@@ -8427,55 +8559,55 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Mostrar en modo visualización"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Tamaño"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Tamaños predefinidos"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Bloquear proporción"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Desbloquear proporción"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Círculo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamante"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Flecha"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Ninguno"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Redondo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Cuadrado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectángulo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triángulo"
@@ -8483,31 +8615,31 @@ msgstr "Triángulo"
msgid "workspace.options.stroke-color"
msgstr "Color del trazo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Guion"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Espacio"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Ancho del trazo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Inferior (block end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Izquierda (inline start)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Derecha (inline end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Superior (block start)"
@@ -8515,49 +8647,49 @@ msgstr "Superior (block start)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Añadir color de borde"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Rayado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Punteado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Interior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mezclado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Exterior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Trazo Por Lado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"Strokes per side feature is only available in the new render. Switch render "
"to use it."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Eliminar borde"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Sólido"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Mostrar/ocultar borde"
@@ -8593,11 +8725,11 @@ msgstr "Ancho automático"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fijo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Espaciado entre letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Altura de línea"
@@ -8645,160 +8777,160 @@ msgstr "Subrayado (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ancho"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Eje X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Eje Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Dibujar nodos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Alineado"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Independiente"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Igual"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Comportamiento manejador"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Unir nodos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Convertir en esquina (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Convertir en curva (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Fusionar nodos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mover nodes (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separar nodos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Alinear nodos (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Abrir"
-#: src/app/main/ui/workspace/plugins.cljs:242
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Descubre [más extensiones](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:249
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "No se encuentran extensiones"
-#: src/app/main/ui/workspace/plugins.cljs:236
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "El manifiesto de la expansión es incorrecto."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Debes ser un editor para usar este plugin"
-#: src/app/main/data/plugins.cljs:158
+#: src/app/main/data/plugins.cljs:160
msgid "workspace.plugins.error.unreachable"
msgstr "No se ha podido acceder a la URL de la extensión."
-#: src/app/main/ui/workspace/plugins.cljs:232
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "La extensión no existe o la url no es correcta."
-#: src/app/main/ui/workspace/plugins.cljs:228
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instalar"
-#: src/app/main/ui/workspace/plugins.cljs:258
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Extensiones instaladas"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Gestor de extensiones"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Extensiones"
-#: src/app/main/ui/workspace/plugins.cljs:452
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "EXTENSIÓN ACTUALIZADA"
-#: src/app/main/ui/workspace/plugins.cljs:456
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"La extensión ha cambiado desde la última vez que la abriste. Ahora quiere "
"acceder a:"
-#: src/app/main/ui/workspace/plugins.cljs:325
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Comenzar descargas de ficheros."
-#: src/app/main/ui/workspace/plugins.cljs:339
+#: src/app/main/ui/workspace/plugins.cljs:344
msgid "workspace.plugins.permissions.allow-global"
msgstr ""
"Seguir funcionando mientras te mueves entre el panel y tus archivos, y "
"buscar y abrir tus proyectos y archivos."
-#: src/app/main/ui/workspace/plugins.cljs:332
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Guardar datos en el navegador."
-#: src/app/main/ui/workspace/plugins.cljs:345
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Leer el contenido de tu portapapeles."
-#: src/app/main/ui/workspace/plugins.cljs:339
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Leer y escribir en tu portapapeles."
-#: src/app/main/ui/workspace/plugins.cljs:318
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Leer tus comentarios y respuestas."
-#: src/app/main/ui/workspace/plugins.cljs:312
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Leer y modificar tus comentarios y responder en tu nombre."
-#: src/app/main/ui/workspace/plugins.cljs:285
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Leer el contenido de sus archivos."
-#: src/app/main/ui/workspace/plugins.cljs:279
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Leer y modificar el contenido de sus archivos."
-#: src/app/main/ui/workspace/plugins.cljs:394
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Ten en cuenta que las extensiones están desarrolladas por terceros, "
@@ -8806,96 +8938,106 @@ msgstr ""
"seguridad es importante para nosotros. Si tienes cualquier duda, contacta "
"con soporte."
-#: src/app/main/ui/workspace/plugins.cljs:305
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Leer la información de sus bibliotecas y recursos."
-#: src/app/main/ui/workspace/plugins.cljs:299
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Leer y modificar la información de sus bibliotecas y recursos."
-#: src/app/main/ui/workspace/plugins.cljs:360
+#: src/app/main/ui/workspace/plugins.cljs:365
msgid "workspace.plugins.permissions.manage-delete"
msgstr "Eliminar tus archivos y proyectos."
-#: src/app/main/ui/workspace/plugins.cljs:346
+#: src/app/main/ui/workspace/plugins.cljs:351
msgid "workspace.plugins.permissions.manage-projects"
msgstr "Crear, renombrar, fijar y duplicar tus proyectos."
-#: src/app/main/ui/workspace/plugins.cljs:353
+#: src/app/main/ui/workspace/plugins.cljs:358
msgid "workspace.plugins.permissions.manage-teams"
msgstr "Ver, crear y renombrar tus equipos, y mover proyectos entre ellos."
-#: src/app/main/ui/workspace/plugins.cljs:387
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "LA EXTENSIÓN '%s' SOLICITA PERMISO PARA ACCEDER:"
-#: src/app/main/ui/workspace/plugins.cljs:292
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Leer la información del usuario actual."
-#: src/app/main/ui/workspace/plugins.cljs:254
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Lista de extensiones"
-#: src/app/main/ui/workspace/plugins.cljs:191
+#: src/app/main/ui/workspace/plugins.cljs:188
msgid "workspace.plugins.remove-confirmation.message"
msgstr ""
"¿Seguro que quieres eliminar la extensión %s? Puedes instalarla de nuevo en "
"cualquier momento."
-#: src/app/main/ui/workspace/plugins.cljs:190
+#: src/app/main/ui/workspace/plugins.cljs:187
msgid "workspace.plugins.remove-confirmation.title"
msgstr "Eliminar extensión"
-#: src/app/main/ui/workspace/plugins.cljs:101, src/app/main/ui/workspace/plugins.cljs:192
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Eliminar extensión"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Intruduzca URL de la extensión"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Extensiones"
-#: src/app/main/ui/workspace/plugins.cljs:522
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "AHORA NO"
-#: src/app/main/ui/workspace/plugins.cljs:515
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"¿Quieres echar un vistazo?. Crearemos un nuevo borrador en tu equipo "
"actual. (Si no, puedes encontrar los plugins instalados en cualquier "
"fichero.)"
-#: src/app/main/ui/workspace/plugins.cljs:511
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "¡LA EXTENSIÓN '%s' HA SIDO INSTALADA PARA TU USUARIO!"
-#: src/app/main/ui/workspace/plugins.cljs:528
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PROBAR PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:46
+#, markdown
+msgid "workspace.save-failure.retrying"
+msgstr "**Edición desactivada** porque no se pueden guardar los cambios."
+
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:47
+#, markdown
+msgid "workspace.save-failure.stopped"
+msgstr "**Edición desactivada** porque no se pueden guardar los cambios."
+
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Añadir flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Añadir grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Añadir layout"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Crear variante"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Añadir nueva propiedad"
@@ -8907,11 +9049,11 @@ msgstr "Enviar al fondo"
msgid "workspace.shape.menu.backward"
msgstr "Enviar atrás"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Eliminar guias del tablero"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combinar como variantes"
@@ -8919,7 +9061,7 @@ msgstr "Combinar como variantes"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Los componentes tienen que estar en la misma página"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copiar"
@@ -8963,27 +9105,27 @@ msgstr "Copiar como texto"
msgid "workspace.shape.menu.create-annotation"
msgstr "Crear una nota"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Tablero de selección"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Crear componente"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Crear múltiples componentes"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Cortar"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Eliminar"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Eliminar inicio de flujo"
@@ -8995,7 +9137,7 @@ msgstr "Desvincular instancia"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Desvincular instancias"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferencia"
@@ -9003,15 +9145,15 @@ msgstr "Diferencia"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exclusión"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Aplanar"
@@ -9023,7 +9165,7 @@ msgstr "Voltear horizontal"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Voltear vertical"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Inicio de flujo"
@@ -9035,31 +9177,31 @@ msgstr "Mover hacia delante"
msgid "workspace.shape.menu.front"
msgstr "Mover al frente"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ocultar"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Mostrar/Ocultar Interfaz"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersección"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Bloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Crear máscara"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Pegar"
@@ -9067,27 +9209,27 @@ msgstr "Pegar"
msgid "workspace.shape.menu.paste-props"
msgstr "Pegar propiedades"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Ruta"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Eliminar flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Eliminar grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Eliminar layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Eliminar propiedad"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "La variante debe tener al menos una propiedad"
@@ -9111,11 +9253,11 @@ msgstr "Restaurar variante"
msgid "workspace.shape.menu.select-layer"
msgstr "Seleccionar capa"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Mostrar"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Ver en el panel de recursos"
@@ -9123,7 +9265,7 @@ msgstr "Ver en el panel de recursos"
msgid "workspace.shape.menu.show-main"
msgstr "Ver componente principal"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Borde a ruta"
@@ -9135,19 +9277,19 @@ msgstr "Quitar miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Poner como miniatura"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Desagrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Unión"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Desbloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Quitar máscara"
@@ -9163,75 +9305,75 @@ msgstr "Cerrar barra lateral"
msgid "workspace.sidebar.expand"
msgstr "Abrir barra lateral"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historial"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Capas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componentes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtrar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Paneles"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupos"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Imágenes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Máscaras"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "No hay coincidencias"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Reemplazar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Reemplazar todo"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Reemplazar con…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Buscar capas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Buscar y reemplazar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Contenido de texto"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Nombres de capa"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textos"
@@ -9239,7 +9381,7 @@ msgstr "Textos"
msgid "workspace.sidebar.options.svg-attrs.remove"
msgstr "Eliminar atributo"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Atributos del SVG Importado"
@@ -9251,7 +9393,7 @@ msgstr "Páginas"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Añadir página"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa del sitio"
@@ -9283,7 +9425,7 @@ msgstr "Añadir un set a este grupo"
msgid "workspace.tokens.add-token"
msgstr "Añadir token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Aplicado a"
@@ -9307,7 +9449,7 @@ msgstr "El tamaño de fuente base debe estar en px o sin unidad."
msgid "workspace.tokens.change-token-source"
msgstr "Cambiar fuente de tokens"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Color"
@@ -9319,7 +9461,7 @@ msgstr "Copiar ruta de token"
msgid "workspace.tokens.create-new-theme"
msgstr "Crea un nuevo tema ahora."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Crear uno."
@@ -9351,7 +9493,7 @@ msgstr "Duplicar token"
msgid "workspace.tokens.duplicate-group"
msgstr "Duplicar grupo de tokens"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copia"
@@ -9375,7 +9517,7 @@ msgstr "Editar token de %s"
msgid "workspace.tokens.enter-token-name"
msgstr "Introduce un nombre para el token %s"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr ""
"No se pueden aplicar tokens mientras se edita texto. Seleccione la capa de "
@@ -9405,7 +9547,7 @@ msgstr "Previsualizar:"
msgid "workspace.tokens.export.single-file"
msgstr "fichero único"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Font size o {alias}"
@@ -9415,7 +9557,7 @@ msgstr ""
"Error al configurar el font-weight/style de la fuente. Este estilo de "
"fuente no existe en la fuente actual."
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Font weight (300, Bold, Regular Italic...) o un {alias}"
@@ -9455,7 +9597,7 @@ msgstr ""
"En un archivo JSON único, las claves de primer nivel deben ser los nombres "
"de los sets de tokens."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importar tokens"
@@ -9463,17 +9605,17 @@ msgstr "Importar tokens"
msgid "workspace.tokens.import-warning"
msgstr "Al importar tokens sobreescribirás todos tus tokens, sets y themes."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactivo"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.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/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Usa tokens individuales"
@@ -9493,11 +9635,11 @@ msgstr "Tema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Añade un Tema (p. ej. Claro)"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Letter spacing o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Line height (multiplicador, px o %) o {alias}"
@@ -9513,11 +9655,11 @@ msgstr "Tamaño máx."
msgid "workspace.tokens.min-size"
msgstr "Tamaño mín."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Referencia no encontrada"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Click derecho para ver opciones"
@@ -9533,7 +9675,7 @@ msgstr "No hay temas activos"
msgid "workspace.tokens.no-permisions-set"
msgstr "Debes ser editor para activar / desactivar sets"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Debes ser editor para usar temas"
@@ -9545,7 +9687,7 @@ msgstr "Aun no hay sets definidos. Crea uno primero"
msgid "workspace.tokens.no-sets-yet"
msgstr "Todavía no hay sets."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "No hay temas."
@@ -9557,7 +9699,7 @@ msgstr "Actualmente no existen temas."
msgid "workspace.tokens.not-remap"
msgstr "No actualizar"
-#: src/app/main/data/workspace/libraries.cljs:847
+#: src/app/main/data/workspace/libraries.cljs:850
msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
msgstr "Los sets o temas de la fuente de tokens se han modificado"
@@ -9565,7 +9707,7 @@ msgstr "Los sets o temas de la fuente de tokens se han modificado"
msgid "workspace.tokens.num-active-sets"
msgstr "%s sets activos"
-#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:67
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
msgid "workspace.tokens.only-first-fill-or-stroke"
msgstr ""
"Los tokens de diseño solo se pueden aplicar al primer relleno o trazo de la "
@@ -9575,7 +9717,7 @@ msgstr ""
msgid "workspace.tokens.open-source-new-tab"
msgstr "Abrir la fuente de tokens en una pestaña nueva"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valor original: %s"
@@ -9587,15 +9729,15 @@ msgstr "Paddings"
msgid "workspace.tokens.radius"
msgstr "Radio"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "La referencia en {%s} no es válida o no se encuentra en ningún set activo."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Introduce un alias de tipografía de token"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Introduce un alias de sombra de token"
@@ -9635,7 +9777,7 @@ msgstr "Renombrar grupo de tokens"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Tus tokens serán automáticamente renombrados a %s.(sufijo).(token)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valor resuelto: %s"
@@ -9673,27 +9815,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Configuración de tokens"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Añadir Sombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Blur"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Interior"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Eliminar Sombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Spread"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "El valor de blur no puede ser negativo"
@@ -9701,11 +9843,11 @@ msgstr "El valor de blur no puede ser negativo"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "El valor de spread no puede ser negativo"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -9721,11 +9863,11 @@ msgstr "Fuente:"
msgid "workspace.tokens.stroke-width"
msgstr "Ancho del trazo"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through o {alias}"
@@ -9747,31 +9889,31 @@ msgstr "Este archivo"
msgid "workspace.tokens.token-description"
msgstr "Descripción"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Seleccionar familia tipográfica"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Familia tipográfica"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Familia tipográfica o lista de fuentes separadas por coma (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Ya existe un token en la ruta: %s o en un prefijo del mismo."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "El nombre debería ser de al menos 1 caracter"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" es un nombre de token no válido.\n"
@@ -9782,11 +9924,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valor"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Introduce un valor o un alias usando {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -9805,15 +9947,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "El tipo '%s' no está soportado (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Usa una referencia"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "El valor no es válido"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Flecha (%s)"
@@ -9821,63 +9963,63 @@ msgstr "Flecha (%s)"
msgid "workspace.toolbar.assets"
msgstr "Recursos"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta de colores (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comentarios (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Curva (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tablero (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Imagen (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:413
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
msgid "workspace.toolbar.label"
msgstr "Herramientas de dibujo"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Línea (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP conectado"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:136
msgid "workspace.toolbar.mcp-copy-session-id"
msgstr "Copiar ID de sesión"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:33
msgid "workspace.toolbar.mcp-session-copied"
msgstr "ID de sesión copiado"
-#: src/app/main/ui/workspace/top_toolbar.cljs
+#: src/app/main/ui/components/mcp_menu.cljs:132
msgid "workspace.toolbar.mcp-session-id"
msgstr "ID de sesión: %s"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Mover (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Barra de paletas"
@@ -9885,59 +10027,55 @@ msgstr "Barra de paletas"
msgid "workspace.toolbar.palette-options"
msgstr "Opciones de la paleta"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Ruta (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Extensiones (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectángulo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Texto (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografías (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Alternar barra de herramientas"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:45
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:64
msgid "workspace.top-bar.read-only.done"
msgstr "Hecho"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:40
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:53
#, markdown
msgid "workspace.top-bar.view-only"
msgstr "**Inspeccionando código** (View only)"
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:39
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:50
msgid "workspace.top-bar.webgl-context-lost"
msgstr "Renderizado no disponible. Recarga la página para restaurar la edición."
-#: src/app/main/ui/workspace/viewport/top_bar.cljs:43
+#: src/app/main/ui/workspace/viewport/top_bar.cljs:60
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Recargar"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Todavía no hay cambios en el histórico"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "por %s"
-#: src/app/main/ui/workspace/sidebar/history.cljs
-msgid "workspace.undo.entry.show-details"
-msgstr "Mostrar detalles"
-
#: src/app/main/ui/workspace/sidebar/history.cljs:154
msgid "workspace.undo.entry.delete"
msgstr "%s eliminado"
@@ -10010,6 +10148,10 @@ msgstr "tipografías"
msgid "workspace.undo.entry.new"
msgstr "Nuevo %s"
+#: src/app/main/ui/workspace/sidebar/history.cljs:371
+msgid "workspace.undo.entry.show-details"
+msgstr "Mostrar detalles"
+
#: src/app/main/ui/workspace/sidebar/history.cljs:132
msgid "workspace.undo.entry.single.circle"
msgstr "círculo"
@@ -10074,19 +10216,19 @@ msgstr "tipografía"
msgid "workspace.undo.entry.unknown"
msgstr "Operación sobre %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1500, src/app/main/data/workspace/versions.cljs:255
msgid "workspace.updates.dismiss"
msgstr "Ignorar"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1498
msgid "workspace.updates.more-info"
msgstr "Más información"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1496
msgid "workspace.updates.there-are-updates"
msgstr "Hay actualizaciones en bibliotecas compartidas"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1502
msgid "workspace.updates.update"
msgstr "Actualizar"
@@ -10094,27 +10236,31 @@ msgstr "Actualizar"
msgid "workspace.versions.autosaved.entry"
msgstr "%s versiones de autoguardado"
-#: src/app/main/data/workspace/versions.cljs:301, src/app/main/ui/workspace/sidebar/versions.cljs:300
+#: src/app/main/data/workspace/versions.cljs:319, src/app/main/ui/workspace/sidebar/versions.cljs:309
msgid "workspace.versions.autosaved.version"
msgstr "Autoguardado %s"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:323
+#: src/app/main/ui/workspace/sidebar/versions.cljs:331
msgid "workspace.versions.button.pin"
msgstr "Fijar versión"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:233, src/app/main/ui/workspace/sidebar/versions.cljs:313
+#: src/app/main/ui/workspace/sidebar/versions.cljs:239, src/app/main/ui/workspace/sidebar/versions.cljs:321
msgid "workspace.versions.button.preview"
msgstr "Previsualizar versión"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:318
+#: src/app/main/ui/workspace/sidebar/versions.cljs:326
msgid "workspace.versions.button.restore"
msgstr "Restaurar versión"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:425, src/app/main/ui/workspace/sidebar/versions.cljs:427
+#: src/app/main/ui/workspace/sidebar/versions.cljs:433, src/app/main/ui/workspace/sidebar/versions.cljs:435
msgid "workspace.versions.button.save"
msgstr "Guardar versión"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:434
+#: src/app/main/data/workspace/versions.cljs:93
+msgid "workspace.versions.create-failed-unsaved"
+msgstr "No se ha creado la versión porque tus cambios no se han podido guardar."
+
+#: src/app/main/ui/workspace/sidebar/versions.cljs:442
msgid "workspace.versions.empty"
msgstr "No hay versiones aún"
@@ -10122,35 +10268,39 @@ msgstr "No hay versiones aún"
msgid "workspace.versions.expand-snapshot"
msgstr "Expandir versiones"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:398
+#: src/app/main/ui/workspace/sidebar/versions.cljs:406
msgid "workspace.versions.filter.all"
msgstr "Todas las versiones"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:412
+#: src/app/main/ui/workspace/sidebar/versions.cljs:420
msgid "workspace.versions.filter.label"
msgstr "Filtro de versiones"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:399
+#: src/app/main/ui/workspace/sidebar/versions.cljs:407
msgid "workspace.versions.filter.mine"
msgstr "Mis versiones"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:403
+#: src/app/main/ui/workspace/sidebar/versions.cljs:411
msgid "workspace.versions.filter.user"
msgstr "Versiones de %s"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:420
+#: src/app/main/ui/workspace/sidebar/versions.cljs:428
msgid "workspace.versions.loading"
msgstr "Cargando..."
-#: src/app/main/data/workspace/versions.cljs:312
+#: src/app/main/data/workspace/versions.cljs:330
msgid "workspace.versions.preview-banner-title"
msgstr "Previsualizando version: %s"
-#: src/app/main/data/workspace/versions.cljs:306
+#: src/app/main/data/workspace/versions.cljs:324
msgid "workspace.versions.preview.unnamed"
msgstr "Versión sin nombre"
-#: src/app/main/data/workspace/versions.cljs:239
+#: src/app/main/data/workspace/versions.cljs:315, src/app/main/ui/workspace/sidebar/versions.cljs:308
+msgid "workspace.versions.repair.version"
+msgstr "Antes de la reparación automática, %s"
+
+#: src/app/main/data/workspace/versions.cljs:253
msgid "workspace.versions.restore-warning"
msgstr "¿Quieres restaurar esta versión?"
@@ -10171,7 +10321,7 @@ msgstr "Abrir menu de versiones"
msgid "workspace.versions.warning.subtext"
msgstr "Si quieres aumentar este límite, contáctanos en [support@penpot.app](%s)"
-#: src/app/main/ui/workspace/sidebar/versions.cljs:462
+#: src/app/main/ui/workspace/sidebar/versions.cljs:470
msgid "workspace.versions.warning.text"
msgstr "Los autoguardados duran %s días."
@@ -10182,9 +10332,3 @@ msgstr "Revisión:"
#: src/app/main/ui/workspace/sidebar/pull_requests.cljs:623
msgid "workspace.pull-requests.banner.cancel"
msgstr "Cancelar revisión"
-
-msgid "mcp.oauth.access"
-msgstr "Este cliente puede leer y modificar diseños mediante conexiones MCP establecidas desde Penpot."
-
-msgid "mcp.oauth.cancelled"
-msgstr "Conexión cancelada"
diff --git a/frontend/translations/es_419.po b/frontend/translations/es_419.po
index ad847e60b1..65d01eba60 100644
--- a/frontend/translations/es_419.po
+++ b/frontend/translations/es_419.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "¿Ya tienes una cuenta?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "¿Has olvidado tu contraseña?"
@@ -37,27 +37,27 @@ msgstr "¿Has olvidado tu contraseña?"
msgid "auth.fullname"
msgstr "Nombre completo"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Inicie sesión aquí"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "Open ID"
@@ -79,7 +79,7 @@ msgstr ""
"El enlace de recuperación de contraseña ha sido enviado a su bandeja de "
"entrada de su correo electrónico."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Se unió al equipo con éxito"
@@ -111,11 +111,11 @@ msgstr "¿Has olvidado tu contraseña?"
msgid "auth.recovery-submit"
msgstr "cambia tu contraseña"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "¿No tienes cuenta aún?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Crea una cuenta"
@@ -123,113 +123,113 @@ msgstr "Crea una cuenta"
msgid "auth.register-title"
msgstr "Crea una cuenta"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Términos de servicio"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todos los usuarios de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"¿Estás seguro de que deseas eliminar este enlace? Si lo haces ya no estará "
"disponible para nadie"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(actual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Borrar enlace"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Conseguir enlace"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Enlace copiado exitosamente"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Administrar permisos"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 página compartida"
msgstr[1] "%s paginas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Puedes comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Puedes inspeccionar el código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Cualquier persona con enlace tendrá acceso"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páginas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "El enlace para compartir aparecerá aquí"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Solo miembros del equipo"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartir prototipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Seleccionar todo"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Despublicar"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestión de equipos"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot está destinado a equipos. Invite a miembros a trabajar juntos en "
"proyectos y archivos"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "¡En equipo!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Agregar como biblioteca compartida"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Cambiar el correo electrónico"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copiar)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Crear nuevo equipo"
@@ -237,11 +237,11 @@ msgstr "Crear nuevo equipo"
msgid "dashboard.default-team-name"
msgstr "Tu Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Eliminar equipo"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Descargar el archivo Penpot (.penpot)"
@@ -257,73 +257,61 @@ msgstr "Duplicar %s archivos"
msgid "dashboard.export-binary-multi"
msgstr "Descargar %s archivos Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportar tableros como PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportar como PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s elementos seleccionados"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Puede agregar configuraciones de exportación a elementos desde las "
"propiedades de diseño (en la parte inferior de la barra lateral derecha)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Información sobre cómo configurar las exportaciones en Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "No hay elementos con configuración de exportación."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Selección de exportación"
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Procesamiento de tipografías"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Subiendo datos al servidor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Subiendo archivo: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invitar a la gente"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "dejar el equipo"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotecas y plantillas"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explore más de ellos y sepa cómo contribuir"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotecas"
@@ -331,7 +319,7 @@ msgstr "Bibliotecas"
msgid "dashboard.loading-files"
msgstr "cargando tus archivos…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "cargando tus fuentes…"
@@ -347,35 +335,35 @@ msgstr "Mover %s archivos a"
msgid "dashboard.move-to-other-team"
msgstr "Pasar a otro equipo"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nuevo archivo"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Archivo nuevo"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nuevo proyecto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nuevo proyecto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "No se encontraron coincidencias para \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Los proyectos fijados aparecerán aquí"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Su dirección de correo electrónico se ha actualizado correctamente"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "El nombre debe contener como máximo %s caracteres."
diff --git a/frontend/translations/eu.po b/frontend/translations/eu.po
index 4594f82431..fe7e2fc3c6 100644
--- a/frontend/translations/eu.po
+++ b/frontend/translations/eu.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Mikel Larreategi \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Basque "
" \n"
"Language: eu\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Baduzu kontua?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Pasahitza ahaztu duzu?"
@@ -37,27 +37,27 @@ msgstr "Pasahitza ahaztu duzu?"
msgid "auth.fullname"
msgstr "Izen osoa"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Sartu"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "Profila ez da oraindik egiaztatu, egiaztatu ezazu jarraitu aurretik."
msgid "auth.notifications.recovery-token-sent"
msgstr "Eposta mezu bat bidali dizugu zure pasahitza berreskuratzeko."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Taldera ondo gehitu zara"
@@ -109,11 +109,11 @@ msgstr "Pasahitza ahaztu duzu?"
msgid "auth.recovery-submit"
msgstr "Aldatu pasahitza"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ez duzu konturik?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Sortu kontua"
@@ -121,111 +121,111 @@ msgstr "Sortu kontua"
msgid "auth.register-title"
msgstr "Sortu kontua"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Zerbitzuaren erabilpen-baldintzak"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Argitaratu"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Penpoten erabiltzaile guztiak"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "Esteka ezabatu nahi duzu? Hori egiten baduzu, inori ez dio funtzionatuko"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(oraingoa)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Ezabatu esteka"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Lortu esteka"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Esteka ondo kopiatu da"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Kudeatu baimenak"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "Orrialde 1 partekatuta"
msgstr[1] "%s orrialde partekatuta"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Iruzkinak egin ditzakete"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kodea ikus dezakete"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Esteka duen edonor sar daiteke"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Partekatutako orriak"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Partekatzeko esteka hemen agertuko da"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Taldeko kideak bakarrik"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Partekatu prototipoak"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Aukeratu guztiak"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Argitaraketa atzera bota"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Taldearen kudeaketa"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot taldeentzat sortuta dago. Gonbidatu beste pertsona batzuk proiektu "
"eta fitxategietan batera lan egiteko"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Egin taldea!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Gehitu partekatutako liburutegi bezala"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Eposta aldatu"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Sortu talde berria"
@@ -233,11 +233,11 @@ msgstr "Sortu talde berria"
msgid "dashboard.default-team-name"
msgstr "Zure Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Ezabatu taldea"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Deskargatu Penpot fitxategia (.penpot)"
@@ -253,59 +253,59 @@ msgstr "%s fitxategi bizkoiztu"
msgid "dashboard.export-binary-multi"
msgstr "Deskargatu %s Penpot fitxategi (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Esportatu arbelak PDFra"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Esportatu PDFra"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "Aukeratutakoak: %s / %s"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Esportatu"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Elementuei esportazioko ezarpenak gehitzeko aukeratu duzu diseinuaren "
"propietateetatik (eskumako aldearen amaieran)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Penpoten esportazioak konfiguratzeari buruzko informazioa."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Ez dago esportazioko ezarpenik duen elementurik."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Esportatu aukeraketa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Letra-tipoa ondo ezabatu da"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Baztertu guztiak"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Ez duzu pertsonalizatutako letra-tiporik."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -315,7 +315,7 @@ msgstr ""
"honetako letra-tipoak kargatu daitezke: **TTF, OTF and WOFF** (batekin "
"nahikoa da)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -325,11 +325,11 @@ msgstr ""
"lizentzien inguruan irakurtzea ere interesgarria izan daiteke: "
"[letra-tipoen lizentziak](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Kargatu guztiak"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -339,71 +339,43 @@ msgstr ""
"dezakezu. Gainera, weberako letra-tipoak sortzeko "
"[Transfonter](https://transfonter.org/) erabiltzea gomendatzen dugu. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Inportatu Penpot fitxategiak"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ezin izan dugu fitxategia inportatu"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s fitxategi ondo inportatu dira."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Fitxategi batzuk inportatu ez diren objektu akasdunak dituzte."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Koloreak prozesatzen"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Osagaiak prozesatzen"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Media prozesatzen"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "%s orrialdea prozesatzen"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Letra-tipoak prozesatzen"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Datuak zerbitzarira bidaltzen (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Fitxategia bidaltzen: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Gonbidatu taldera"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Utzi taldea"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Liburutegi eta txantiloiak"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Gehiago ikusi eta ikasi nola lagundu"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Partekatutako liburutegiak"
@@ -411,7 +383,7 @@ msgstr "Partekatutako liburutegiak"
msgid "dashboard.loading-files"
msgstr "zure fitxategiak kargatzen…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "zure letra-tipoak kargatzen…"
@@ -427,35 +399,35 @@ msgstr "Mugitu %s fitxategi"
msgid "dashboard.move-to-other-team"
msgstr "Mugitu beste talde batera"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Fitxategi berria"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Fitxategi berria"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Proiektu berria"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Proiektu berria"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Ez da \"%s\" aurkitu"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Ainguratutako proiektuak hemen agertuko dira"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Zure eposta helbidea ondo eguneratu da"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Zure eposta helbidea egiaztatu egin da"
@@ -463,7 +435,7 @@ msgstr "Zure eposta helbidea egiaztatu egin da"
msgid "dashboard.notifications.password-saved"
msgstr "Pasahitza ondo gorde da!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s kide"
@@ -471,7 +443,7 @@ msgstr "%s kide"
msgid "dashboard.open-in-new-tab"
msgstr "Ireki fitxa berrian"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Aukerak"
@@ -479,39 +451,39 @@ msgstr "Aukerak"
msgid "dashboard.password-change"
msgstr "Aldatu pasahitza"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Ainguratu/Desainguratu"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Proiektuak"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Kontua ezabatu nahi duzu?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Gorde aukerak"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Bilatu…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "\"%s\" bilatzen…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Aldatu hizkuntza"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Aukeratu gaia"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Ikusi fitxategi guztiak"
@@ -531,7 +503,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Zure fitxategia ondo mugitu da"
@@ -543,81 +515,81 @@ msgstr "Zure fitxategiak ondo mugitu dira"
msgid "dashboard.success-move-project"
msgstr "Zure proiektua ondo mugitu da"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Taldearen informazioa"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Taldekideak"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Taldearen proiektuak"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Itxura"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Bilaketaren emaitzak"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Idatzi bilaktzeko zerbaitu"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Atzera bota liburutegia argitaratzea"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Eguneratu aukerak"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Aktibo"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Webhook hau aktibatzen denean gertaeraren xehetasunak bidaliko dira"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Elementu mota"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Sortu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhooka ondo sortu da."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhookak beste webgune batzuei Penpoten zerbait gertatu dela jakinarazteko "
"modu bat dira. Adierazitako URLtara POST eskaera bat bidaliko dugu."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Sakatu \"Sortu webhooka\" botoia bat gehitzeko."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Ez dago webhookik."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Zure kontua"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Eposta"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Izena"
@@ -633,7 +605,7 @@ msgstr "Oharra"
msgid "ds.component-subtitle"
msgstr "Eguneratzeko dauden osagaiak:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Utzi"
@@ -649,27 +621,27 @@ msgstr "Ziur?"
msgid "errors.auth-provider-not-configured"
msgstr "Saioa hasteko hornitzailea ez dago konfiguratuta."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Badirudi ez zarela sartu edo zure saioa iraungi egin dela."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Ezin izan da %s letra-tipoa kargatu"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Ezin izan dira %s letra-tipoak kargatu"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Zure nabigatzaileak ezin du hori egin"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Eposta helbide hori erabilita dago"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Eposta helbide hori egiaztatuta dago."
@@ -677,28 +649,28 @@ msgstr "Eposta helbide hori egiaztatuta dago."
msgid "errors.email-as-password"
msgstr "Ezin duzu zure eposta helbidea pasahitz gisa erabiliz"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "«%s» helbideak ez ditu mezuak ondo jasotzen, itzuli egiten ditu."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr ""
"«%s» helbideak ez ditu mezuak ondo jasotzen, itzuli egiten ditu edo "
"spamaren inguruko txostenak ditu."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Badirudi '%s' ezaugarria aktibo duen fitxategi bat irekitzen ari zarela "
"baina zure penpot frontendak ezin du hori egin edo ezaugarri hori "
"desaktibatuta du."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Ezaugarria ezin da erabili: '%s'."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Erroreren bat gertatu da."
@@ -710,7 +682,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:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Egiaztapenereko epostak bat etorri behar du aurrekoarekin"
@@ -730,7 +702,7 @@ msgstr "Gonbidapen hau bertan behera utzi dute edo iraungi egin da."
msgid "errors.ldap-disabled"
msgstr "LDAP bidez sartzea desgaituta dago."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr ""
"Kuotaren maximora heldu zara: '%s'. Jarri kontaktuan laguntza "
@@ -748,7 +720,7 @@ msgstr "Irudiaren edukia eta luzapena bat ez datozela dirudi."
msgid "errors.media-type-not-allowed"
msgstr "Irudia zuzena ez dela dirudi."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Gonbidatzen ari zaren profilak ez ditu eposta bidezko mezuak jasotzen (spam "
@@ -766,7 +738,7 @@ msgstr "Pasahitzak gutxienez 8 karaktere izan behar ditu"
msgid "errors.profile-blocked"
msgstr "Profila blokeatuta dago"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Zure profilak ez ditu eposta mezuak jasotzen (spam gisa markatu delako edo "
@@ -776,17 +748,17 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Erregistroa desgaituta dago."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Ez dago taldetik irteteko behar beste kide, seguru aski ezabatu egin nahiko "
"duzu."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Izendatu nahi duzun kidea ez da existitzen."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Jabea ezin da taldetik irten, jabetza beste pertsona bati eman behar diozu."
@@ -794,35 +766,35 @@ msgstr "Jabea ezin da taldetik irten, jabetza beste pertsona bati eman behar dio
msgid "errors.unexpected-error"
msgstr "Errore bat gertatut da."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Tokena ez da zuzena"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Konexio errorea, URLa ezin da ireki"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URLak ez du balidazioa gainditu."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Errore bat gertatu da azken bidalketan."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Errorea gertatu da SSL balidazioan."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Denbora muga gainditu da"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Errore ezezaguna balidazioan"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Espero ez zen egoera %s"
@@ -838,11 +810,11 @@ msgstr "Aurreko pasahitza ez da zuzena"
msgid "feedback.description"
msgstr "Deskribapena"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "Ongi etorri! Laguntza behar baduzu, bilatu, idatzi edo galdetu lasai."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot komunitatea"
@@ -856,11 +828,11 @@ msgstr ""
"Idatzi zure mezuaren gaia, arazo bat, ideia bat edo zalantza bat den "
"esanez. Gure lantaldeko norbaitek ahal bezain laster erantzungo dizu."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Zure zalantza teknikoak erantzuteko kontua."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Laguntzarako X kontua"
@@ -892,7 +864,7 @@ msgstr "Deskargatu jatorrizko irudia"
msgid "inspect.attributes.shadow"
msgstr "Itzala"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Tamaina eta posizioa"
@@ -900,39 +872,27 @@ msgstr "Tamaina eta posizioa"
msgid "inspect.attributes.stroke"
msgstr "Ertza"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Erdia"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Barnealdea"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Kanpoaldea"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Letra-tipo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Letra-tipo familia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Letra-tipoaren tamaina"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Letra-tipoaren estiloa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Hizkien tartea"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Lerroartea"
@@ -944,11 +904,11 @@ msgstr "Bat ere ez"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Azpimarratu"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Lehenengoa letra larriz"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Letra xeheak"
@@ -956,7 +916,7 @@ msgstr "Letra xeheak"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "Bat ere ez"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Letra larriz"
@@ -1020,27 +980,27 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Testua"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Lasterteklak"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Onartu"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktibo"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Gehitu letra-tipo pertsonalizatua"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Kudeaketa"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Guztia"
@@ -1048,25 +1008,25 @@ msgstr "Guztia"
msgid "labels.and"
msgstr "eta"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Itzuli"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Pixkat itxaron eta berriz saiatu behar duzula dirudi; mantentze-lanak "
"egiten ari gara."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Zerbitzariaren errorea (Bad Gateway)"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Utzi"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Itxi"
@@ -1074,11 +1034,11 @@ msgstr "Itxi"
msgid "labels.code"
msgstr "Kodea"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Iruzkinak"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Komunitatea"
@@ -1086,35 +1046,35 @@ msgstr "Komunitatea"
msgid "labels.confirm-password"
msgstr "Berretsi pasahitza"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Jarraitu"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Penpot kontu batekin jarraitu dezakezu"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopiatu esteka"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Sortu"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Sortu talde berria"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Sartu taldearen izena"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Lanlekua"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Ezabatu"
@@ -1126,7 +1086,7 @@ msgstr "Ezabatu iruzkina"
msgid "labels.delete-comment-thread"
msgstr "Ezabatu haria"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Ezabatu gonbidapena"
@@ -1134,23 +1094,23 @@ msgstr "Ezabatu gonbidapena"
msgid "labels.delete-multi-files"
msgstr "Ezabatu %s fitxategi"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Zirriborroak"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editatu"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Edizioa"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Iraungita"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Esportatu"
@@ -1162,39 +1122,39 @@ msgstr "Iritziak jasotzeko osagaia desgaituta dago"
msgid "labels.feedback-sent"
msgstr "Iritzia ondo bidali da"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Letra-tipo familia"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Estiloak"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Letra-tipoak"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHubeko errepositorioa"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Eman zure iritzia"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Itzuli"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Laguntza zentroa"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ezkutatu ebatzitzako iruzkinak"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inaktibo"
@@ -1202,39 +1162,39 @@ msgstr "Inaktibo"
msgid "labels.info"
msgstr "Informazioa"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Instalatutako letra-tipoak"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Barneko errorea"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Gonbidapenak"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Hizkuntzak"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Liburutegi eta Txantiloiak"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Sartu edo eman izena"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Irten"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Kidea"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Kideak"
@@ -1242,31 +1202,31 @@ msgstr "Kideak"
msgid "labels.new-password"
msgstr "Pasahitz berria"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Ez duzu iruzkinen inguruko jakinarazpenik."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Ez dago gonbidapenik."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Atx!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "Fitxategi 1"
msgstr[1] "%s fitxategi"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "Arbel 1"
msgstr[1] "%s arbel"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "Proiektu 1"
@@ -1276,107 +1236,107 @@ msgstr[1] "%s proiektu"
msgid "labels.old-password"
msgstr "Aurreko pasahitza"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Jabea"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Pasahitza"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Zain"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profila"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Proiektuak"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Bertsioaren oharrak"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Kendu"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Kendu kidea"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Berrizendatu"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Berrizendatu taldea"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Birbidali gonbidapena"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Berriz saiatu"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rola"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Gorde"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Bilatu letra-tipoa"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Bidali"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Bidaltzen…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Gure sistemaren programatutako mantentze-lanak egiten ari gara."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Zerbitzua ez dago martxan"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Ezarpenak"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Partekatutako liburutegiak"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Erakutsi iruzkin guztiak"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Erakutsi iruzkinen zerrenda"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Erakutsi zure iruzkinak bakarrik"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Egoera"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorialak"
@@ -1384,23 +1344,23 @@ msgstr "Tutorialak"
msgid "labels.unpublish-multi-files"
msgstr "%s fitxategi argitaratzeari utzi"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Eguneratu"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Eguneratu taldea"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Kargatu"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Kargatu letra-tipoa"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Kargatzen…"
@@ -1408,11 +1368,11 @@ msgstr "Kargatzen…"
msgid "labels.view-only"
msgstr "IKUSTEKO BAKARRIK"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Bistarazlea"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhookak"
@@ -1420,11 +1380,11 @@ msgstr "Webhookak"
msgid "labels.write-new-comment"
msgstr "Idatzi iruzkin berria"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(zu)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "zure kontua"
@@ -1446,63 +1406,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Gehitu \"%s\" partekatutako liburutegi gisa"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Gehienekoa"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Egiaztatu posta elektroniko berria"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Zure egungo \"%s\" helbidera mezu bat bidaliko du zure nortasuna "
"egiaztatzeko."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Posta elektroniko berria"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Aldatu posta elektronikoa"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Aldatu zure posta elektronikoa"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Sortu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Sortu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Informazioaren URLa"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Utzi eta mantendu nire kontua"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Bai, ezabatu nire kontua"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Zure kontua ezabatzen baduzu zure proiektu eta fitxategi guztiak galduko "
"dituzu."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Zure kontua benetan ezabatu nahi duzu?"
@@ -1544,31 +1504,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Letra-tipo estiloa ezabatzen"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Letra-tipoa ezabatzen"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Benetan orrialde hau ezabatu egin nahi duzu?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Ezabatu orrialdea"
@@ -1584,19 +1544,19 @@ msgstr "Benetan proiektu hau ezabatu egin nahi duzu?"
msgid "modals.delete-project-confirm.title"
msgstr "Ezabatu proiektua"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Ezabatu fitxategia"
msgstr[1] "Ezabatu fitxategiak"
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Benetan fitxategi hau ezabatu nahi duzu?"
msgstr[1] "Benetan fitxategi hauek ezabatu nahi dituzu?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Ezabatu fitxategia"
@@ -1616,135 +1576,135 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Taldea ezabatzen"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Kidea ezabatzen"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Benetan kide hau taldetik ezabatu egin nahi duzu?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Taldekidea ezabatzen"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Ezabatu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Benetan webhook hau ezabatu egin nahi duzu?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Webhooka ezabatzen"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Aldatu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Aldatu webhooka"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Bidali gonbidapena"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Posta elektronikoak, komarekin banatuta"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Eposta helbide batzuk jada taldekideenak dira. Ez da gonbidapenik bidaliko."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Gonbidatu kideak taldera"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Talde honetako kide bakarra zarenez, taldea bere proiektu eta fitxategiekin "
"ezabatuko da."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Benetan %s taldea utzi egin nahi duzu?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Ezin duzu taldea utzi ez badago jabe berria izateko hautagairik. Agian "
"taldea ezabatu egin nahi duzu."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "Taldearen jabea zara. Aukeratu beste pertsona bat jabe izan dadin."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Jabe egin eta utzi"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Aukeratu jabe berria"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Utzi aurretik"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Utzi taldea"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Benetal taldea utzi egin nahi duzu?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Taldea uzten"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Desplazamendua"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Eman jabetza"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Jabetza ematen baduzu, zure rola Kudeatzaile izatera pasatuko da, "
"taldearekiko zure baimen batzuk galduz. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "Taldearen jabea zara. Benetan %s taldearen gabe egin nahi duzu?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Taldearen jabe berria"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Gutxienekoa"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgstr "Argitaratzea atzera bota"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Benetan liburutegi honen argitaratzea atzera bota nahi duzu?"
msgstr[1] "Benetan liburutegi hauen argitaratzea atzera bota nahi duzu?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Liburutegiaren argitaratzea atzera bota"
@@ -1768,23 +1728,23 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Eguneratu liburutegiaren osagaia"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Gonbidapena ondo bidali da"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Gonbidapenaren esteka kopiatu da"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Ezin da zure profila ezabatu. Berresleitu zure taldeak jarraitu aurretik."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profila ondo gorde da!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr ""
"Posta elektronikoa egiaztatzeko mezua ondo bidali da %s helbidera. "
@@ -1804,11 +1764,11 @@ msgstr "Ongi etorri Penpotera!"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "Taldeari izena eman ostean, pertsona gehiago gonbidatu ditzakezu."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Gonbidatu kideak"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Gonbidatu rol honekin:"
@@ -1854,39 +1814,39 @@ msgstr "Hasi diseinatzen"
msgid "profile.recovery.go-to-login"
msgstr "Sartu"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Batzuk"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Gehitu iruzkinak"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Lerrokatu behean"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Lerrokatu erdian horizontalki"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Lerrokatu ezkerrean"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Lerrokatu eskuman"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Lerrokatu goian"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Lerrokatu erdian bertikalki"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Sortu arbela hautapenetik"
@@ -1894,43 +1854,43 @@ msgstr "Sortu arbela hautapenetik"
msgid "shortcuts.bold"
msgstr "Aktibatu/desaktibatu beltza"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Diferentzia"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Baztertu"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Ebakidura"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Elkarketa"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Bidali atzera"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Bidali hondora"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Mugitu aurrealdera"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Mugitu aurrera"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Garbitu historiala"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopiatu"
@@ -1938,35 +1898,35 @@ msgstr "Kopiatu"
msgid "shortcuts.create-new-project"
msgstr "Sortu berria"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Moztu"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Jaitsi zooma"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Ezabatu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Ezabatu nodoa"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Banandu osagaian"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Kurba"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipsea"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Arbela"
@@ -1974,39 +1934,39 @@ msgstr "Arbela"
msgid "shortcuts.draw-nodes"
msgstr "Marraztu nodoak"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Bidea"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Laukia"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Testua"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Bikoiztu"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Utzi"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Esportatu osagaiak"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zoom dena ikusteko"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Irauli horizontalki"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Irauli bertikalki"
@@ -2030,23 +1990,23 @@ msgstr "Joan partekatutako liburutegietara"
msgid "shortcuts.go-to-search"
msgstr "Bilatu"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Taldekatu"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Banatu horizontalki"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Erakutsi/ezkutatu interfazea"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zooma handitu"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Txertatu irudia"
@@ -2054,7 +2014,7 @@ msgstr "Txertatu irudia"
msgid "shortcuts.italic"
msgstr "Aktibatu/desaktibatu etzana"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Elkartu nodoak"
@@ -2062,39 +2022,39 @@ msgstr "Elkartu nodoak"
msgid "shortcuts.line-through"
msgstr "Aktibatu/desaktibatu marratzea"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Bihurtu ertz"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Bihurtu kurba"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maskara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Elkartu nodoak"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mugitu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mugitu behera azkar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mugitu ezkerrera azkar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mugitu eskumara azar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mugitu gora azkar"
@@ -2102,289 +2062,289 @@ msgstr "Mugitu gora azkar"
msgid "shortcuts.move-nodes"
msgstr "Mugitu nodoa"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mugitu behera"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mugitu ezkerrera"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mugitu eskumara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mugitu gora"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Hurrengo arbela"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Ez dago emaitzarik"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Opakutasuna %100"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Opakutasuna %10"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Opakutasuna %20"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Opakutasuna %30"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Opakutasuna %40"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Opakutasuna %50"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Opakutasuna %60"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Opakutasuna %70"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Opakutasuna %80"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Opakutasuna %90"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Ireki kolore-hautatzailea"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Iruzkinak"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Joan lan-lekura"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ikuskagailura joan"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Joan interakzioetara"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Joan ikusteko modura"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Joan zure mahaigainera"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " edo "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Itsatsi"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Aurreko arbela"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Berregin"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Berrezarri zooma"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Oinarrizkoak"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Lanlekua"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Ikusteko modua"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Mahaigaina"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Aukeratu guztia"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Aukeratu hurrengo geruza"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Aukeratu aurreko geruza"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Banatu nodoak"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Erakutsi/ezkutatu pixel sarea"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Erakutsi/ezkutatu lasterbideak"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Lerrokatu nodoak"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Aktibatu sarea pixelera lerrokatzea"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Hasi edizioa"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Lerrokatzea"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editatu"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Orokorra"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu nagusia"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Aldatu geruzak"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Nabigazioa"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Nabigazioa"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Nabigazioa"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panelak"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Bidea"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formak"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Testuak"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Tresnak"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Aktibatu iruditxoak"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Lasterteklak"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Lerrokatzea aldatu"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Erakutsi/ezkutatu baliabideak"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Erakutsi/ezkutatu kolore paleta"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Erakutsi/ezkutatu foko-modua"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Aktibatu/desaktibatu pantaila osoa"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Erakutsi/Ezkutatu historikoa"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Erakutsi/ezkutatu geruzak"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Gehitu/kendu flex diseinua"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Blokeatu/Desblokeatu"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Blokeatu/Desblokeatu proportzioak"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Erakutsi/Ezkutatu testuen paleta"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Erakutsi/Ezkutatu elementua"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Erakutsi/Ezkutatu zoomaren estiloa"
@@ -2392,67 +2352,67 @@ msgstr "Erakutsi/Ezkutatu zoomaren estiloa"
msgid "shortcuts.underline"
msgstr "Aktibatu/desaktibatu azpimarraketa"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Desegin"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Banatu"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Desegin maskara"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Banatu bertikalki"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Zooma txikitu"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Zooma handitu"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zooma aukeraketara"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Letra-tipoen hornitzaileak - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Letra-tipoak - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Proiektuak - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Bilatu - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Partekatutako liburutegiak - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Taldeentzako diseinu librea"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Eman zure iritzia - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Ezarpenak - Penpot"
@@ -2460,27 +2420,27 @@ msgstr "Ezarpenak - Penpot"
msgid "title.settings.password"
msgstr "Pasahitza - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profila - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Gonbidapenak - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Kideak - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Ezarpenak - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhookak - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Ikusteko modua - Penpot"
@@ -2488,99 +2448,99 @@ msgstr "%s - Ikusteko modua - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Ez da arbelik aurkitu."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Ez dago arbel hori."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Iruzkinak (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Ez erakutsi interakzioak"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Pantaila osoa"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Ikuskagailua (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interakzioak"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interakzioak (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopiatu esteka"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Erakutsi interakzioak"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Erakutsi interakzioak klik egitean"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Webgunearen mapa"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Azken bidalketa ondo joan da."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Lerrokatu erdian (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Banatu espazioa horizontalki (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Lerrokatu ezkerrean (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Lerrokatu eskuman (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Lerrokatu behean (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Lerrokatu erdian (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Banatu espazioa bertikalki (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Lerrokatu goian (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Guztiak"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Koloreak"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Osagaiak"
@@ -2588,17 +2548,17 @@ msgstr "Osagaiak"
msgid "workspace.assets.create-group"
msgstr "Sortu talde bat"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Zure elementuak berrizendatu egingo dira: \"taldearen izena / elementuaren "
"izena\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Ezabatu"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Bikoiztu"
@@ -2606,27 +2566,27 @@ msgstr "Bikoiztu"
msgid "workspace.assets.duplicate-main"
msgstr "Bikoiztu nagusia"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editatu"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Taldekatu"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Taldearen izena"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "liburutegi lokala"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Ez da baliabiderik aurkitu"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Izena aldatu"
@@ -2634,39 +2594,39 @@ msgstr "Izena aldatu"
msgid "workspace.assets.rename-group"
msgstr "Berrizendatu taldea"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Bilatu baliabideak"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Letra-tipoak"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Tamaina"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Letra-tipoaren estiloa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Joan estilo liburutegiaren fitxategira editatzeko"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Hizkien tartea"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Lerroaren altuera"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Testua eraldatu"
@@ -2674,15 +2634,15 @@ msgstr "Testua eraldatu"
msgid "workspace.assets.ungroup"
msgstr "Banatu"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Foku-modua"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Fokua kendu"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Fokua gehitu"
@@ -2694,151 +2654,151 @@ msgstr "Gradiente lineala"
msgid "workspace.gradients.radial"
msgstr "Gradiente erradiala"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Desaktibatu lerrokatze dinamikoa"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Desaktibatu eskala proportzionala"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Desaktibatu gidetara atxikitzea"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Desaktibatu pixelera atxikitzea"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Aktibatu lerrokatze dinamikoa"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Aktibatu eskala proportzionala"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Atxikitu gidetara"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Aktibatu pixelera atxikitzea"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Ezkutatu arbelen izenak"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Ezkutatu kolore-paleta"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ezkutatu pixel sareta"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ezkutatu erregleank"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ezkutatu letra-tipoen paleta"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editatu"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fitxategia"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Laguntza eta informazioa"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Hobespenak"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Ikusi"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Berregin"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Guztiak aukeratu"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Erakutsi arbelen izenak"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Erakutsi kolore-paleta"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Erakutsi erregelak"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Erakutsi letra-tipoen paleta"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Desegin"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Berrezarri"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Errorea gordetzean"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Gordeta"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Gordetzen"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Ikusteko modua (%s)"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Bete - Eskala betetzeko"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Egokitu - Eskalatu egokitzeko"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoom dena ikusteko"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Pantaila osoa"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zooma aukeraketara"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Fitxategien liburutegia"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Azken koloreak"
@@ -2850,39 +2810,39 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Gorde kolorearen estiloa"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Fitxategien liburutegia"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "FITXATEGI HONETAKO LIBURUTEGIAK"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "LIBURUTEGIAK"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Ez dago eguneraketa behar duen partekatutako liburutegirik"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Ez da ezer aurkitu bilaketa honentzat: \"%s\""
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Bilatu partekatutako liburutegiak"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "Partekatutako liburutegiak"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Eguneratu"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "EGUNERAKETAK"
@@ -2902,11 +2862,11 @@ msgstr "Aukeraketa lausotu"
msgid "workspace.options.canvas-background"
msgstr "Mihisearen atzeko planoa"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Edukia aukeratu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Osagaia"
@@ -2950,11 +2910,11 @@ msgstr "Goian"
msgid "workspace.options.constraints.topbottom"
msgstr "Goian eta behean"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Diseinua"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Esportatu"
@@ -2962,29 +2922,29 @@ msgstr "Esportatu"
msgid "workspace.options.export-multiple"
msgstr "Esportatu aukeraketa"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Aurrizkia"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Esportazioa osatu da"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Esportazen…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Esportazioak huts egin du"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Esportazio oso geldoa"
@@ -3008,67 +2968,67 @@ msgstr "Fluxua hasi da"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Zutabeak"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Kolorea"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Erretena"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Altuera"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margina"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Defektuzko orri gisa ezarri"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Behean"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Erdiratu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Ezkerrean"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Eskuman"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Luzatu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Goian"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Erabili defektuzkoa"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Zabalera"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Lerroak"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Karratua"
@@ -3080,11 +3040,11 @@ msgstr "Taldea bete"
msgid "workspace.options.group-stroke"
msgstr "Taldea trazatu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altuera"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Ikuskatu"
@@ -3296,99 +3256,99 @@ msgstr "Sakatzean"
msgid "workspace.options.interactions"
msgstr "Interakzioak"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Kolorea"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Erretako kolorea"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Saihestu kolorea"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Ilundu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Diferentzia"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Baztertu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Argi gogorra"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Ñabardura"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Argitu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Argitasuna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Biderkatu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normala"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Geruza"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Asetasuna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Pantaila"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Argi biguna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Gehieneko altuera"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Gehieneko zabalera"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Gutxieneko altuera"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Gutxieneko zabalera"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Kolore gehiago"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Liburutegiko kolore gehiago"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opakotasuna"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototipoa"
@@ -3412,19 +3372,19 @@ msgstr "Goian ezkerrean"
msgid "workspace.options.radius-top-right"
msgstr "Goian eskuman"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Azkenak"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Berriz saiatu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Biraketa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Bilatu letra-tipoa"
@@ -3434,7 +3394,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Aukeratutako koloreak"
@@ -3490,27 +3450,27 @@ msgstr "Aukeraketaren itzalak"
msgid "workspace.options.show-fill-on-export"
msgstr "Erakutsi esportazioan"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Erakutsi ikusteko moduan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Tamaina"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Aurredefinitutako tamaina"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Bat ere ez"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Txanda"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Karratua"
@@ -3518,35 +3478,35 @@ msgstr "Karratua"
msgid "workspace.options.stroke-color"
msgstr "Trazuaren kolorea"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Marraren zabalera"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Erdiratu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Marrekin"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Muntuekin"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Barruan"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Nahastuta"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Kanpoan"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solidoa"
@@ -3582,11 +3542,11 @@ msgstr "Zabalera automatikoa"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Finkoa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Hizkien tartea"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Lerroaren altuera"
@@ -3630,51 +3590,51 @@ msgstr "Azpimarra (%s)"
msgid "workspace.options.use-play-button"
msgstr "Erabili goiburuko play botoia prototipoa ikusteko."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Zabalera"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Marraztu nodoak (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Batu nodoak"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Ertzera (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Kurbara %s"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Batu nodoak (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mugitu nodoak (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Banatu nodoak (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Atxikitu nodoak (%s)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Gehitu flex diseinua"
@@ -3686,27 +3646,27 @@ msgstr "Atzera bota"
msgid "workspace.shape.menu.backward"
msgstr "Atzera bidali"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopiatu"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Aukeraketa arbelera"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Sortu osagaia"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Ebaki"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Ezabatu"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Ezabatu fluxuaren hasiera"
@@ -3718,7 +3678,7 @@ msgstr "Askatu instantzia"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Askatu instantziak"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferentzia"
@@ -3726,15 +3686,15 @@ msgstr "Diferentzia"
msgid "workspace.shape.menu.duplicate"
msgstr "Bikoiztu"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editatu"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Baztertu"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Lautu"
@@ -3746,7 +3706,7 @@ msgstr "Irauli horizontalki"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Irauli bertikalki"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Fluxuaren hasiera"
@@ -3758,39 +3718,39 @@ msgstr "Ekarri aurrera"
msgid "workspace.shape.menu.front"
msgstr "Ekarri aurrera"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Taldea"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ezkutatu"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Erakutsi/Ezkuatu interfazea"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Ebakidura"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Blokeatu"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maskara aplikatu"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Itsatsi"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Bidea"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Ezabatu flex diseinua"
@@ -3806,11 +3766,11 @@ msgstr "Berrezarri osagai nagusia"
msgid "workspace.shape.menu.select-layer"
msgstr "Aukeratu geruza"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Erakutsi"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Ikusi baliabideen panelean"
@@ -3826,19 +3786,19 @@ msgstr "Ezabatu iruditxoa"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Ezarri iruditxo gisa"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Banatu"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Batu"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Desblokeatu"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Desegin maskara"
@@ -3854,47 +3814,47 @@ msgstr "Itxi alboko barra"
msgid "workspace.sidebar.expand"
msgstr "Ireki alboko barra"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historikoa"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Geruzak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Osagaiak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Arbelak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Taldeak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Irudiak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maskarak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Bilatu geruzak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Testuak"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Inportatutako SVG atributuak"
@@ -3902,7 +3862,7 @@ msgstr "Inportatutako SVG atributuak"
msgid "workspace.sidebar.sitemap"
msgstr "Orrialdeak"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Web mapa"
@@ -3910,51 +3870,51 @@ msgstr "Web mapa"
msgid "workspace.toolbar.assets"
msgstr "Baliabideak"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Kolore paleta (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Iruzkinak (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Kurba (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipsea (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Arbela (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Irudia (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Mugitu (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Bidea (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Laukia (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Testua (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Letra-motak (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Ez dago historikoaren aldaketarik"
@@ -4094,14 +4054,14 @@ msgstr "letra-tipoaren baliabidea"
msgid "workspace.undo.entry.unknown"
msgstr "Honen gaineko eragiketa: %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Baztertu"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Eguneraketak daude partekatutako liburutegietan"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Eguneratu"
diff --git a/frontend/translations/fa.po b/frontend/translations/fa.po
index a8c6460fba..8e4f6e7e1a 100644
--- a/frontend/translations/fa.po
+++ b/frontend/translations/fa.po
@@ -1,17 +1,18 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Danial Shirali \n"
-"Language-Team: Persian "
-" \n"
+"PO-Revision-Date: 2026-11-08 09:51+0000\n"
+"Last-Translator: Danial Shirali "
+"\n"
+"Language-Team: Persian \n"
"Language: fa\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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "از قبل حساب کاربری دارید؟"
@@ -33,7 +34,7 @@ msgstr ""
"این یک سرویس آزمایشی است، برای کار واقعی استفاده نکنید، پروژهها به صورت "
"دورهای پاک میشوند."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "کلمهعبور را فراموش کردهاید؟"
@@ -41,35 +42,35 @@ msgstr "کلمهعبور را فراموش کردهاید؟"
msgid "auth.fullname"
msgstr "نام کامل"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "ورود به حسابِ من"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "ورود از اینجا."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot ابزار طراحی رایگان و متنبازی برای همکاری در طراحی و کدنویسی است"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "گیتهاب"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "گیتلب"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "گوگل"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +78,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "یک رمزعبور جدید تایپ کنید"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "اکنون بخشی از %s هستید"
@@ -93,7 +94,7 @@ msgstr "پروفایل تأیید نشده است، لطفاً قبل از اد
msgid "auth.notifications.recovery-token-sent"
msgstr "لینک بازیابی رمزعبور به صندوق ورودی شما ارسال شد."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "با موفقیت به تیم پیوست"
@@ -125,7 +126,7 @@ msgstr "رمزعبور را فراموش کردهاید؟"
msgid "auth.recovery-submit"
msgstr "رمزعبور خود را تغییر دهید"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "هنوز حسابی ندارید؟"
@@ -137,7 +138,7 @@ msgstr "اطلاع دهید که شما را با چه نامی در ایمیل
msgid "auth.register-account-title"
msgstr "نام شما"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "ایجاد حسابکاربری"
@@ -152,7 +153,7 @@ msgstr ""
"من با قوانین و مقررات این سرویس و چگونگی مراقبت از اطلاعات شخصی در این "
"سرویس را قبول میکنم."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "شرایط استفاده از خدمات"
@@ -174,93 +175,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "برای @%s کسی پیدا نشد"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "انتشار"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "همه کاربران پنپات"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"آیا مطمئنید که میخواهید این پیوند را حذف کنید؟ اگر این کار را انجام دهید، "
"دیگر برای کسی در دسترس نخواهد بود"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(فعلی)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "از بین بردن لینک"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "دریافت لینک"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "لینک با موفقیت کپی شد"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "مدیریت مجوزها"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "۱ صفحه به اشتراک گذاشته شد"
msgstr[1] "%s صفحه به اشتراک گذاشته شدند"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "میتواند نظر دهد"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "میتواند کد را بررسی کند"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "هر کسی که لینک داشته باشد دسترسی خواهد داشت"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "صفحات به اشتراک گذاشته شده"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "پیوند قابل اشتراکگذاری در اینجا ظاهر میشود"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "فقط اعضای تیم"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "اشتراکگذاری پروتوتایپها"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "انتخاب همه"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "لغو انتشار"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "مدیریت تیم"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot برای تیمها در نظر گرفته شده است. از اعضا دعوت کنید تا روی پروژهها "
"و فایلها با هم کار کنند"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "تیم ایجاد کن!"
@@ -276,33 +277,33 @@ msgstr "بازیابی فایل"
msgid "dashboard.add-file"
msgstr "افزودن فایل"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "افزودن بهعنوان کتابخانه مشترک"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "تغییر ایمیل"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "انتقال تیم"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "انتقال به:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"پروژهها و فایلها برای اعضای تیم در دسترس خواهند ماند. تیم پیکربندی را از "
"سازمان جدید دریافت خواهد کرد."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "انتخاب یک سازمان"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "تغییر سازمان تیم"
@@ -360,23 +361,23 @@ msgstr "مشاهدهٔ گزارش تغییرات کامل"
msgid "dashboard.check-updates.view-release-notes"
msgstr "مشاهدهٔ یادداشتهای انتشار"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "خالی کردن سطل زباله"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(کپی)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "ایجاد سازمان"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "ایجاد تیم جدید"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "سنجاق کردن این نسخه"
@@ -384,7 +385,7 @@ msgstr "سنجاق کردن این نسخه"
msgid "dashboard.default-team-name"
msgstr "Penpot شما"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"آیا مطمئنید میخواهید همهٔ پروژهها و فایلهای حذفشدهتان را برای همیشه "
@@ -394,43 +395,43 @@ msgstr ""
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "آیا مطمئنید میخواهید %s را برای همیشه حذف کنید؟ این کار برگشتپذیر نیست."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s فایل با موفقیت حذف شدند."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "حذف برای همیشه"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "حذف پروژه"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"آیا مطمئنید میخواهید پروژهٔ %s را برای همیشه حذف کنید؟ آن و همهٔ فایلهای "
"موجود در آن برای همیشه حذف خواهند شد. این کار برگشتپذیر نیست."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s با موفقیت حذف شد."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "حذف تیم"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr ""
"سطل زبالهٔ شما خالی است. فایلها و پروژههای حذفشده اینجا نمایش داده "
"خواهند شد."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "در %s حذف خواهد شد"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "دانلود فایل پنپات (.penpot)"
@@ -442,19 +443,19 @@ msgstr "تکثیر"
msgid "dashboard.duplicate-multi"
msgstr "فایلهای %s را کپی کنید"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "پس از ایجاد پیشنویس توسط یکی از اعضای پروژه، اینجا نمایش داده میشود."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "هنوز پیشنویسی وجود ندارد."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "پس از ایجاد فایل توسط یکی از اعضای پروژه، اینجا نمایش داده میشود."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "هنوز فایلی وجود ندارد."
@@ -502,23 +503,23 @@ msgstr "درونریزی فایل .penpot"
msgid "dashboard.empty-project.start"
msgstr "ساخت چیزهای شگفتانگیز را شروع کنید"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "هنگام حذف فایلها خطایی رخ داد."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "هنگام حذف پروژهٔ %s خطایی رخ داد."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "هنگام بازیابی فایل %s خطایی رخ داد."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "هنگام بازیابی فایلها خطایی رخ داد."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "هنگام بازیابی پروژهٔ %s و فایلهای آن خطایی رخ داد."
@@ -526,37 +527,37 @@ msgstr "هنگام بازیابی پروژهٔ %s و فایلهای آن خط
msgid "dashboard.export-binary-multi"
msgstr "دانلود %s عدد فایل های پنپات (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "خروجی آرتبوردها به پیدیاف"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "اکسپورت به پیدیاف"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s از %s عناصر انتخابشده"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "اکسپورت"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"میتوانید تنظیمات اکسپورت را از ویژگیهای طراحی (در پایین نوار کناری سمت "
"راست) به عناصر اضافه کنید."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "اطلاعات نحوه تنظیم اکسپورت در پنپات."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "هیچ عنصری با تنظیمات اکسپورت وجود ندارد."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "انتخاب اکسپورت"
@@ -580,33 +581,33 @@ msgstr "نمای شبکهای"
msgid "dashboard.files-layout.list"
msgstr "نمای فهرستی"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "فونت حذف شد"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "ردکردن همه"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "شما هنوز هیچ فونت سفارشیای نصب نکردهاید."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "هنوز فونت سفارشی وجود ندارد."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "پس از بارگذاری فونت سفارشی توسط یکی از اعضای پروژه، اینجا نمایش داده میشود."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "۱ فونت اضافه شد"
msgstr[1] "%s فونت اضافه شد"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -616,7 +617,7 @@ msgstr ""
"فرمتهای زیر بارگذاری کنید: **TTF، OTF و WOFF** (فقط یکی مورد نیاز خواهد "
"بود)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -625,11 +626,11 @@ msgstr ""
"اطلاعات بیشتری کسب کنید. همچنین ممکن است بخواهید درباره [مجوز فونت] "
"(https://www.typography.com/faq) مطالعه کنید."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "آپلود همه"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -639,23 +640,23 @@ msgstr ""
"کنید. همچنین توصیه میکنیم برای تولید فونتهای وب و رفع خطاها از "
"[Transfonter](https://transfonter.org/) استفاده کنید. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "رفتن به کنسول مدیریت"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "آخرین ویرایش: %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "ایمپورت کردن فایلهای پنپات"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "اوه! ما نتوانستیم این فایل را ایمپورت کنیم"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "۱ کتابخانه بر اساس نام، بهطور خودکار پیوند داده شد."
@@ -665,121 +666,125 @@ msgstr[1] "%s کتابخانه بر اساس نام، بهطور خودکار
msgid "dashboard.import.bad-url"
msgstr "درونریزی ناموفق بود. نشانی اینترنتی قالب نادرست است"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "پیوندهای کتابخانه را تأیید کنید"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "اتصال کتابخانههای انتخاب شده"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "اسم فایل"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "نتوانستیم این فایل را تأیید کنیم."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "به نظر میرسد این فایل آسیب دیده است."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "همهٔ فایلها درونریزی نشدهاند"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "فایلهای زیر خطا دارند:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "فایلهای دارای خطا بارگذاری نخواهند شد."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "هنگام پردازش فایل مشکلی پیش آمد."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "۱ فایل با موفقیت وارد شد."
msgstr[1] "%s فایل با موفقیت وارد شدند."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "برخی از فایلها حاوی آبجکتهای نامعتبر بودند که حذف شدهاند."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "فایل بعدی"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "اجازهٔ درونریزی در این تیم را ندارید"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "در حال پردازش رنگها"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "در حال پردازش کامپوننتها"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "در حال پردازش رسانهها"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "در حال پردازش صفحه: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "در حال پردازش تایپوگرافیها"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "در حال آپلود اطلاعات روی سرور (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "در حال آپلود فایل: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"برخی از کتابخانهها بهطور خودکار پیوند نخوردند. برای هرکدام کتابخانهٔ درست "
"را انتخاب کنید:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "پیش از تأیید، پیوندهای کتابخانه را بررسی کنید:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "اتصال به"
+
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "کتابخانه اصلی"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "پیوند دادهشده"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "دستی لینک شده"
+
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "جدید"
+
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "هیچ کتابخانهای انتخاب نشده است"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "اصل"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "میخواهید دعوتنامهها را برای افراد زیر حذف کنید:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "میخواهید دعوتنامهها را برای افراد زیر دوباره ارسال کنید:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "حذف دعوتها"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "ارسال دوبارهٔ دعوتها"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"اجازهٔ دعوت از افراد برای پیوستن به این تیم یا ویرایش و حذف دعوتنامهها را "
"ندارید."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "دعوت به تیم"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "اجازهٔ دعوت از افراد به این تیم را ندارید"
@@ -791,27 +796,27 @@ msgstr "ترک سازمان"
msgid "dashboard.leave-organization.toast"
msgstr "دیگر بخشی از سازمان %s نیستید."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "خروج از تیم"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "کتابخانهها و قالبها"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "در اینجا چند کتابخانه و قالب دارید که میتوانید به پروژهتان اضافه کنید"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "بیشتر آنها را کاوش کنید و بدانید که چگونه مشارکت کنید"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "مشکلی در ایمپورت کردن قالب وجود داشت. قالب ایمپورت نشد."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "کتابخانههای مشترک"
@@ -819,7 +824,7 @@ msgstr "کتابخانههای مشترک"
msgid "dashboard.loading-files"
msgstr "در حال بارگذاری فایلهای شما …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "در حال بارگیری فونتهای شما …"
@@ -839,61 +844,65 @@ msgstr "انتقال فایلهای %s به"
msgid "dashboard.move-to-other-team"
msgstr "انتقال به تیم دیگر"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ فایل جدید"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "فایل جدید"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ پروژه جدید"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "پروژه جدید"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "هیچ منطبقی برای «%s» یافت نشد"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "اجازه ندارید به هیچیک از سازمانهایتان تیم اضافه کنید."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "هنوز هیچ سازمانی وجود ندارد."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"اجازه ندارید در سازمان %s تیم ایجاد کنید. برای اطلاعات بیشتر با مالک سازمان "
"تماس بگیرید."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"اجازه ندارید تیمهایی را که بخشی از سازمان %s هستند حذف کنید. برای اطلاعات "
"بیشتر با مالک سازمان تماس بگیرید."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"اجازه ندارید تیمهایی را که بخشی از سازمان %s هستند منتقل کنید. برای "
"اطلاعات بیشتر با مالک سازمان تماس بگیرید."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "پروژههای پین شده در اینجا ظاهر میشوند"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "اعلانها"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "آدرس ایمیل شما با موفقیت بهروز شد"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "آدرس ایمیل شما با موفقیت تایید شد"
@@ -905,11 +914,11 @@ msgstr "تنظیمات اعلان بهروزرسانی شد"
msgid "dashboard.notifications.password-saved"
msgstr "رمزعبور با موفقیت ذخیره شد!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "مشاهدهٔ اعلانها"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "اعضای %s"
@@ -917,23 +926,23 @@ msgstr "اعضای %s"
msgid "dashboard.open-in-new-tab"
msgstr "باز کردن فایل در تب جدید"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "گزینهها"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "مرتبسازی بر اساس نقش"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "مرتبسازی بر اساس وضعیت"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "سازمان %s حذف شده است."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "تیمهای دیگر"
@@ -957,11 +966,11 @@ msgstr "اکنون در این تیم مالک هستید."
msgid "dashboard.permissions-change.viewer"
msgstr "اکنون در این تیم بیننده هستید."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "پروژههای شخصی"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "پین/برداشتن پین"
@@ -977,27 +986,27 @@ msgstr "امکان تجزیهٔ مانیفست افزونه وجود ندارد"
msgid "dashboard.plugins.try-plugin"
msgstr "امتحان کردن افزونه: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "در حال حذف فایلها…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "در حال بازیابی فایلها…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "حذف بهطور غیرمنتظرهای کند است"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "بازیابی بهطور غیرمنتظرهای کند است"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "پروژهها"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "آیا میخواهید حساب خود را حذف کنید؟"
@@ -1005,115 +1014,115 @@ msgstr "آیا میخواهید حساب خود را حذف کنید؟"
msgid "dashboard.removed-from-team"
msgstr "دیگر عضو تیم «%s» نیستید."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"میخواهید همهٔ پروژهها و فایلهایتان را بازیابی کنید. ممکن است کمی طول "
"بکشد."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "بازیابی همهٔ پروژهها و فایلها"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "بازیابی همه"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s فایل با موفقیت بازیابی شدند."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "بازیابی پروژه"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "میخواهید پروژهٔ %s و همهٔ فایلهای موجود در آن را بازیابی کنید."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "بازیابی پروژه"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s با موفقیت بازیابی شد."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "ذخیره تنظیمات"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "جستجو…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "جستجو برای “%s“…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "سازمانها"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "تیمها"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "افزودن به سازمان"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "انتخاب یک سازمان:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"«%s» فقط به اعضای سازمان اجازه میدهد به تیمهایش بپیوندند. هر دعوتنامهٔ "
"در انتظار برای افراد خارج سازمان لغو خواهد شد."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "دعوتنامههای در انتظار برای کاربران خارجی لغو خواهند شد."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"در اینجا همهٔ سازمانهایی را میبینید که اجازه دارید در آنها تیم بسازید یا "
"تیم اضافه کنید."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"در اینجا سازمانهایی را میبینید که عضو آنها هستید و اجازهٔ ایجاد یا "
"افزودن تیم در آنها را دارید."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "انتخاب یک سازمان"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "افزودن تیم به سازمان"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "زبان رابط کاربری را انتخاب کنید"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "انتخاب تم"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot تیره (پیشفرض)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot روشن"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "پوستهٔ سیستم"
@@ -1177,11 +1186,11 @@ msgstr "بهروزرسانی تنظیمات"
msgid "dashboard.settings.notifications.title"
msgstr "اعلانها"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "نمایش همه فایلها"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "تاریخچهٔ نسخهها"
@@ -1205,7 +1214,7 @@ msgstr[1] "فایلهای شما با موفقیت تکثیر شدند"
msgid "dashboard.success-duplicate-project"
msgstr "پروژه شما با موفقیت duplicate شد"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "فایل شما با موفقیت منتقل شد"
@@ -1217,182 +1226,182 @@ msgstr "فایلهای شما با موفقیت منتقل شدند"
msgid "dashboard.success-move-project"
msgstr "پروژه شما با موفقیت منتقل شد"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s اکنون به %s تعلق دارد"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "اطلاعات تیم"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "اعضای تیم"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s دیگر به %s تعلق ندارد"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "سازمان تیم"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "افزودن به یک سازمان"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "اجازه ندارید این تیم را به هیچیک از سازمانهایتان اضافه کنید."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "تغییر سازمان تیم"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "فقط افراد داخل سازمان شما را میتوان دعوت کرد."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "این تیم بخشی از هیچ سازمانی نیست"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "حذف تیم از سازمان"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "پروژههای تیم"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "افزودن به پروژهٔ شما"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "تم رابط کاربری"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "نتایج جستجو"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "فایلهای حذفشده در سطل زباله باقی میمانند به مدت"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s روز. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "پس از آن، برای همیشه حذف میشوند."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"اگر نظرتان عوض شد، میتوانید آنها را بازیابی کنید یا از منوی هر فایل برای "
"همیشه حذفشان کنید."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "برای نمایش نتایج جستجو تایپ کنید"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "لغو انتشار کتابخانه"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "بهروزرسانی تنظیمات"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "شما دیگر عضو سازمان %s نیستید"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "بتا"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"رندر WebGL میتواند عملکرد را بهبود دهد، اما در مرحلهٔ بتا است و ممکن است "
"پایداری کمتری داشته باشد. ممکن است تفاوتهای بصری بین بوم، خروجیها "
"(SVG/PDF) و حالت نمایش دیده شود."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "غیرفعال"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "فعال"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "ارسال بازخورد"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "وضعیت"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "رندر WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "فعال است"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "هنگام فعال شدن این وبهوک، جزئیات رویداد تحویل داده میشود"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "فقط میتوانید وبهوکهایی را حذف یا تغییر دهید که خودتان ایجاد کردهاید."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "نوع محتوا"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "ایجاد وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "وبهوک با موفقیت ایجاد شد."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"وبهوکها راهی ساده برای اطلاعرسانی به وبسایتها و برنامههای دیگر هنگام "
"رخداد رویدادهای خاص در Penpot هستند. یک درخواست POST به هر نشانیای که "
"ارائه میکنید ارسال میکنیم."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "برای افزودن وبهوک، دکمهٔ «افزودن وبهوک» را فشار دهید."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "هنوز وبهوکی ایجاد نشده است."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "حساب شما"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "ایمیل"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "نام شما"
@@ -1408,11 +1417,11 @@ msgstr "توجه"
msgid "ds.component-subtitle"
msgstr "کامپوننتها برای بهروزرسانی:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "اجازه دادن"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "لغو"
@@ -1432,7 +1441,7 @@ msgstr "در مجموعهها یا پوستههای فعال، توکن ق
msgid "ds.inputs.numeric-input.no-matches"
msgstr "موردی پیدا نشد."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "باز کردن فهرست توکنها"
@@ -1448,15 +1457,15 @@ msgstr "ارائهدهندهٔ احراز هویت برای این پروفا
msgid "errors.auth-provider-not-configured"
msgstr "ارائه دهنده احراز هویت پیکربندی نشده است."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "به نظر میرسد شما احراز هویت نشدهاید یا جلسه منقضی شده است."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "فونت %s بارگیری نشد"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "فونتهای %s بارگیری نشدند"
@@ -1468,57 +1477,57 @@ msgstr "امکان بارگذاری فایل رسانهای وجود ندار
msgid "errors.character-limit-exceeded"
msgstr "از حد مجاز نویسه بیشتر است"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "امکان افزودن کتابخانه وجود ندارد: این کار وابستگی دوری ایجاد میکند"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"API کلیپبورد در دسترس نیست. برای فعال کردن دسترسی به کلیپبورد، Penpot را "
"روی HTTPS ارائه کنید"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "مرورگر شما نمیتواند این عملیات را انجام دهد"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"دسترسی به کلیپبورد رد شد. برای جایگذاری محتوا، لطفاً اجازههای کلیپبورد "
"را در مرورگر خود فعال کنید"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "خطایی در دیدگاه رخ داد"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"متأسفیم! این فایل قدیمی از نوع منسوخشدهای از داراییهای Penpot استفاده "
"میکند و نمیتوانید آن را باز کنید."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "تا بتوانیم کمکتان کنیم."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "با اینکه Penpot دیگر از این نوع دارایی پشتیبانی نمیکند، میتوانید"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "با ما تماس بگیرید"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "نمیتوان مجموعهٔ والد را در مسیر فرزند خودش رها کرد."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "ایمیل قبلا استفاده شده است"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "ایمیل قبلاً تأیید شده است."
@@ -1530,29 +1539,29 @@ msgstr "شما نمیتوانید از ایمیل خود به عنوان رم
msgid "errors.email-does-not-match-invitation"
msgstr "ایمیل با دعوت مطابقت ندارد."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "دامنه مجاز نیست"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "ایمیل «%s» گزارشهای زیادی از برگشت دائمی دریافت کرده است."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "ایمیل «%s» بهعنوان هرزنامه گزارش شده یا بهطور دائمی برگشت خورده است."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"به نظر میرسد فایلی را باز میکنید که قابلیت «%s» در آن فعال است، اما نسخهٔ "
"فعلی Penpot از آن پشتیبانی نمیکند یا آن را غیرفعال کرده است."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "قابلیت «%s» پشتیبانی نمیشود."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "باید حداکثر شامل %s نویسه باشد."
@@ -1560,7 +1569,7 @@ msgstr "باید حداکثر شامل %s نویسه باشد."
msgid "errors.field-min-length"
msgstr "باید دستکم شامل یک نویسه باشد."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "فیلد خالی"
@@ -1568,24 +1577,24 @@ msgstr "فیلد خالی"
msgid "errors.field-not-all-whitespace"
msgstr "نام باید دستکم یک نویسهٔ غیر از فاصله داشته باشد."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"به نظر میرسد بین قابلیتهای فعالشده و قابلیتهای فایل موردنظر برای باز "
"کردن ناسازگاری وجود دارد. پیش از باز شدن فایل، باید مهاجرتهای مربوط به "
"«%s» اعمال شوند."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"نام خانوادهٔ فونت فقط میتواند شامل حروف، اعداد، فاصلهها، خط تیره، زیرخط و "
"نقطه باشد."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "اشتباهی رخ داده است."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "مشکلی در وبورکر رخ داده است."
@@ -1601,7 +1610,7 @@ msgstr "دادهٔ نامعتبر"
msgid "errors.invalid-email"
msgstr "لطفاً یک ایمیل معتبر وارد کنید"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "ایمیل تأیید باید مطابقت داشته باشد"
@@ -1637,11 +1646,11 @@ msgstr "این دعوت ممکن است لغو یا منقضی شده باشد."
msgid "errors.ldap-disabled"
msgstr "احراز هویت LDAP غیرفعال است."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "به سهمیهٔ «%s» رسیدهاید. با پشتیبانی تماس بگیرید."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "به حداکثر تعداد (%s) ایمیلهایی که میتوان در یک درخواست دعوت کرد رسیدیم"
@@ -1657,21 +1666,21 @@ msgstr "به نظر میرسد که محتوای تصویر با پسوند
msgid "errors.media-type-not-allowed"
msgstr "به نظر میرسد که این یک تصویر معتبر نیست."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"پروفایلی که دعوت میکنید ارسال ایمیل برایش غیرفعال شده است (گزارشهای "
"هرزنامه یا برگشتهای زیاد)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "مهاجرت در حال انجام است"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "فقط ایجادکنندهٔ نسخه میتواند آن را قفل کند"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "فقط ایجادکنندهٔ نسخه میتواند قفل آن را باز کند"
@@ -1683,7 +1692,7 @@ msgstr "در ترک سازمان مشکلی پیش آمد. لطفاً دوبار
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "مالک سازمان نمیتواند سازمان را ترک کند."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "آن سازمان وجود ندارد"
@@ -1695,7 +1704,7 @@ msgstr "رمزعبور تأیید باید مطابقت داشته باشد"
msgid "errors.password-too-short"
msgstr "رمزعبور باید حداقل 8 کاراکتر باشد"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "دادهٔ نامعتبر در کلیپبورد"
@@ -1703,7 +1712,7 @@ msgstr "دادهٔ نامعتبر در کلیپبورد"
msgid "errors.profile-blocked"
msgstr "پروفایل مسدود شده"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"ارسال ایمیل برای پروفایل شما غیرفعال شده است (گزارشهای هرزنامه یا "
@@ -1713,7 +1722,7 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "ثبتنام در حال حاضر غیرفعال است."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"آخرین تغییرات شما هنوز بهعنوان ذخیرهشده تأیید نشدهاند. ممکن است "
@@ -1721,19 +1730,19 @@ msgstr ""
"مجدد نکنید؛ در غیر این صورت ممکن است تغییراتتان را از دست بدهید. برای "
"دریافت کمک با پشتیبانی تماس بگیرید."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG نامعتبر یا بدفرم است"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "قابلیت ناسازگار «%s» شناسایی شد"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "اعضای کافی برای ترک تیم وجود ندارد، احتمالاً میخواهید آن را حذف کنید."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "عضوی که میخواهید اختصاص دهید وجود ندارد."
@@ -1741,7 +1750,7 @@ msgstr "عضوی که میخواهید اختصاص دهید وجود ندا
msgid "errors.team-leave.only-owner-can-delete"
msgstr "فقط مالک تیم میتواند آن را حذف کند."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "مالک نمیتواند تیم را ترک کند، شما باید نقش مالک را مجدداً اختصاص دهید."
@@ -1753,11 +1762,11 @@ msgstr "نام تیم نمیتواند شامل هیچیک از نویسه
msgid "errors.token-set-already-exists"
msgstr "مجموعهای با همین نام از قبل وجود دارد"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "رها کردن تکمیل نمیشود؛ مجموعهای با همین نام از قبل در مسیر وجود دارد."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "گزینهٔ پوستهای با همین نام وجود دارد"
@@ -1769,13 +1778,13 @@ msgstr "پوسته به مجموعههایی ارجاع میدهد که و
msgid "errors.tokens.circular-reference"
msgstr "توکن ارجاع دوری دارد"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"ارتفاع خط به اندازهٔ فونت وابسته است. برای دریافت مقدار نهایی، اندازهٔ فونت "
"اضافه کنید."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "این فیلد نمیتواند خالی باشد"
@@ -1795,11 +1804,11 @@ msgstr "خطای درونریزی:"
msgid "errors.tokens.invalid-color"
msgstr "مقدار رنگ نامعتبر: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "مقدار توکن نامعتبر است: فقط میتوانید به یک توکن خانوادهٔ فونت ارجاع دهید"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"مقدار وزن فونت نامعتبر است: از مقادیر عددی (۱۰۰ تا ۹۵۰) یا نامهای "
@@ -1821,37 +1830,37 @@ msgstr ""
"نام توکنها باید فقط شامل حروف و ارقام باشند که با نویسههای نقطه از هم جدا "
"شدهاند و نباید با علامت $ شروع شوند."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "نوع سایه نامعتبر است: فقط innerShadow یا dropShadow پذیرفته میشود"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"مقدار توکن نامعتبر است: فقط none، Uppercase، Lowercase یا Capitalize "
"پذیرفته میشوند"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "مقدار توکن نامعتبر است: فقط none، underline و strike-through پذیرفته میشوند"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "مقدار نامعتبر است: باید به یک توکن سایهٔ ترکیبی ارجاع دهد."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "مقدار نامعتبر است: باید به یک توکن تایپوگرافی ترکیبی ارجاع دهد."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "مقدار توکن نامعتبر: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "ارجاعهای مفقود توکنها: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "نام گروه %s با توکنی همنام در مجموعهٔ فعال دیگری تداخل دارد."
@@ -1863,31 +1872,31 @@ msgstr "هیچ توکن، مجموعه یا پوستهای در این فای
msgid "errors.tokens.number-too-large"
msgstr "مقدار توکن نامعتبر است. مقدار نهایی بیش از حد بزرگ است: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "شفافیت باید بین ۰ و ۱۰۰٪ یا بین ۰ و ۱ باشد (مثلاً ۵۰٪ یا ۰٫۵)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "توکن به خودش ارجاع میدهد"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "تاری سایه باید بزرگتر یا مساوی ۰ باشد."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "گسترش سایه باید بزرگتر یا مساوی ۰ باشد."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "ضخامت استروک باید بزرگتر یا مساوی ۰ باشد."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "مقدار نامعتبر: علامت % مجاز نیست."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "مقدار نامعتبر: استفاده از واحد مجاز نیست."
@@ -1895,19 +1904,19 @@ msgstr "مقدار نامعتبر: استفاده از واحد مجاز نیس
msgid "errors.unexpected-error"
msgstr "یک خطای غیرمنتظره رخ داد."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "توکن ناشناخته"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "این نسخه از قبل قفل شده است"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "این نسخه قفل است و دیگران نمیتوانند آن را حذف کنند"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "فایل شمارهٔ نسخهٔ ناسازگاری دارد"
@@ -1940,39 +1949,39 @@ msgstr "حداقل ۱ حرف بزرگ انگلیسی"
msgid "errors.weak-password.too-short"
msgstr "حداقل ۸ نویسه"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL دیگر کار نمیکند. لطفاً برای بازنشانی، صفحه را دوباره بارگیری کنید"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "اوه! زمینهٔ بوم از بین رفت"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "خطای اتصال، دسترسی به نشانی اینترنتی ممکن نیست"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "نشانی اینترنتی از اعتبارسنجی عبور نمیکند."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "آخرین تحویل موفق نبود."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "خطا در اعتبارسنجی SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "مهلت زمانی تمام شد"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "خطای غیرمنتظره هنگام اعتبارسنجی"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "وضعیت غیرمنتظرهٔ %s"
@@ -1992,17 +2001,17 @@ msgstr "شرح"
msgid "feedback.description-placeholder"
msgstr "لطفاً دلیل بازخورد خود را توضیح دهید"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"ما خوشحالیم که شما اینجا هستید. اگر به کمک نیاز دارید، لطفا قبل از ارسال "
"پست جستجو کنید."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "انجمن Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "روشهای دیگر تماس با ما"
@@ -2026,11 +2035,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "تماس با ما"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "اینجا برای کمک به سوالات فنی شما."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "حساب پشتیبانی در توییتر"
@@ -2050,43 +2059,39 @@ msgstr "ایده"
msgid "feedback.type.issue"
msgstr "مشکل"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "بارگیری فایلها"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "داراییهای کتابخانهٔ پیوندشده در فایل قرار نمیگیرند."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "داراییها را بهعنوان اشیای پایه در نظر بگیرید"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"فایلهای دارای کتابخانههای پیوندشده در خروجی قرار میگیرند و پیوند آنها "
"حفظ میشود. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "خروجی گرفتن از فایل + کتابخانهها"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"پس از وارد کردن، میتوانید کتابخانههای موجود با نامهای منطبق را پیوند "
"دهید."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "پیوند دادن کتابخانههای منطبق هنگام وارد کردن"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr "فایل شما با ادغام دارایی کتابخانه در کتابخانهٔ محلی صادر خواهد شد."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "داراییهای کتابخانه را در فایل جاسازی کنید"
@@ -2094,7 +2099,7 @@ msgstr "داراییهای کتابخانه را در فایل جاسازی
msgid "generic.error"
msgstr "خطایی رخ داده است"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "اعمال"
@@ -2142,7 +2147,7 @@ msgstr "پیشنمایش تصویر پرکنندهٔ شکل"
msgid "inspect.attributes.shadow"
msgstr "سایه"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "اندازه و موقعیت"
@@ -2150,43 +2155,31 @@ msgstr "اندازه و موقعیت"
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 "بیرون"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "تایپوگرافی"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "خانواده فونت"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "اندازه فونت"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "استایل فونت"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "فاصله بین حروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "ارتفاع خط"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "خانوادههای فونت ترکیبی"
@@ -2198,11 +2191,11 @@ msgstr "هیچیک"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "خطزیر"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "بزرگ کردن حرف اول کلمات"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "حروف کوچک"
@@ -2214,7 +2207,7 @@ msgstr "هیچیک"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "تنظیمنشده"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "حروف بزرگ"
@@ -2334,23 +2327,23 @@ msgstr "مقدار نهایی:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "ویژگیهای گونه"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "ایجاد توکن دسترسی جدید"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "دکمهٔ «ایجاد توکن دسترسی جدید» را فشار دهید تا یکی ایجاد شود."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "تاکنون توکنی ندارید."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "توکنهای دسترسی شخصی"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"توکنهای دسترسی شخصی مانند جایگزینی برای سامانهٔ احراز هویت ورود/گذرواژهٔ "
@@ -2435,53 +2428,53 @@ msgstr "کلید MCP در %s منقضی میشود"
msgid "integrations.mcp-key.will-not-expire"
msgstr "کلید MCP تاریخ انقضا ندارد"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"سرور MCP Penpot به کلاینتهای MCP امکان میدهد مستقیماً با فایلهای طراحی "
"Penpot تعامل داشته باشند."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "نحوهٔ پیکربندی کلاینتهای MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"این نشانی سروری است که برای اتصال به سرور MCP Penpot باید در کلاینت MCP خود "
"پیکربندی کنید."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "ایجاد دوبارهٔ کلید MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "کلید MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "کلید MCP برای راهاندازی کلاینت MCP لازم است"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "وضعیت"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "غیرفعال"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "فعال"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"کلید MCP مورد استفاده برای اتصال به سرور MCP منقضی شده است. در نتیجه، اتصال "
"برقرار نمیشود."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"لطفاً کلید MCP را دوباره ایجاد کنید و پیکربندی کلاینت خود را با کلید جدید "
@@ -2491,10 +2484,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "سرور MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "بتا"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "نام"
@@ -2545,7 +2534,7 @@ msgstr "ایجاد دوبارهٔ کلید MCP"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "کلید MCP دوباره ایجاد شد"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "یکپارچهسازیها"
@@ -2563,47 +2552,47 @@ msgstr "توکن در %s منقضی میشود"
msgid "integrations.token.will-not-expire"
msgstr "توکن تاریخ انقضا ندارد"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "علامتگذاری همه بهعنوان خواندهشده"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "میانبرها"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "دربارهٔ Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "تایید"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "فعال"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "افزودن"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "اضافه کردن فونت سفارشی"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "در حال افزودن..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "مدیر"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "همه"
@@ -2611,17 +2600,17 @@ msgstr "همه"
msgid "labels.and"
msgstr "و"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "بازگشت"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"به نظر میرسد باید کمی صبر کنید و دوباره تلاش کنید; ما در حال انجام تعمیرات "
"کوچک روی سرورهای خود هستیم."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "خطای درگاه"
@@ -2633,23 +2622,23 @@ msgstr "تاری"
msgid "labels.blur-effects"
msgstr "جلوههای تاری"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "لغو"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "بررسی بهروزرسانیها"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "در حال بررسی بهروزرسانیها..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "بستن"
@@ -2657,7 +2646,7 @@ msgstr "بستن"
msgid "labels.code"
msgstr "کد"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "جمع کردن"
@@ -2669,15 +2658,15 @@ msgstr "رنگ"
msgid "labels.comment"
msgstr "دیدگاه"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "نظرات"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "انجمن"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "جامعه و مشارکتها"
@@ -2689,19 +2678,19 @@ msgstr "محاسبهشده"
msgid "labels.confirm-password"
msgstr "تایید رمزعبور"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "تماس با پشتیبانی"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "تماس با ما"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "ادامه"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "شما میتوانید با یک حساب Penpot ادامه دهید"
@@ -2713,23 +2702,23 @@ msgstr "کپی"
msgid "labels.copy-color"
msgstr "کپی رنگ"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "کپی پیوند"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © ۲۰۱۹ تا کنون"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "ایجاد"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "ایجاد تیم جدید"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "نام تیم جدید را وارد کنید"
@@ -2737,7 +2726,7 @@ msgstr "نام تیم جدید را وارد کنید"
msgid "labels.current"
msgstr "فعلی"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "داشبورد"
@@ -2745,7 +2734,7 @@ msgstr "داشبورد"
msgid "labels.default"
msgstr "پیشفرض"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "حذف"
@@ -2757,7 +2746,7 @@ msgstr "حذف نظر"
msgid "labels.delete-comment-thread"
msgstr "حذف موضوع"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "حذف دعوت"
@@ -2765,39 +2754,35 @@ msgstr "حذف دعوت"
msgid "labels.delete-multi-files"
msgstr "حذف فایلهای %s"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "آیا مطمئنید میخواهید عکس پروفایل خود را حذف کنید؟"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "حذف عکس پروفایل"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "حذفشده"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "توسعه"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "صرفنظر کردن"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "بارگیری %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "بارگیری"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "در حال بارگیری فایل…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "پیشنویسها"
@@ -2805,19 +2790,19 @@ msgstr "پیشنویسها"
msgid "labels.duplicate"
msgstr "تکثیر"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "ویرایش"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "ویرایشگر"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "خالی"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "خطا"
@@ -2825,11 +2810,11 @@ msgstr "خطا"
msgid "labels.exit"
msgstr "خروج"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "منقضی شده"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "اکسپورت"
@@ -2841,7 +2826,7 @@ msgstr "بازخورد غیرفعال شد"
msgid "labels.feedback-sent"
msgstr "بازخورد ارسال شد"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2849,63 +2834,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "پر"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "چیدمان فلکس"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "خانواده فونت"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "استایلها"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "فونتها"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "مخزن Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "بازخورد بده"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "برگرد"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "طراحی گرافیک"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "چیدمان شبکه"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "مرکز کمک"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "راهنما و یادگیری"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "پنهان کردن"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "پنهان کردن نظرات حل شده"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "درونریزی"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "غیرفعال"
@@ -2913,53 +2898,53 @@ msgstr "غیرفعال"
msgid "labels.info"
msgstr "اطلاعات"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "فونتهای نصبشده"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "یکپارچهسازیها"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "مشکلی پیش آمد."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"میتوانید عملیات را دوباره امتحان کنید یا برای گزارش خطا با پشتیبانی تماس "
"بگیرید."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "خطای داخلی"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "دعوتنامهها"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "زبان"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "چیدمان"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "مرکز یادگیری"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "کتابخانهها و قالبها"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "در حال بارگیری…"
@@ -2967,7 +2952,7 @@ msgstr "در حال بارگیری…"
msgid "labels.lock"
msgstr "قفل کردن"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "ورود یا ثبت نام"
@@ -2975,19 +2960,19 @@ msgstr "ورود یا ثبت نام"
msgid "labels.login"
msgstr "ورود"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "خروج"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "بازاریابی"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "عضو"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "اعضا"
@@ -2999,43 +2984,43 @@ msgstr "اشاره"
msgid "labels.new-password"
msgstr "رمزعبور جدید"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "بعدی"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"این نمونه به مرحلهٔ راهاندازیای نیاز دارد که همراه با آخرین نسخه ارائه "
"شده است."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "نگاهی به"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot هنوز نمیتواند شروع به کار کند."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "راهنمای فنی ما بیندازید"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot بهدلیل مشکل سیستمی موقتاً در دسترس نیست. لطفاً کمی بعد دوباره "
"امتحان کنید."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "کارهایتان تمام شده است! اعلانهای دیدگاههای جدید اینجا نمایش داده میشوند."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "هیچ دعوتنامهای وجود ندارد."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "افرادتان را گرد هم بیاورید و با هم چیزهای فوقالعاده بسازید."
@@ -3043,27 +3028,27 @@ msgstr "افرادتان را گرد هم بیاورید و با هم چیزها
msgid "labels.no-matches"
msgstr "موردی یافت نشد"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "اوپس!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "اعلانها"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "۱ فایل"
msgstr[1] "%s فایل"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "۱ برد"
msgstr[1] "%s برد"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "۱ پروژه"
@@ -3073,43 +3058,43 @@ msgstr[1] "%s پروژه"
msgid "labels.old-password"
msgstr "رمزعبور قدیمی"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "باز کردن"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "گزینهها"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "سایر (مشخص کنید)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "سایر"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "مالک"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "کلمهعبور"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "در انتظار"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "تغییرات Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "هاب Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "پروژههای سنجاقشده"
@@ -3117,31 +3102,31 @@ msgstr "پروژههای سنجاقشده"
msgid "labels.post"
msgstr "ارسال"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "قبلی"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "طراحی محصول یا تجربهٔ کاربری"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "مدیریت محصول"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "پروفایل"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "پروژهها"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "اخیر"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "مرجع"
@@ -3149,27 +3134,27 @@ msgstr "مرجع"
msgid "labels.refresh"
msgstr "تازهسازی"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "یادداشتهای انتشار"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "بارگیری دوبارهٔ صفحه"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "حذف"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "حذف عضو"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "تغییرنام"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "تغییر نام تیم"
@@ -3193,11 +3178,11 @@ msgstr "پاسخ جدید"
msgid "labels.reply.thread"
msgstr "پاسخ"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "ارسال دوباره"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "فرستادن مجدد دعوتنامه"
@@ -3205,43 +3190,43 @@ msgstr "فرستادن مجدد دعوتنامه"
msgid "labels.restore"
msgstr "بازیابی"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "امتحان دوباره"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "نقش"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "ذخیره"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "جستوجو"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "جستجوی فونت"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "انتخاب گزینه"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "ارسال"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "درحال ارسال…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "ما در حال تعمیر و نگهداری برنامهریزی شده سیستمهای خود هستیم."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "سرویس در دسترس نیست"
@@ -3249,69 +3234,69 @@ msgstr "سرویس در دسترس نیست"
msgid "labels.sets"
msgstr "مجموعهها"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "تنظیمات"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "سایه"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "اشتراکگذاری"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "کتابخانههای مشترک"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "نمایش"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "نمایش همه نظرات"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "نمایش لیست نظرات"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "فقط اشارههای شما را نمایش بده"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "فقط نظرات خودتان را نشان دهید"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "منابع"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"ورود با ارائهدهندهٔ هویت سازمان شما کامل نشد. ممکن است ارائهدهنده در "
"دسترس نباشد یا حساب شما هنوز در فهرست آن ثبت نشده باشد."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "دوباره تلاش کنید"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "ورود شما به %s ممکن نبود"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "شروع"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "وضعیت"
@@ -3319,7 +3304,7 @@ msgstr "وضعیت"
msgid "labels.stroke"
msgstr "استروک"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "دانشجو یا مدرس"
@@ -3331,7 +3316,7 @@ msgstr "سبکها"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "تغییر"
@@ -3339,19 +3324,19 @@ msgstr "تغییر"
msgid "labels.text"
msgstr "متن"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "پوستهها"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "آموزشها"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "تایپوگرافی"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "خطای ناشناخته"
@@ -3363,35 +3348,31 @@ msgstr "باز کردن قفل"
msgid "labels.unpublish-multi-files"
msgstr "لغو انتشار %s فایل"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "بهروزرسانی"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "بروزرسانی تیم"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "بارگذاری"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "آپلود فونتهای سفارشی"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "درحال بارگذاری…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "در حال بارگذاری فایل…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "گونه"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "یادداشتهای نسخهٔ %s"
@@ -3399,7 +3380,7 @@ msgstr "یادداشتهای نسخهٔ %s"
msgid "labels.view-only"
msgstr "فقط مشاهده"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "بیننده"
@@ -3413,7 +3394,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s هشدار"
msgstr[1] "%s هشدار"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "وبهوکها"
@@ -3421,11 +3402,11 @@ msgstr "وبهوکها"
msgid "labels.write-new-comment"
msgstr "نظر جدید بنویس"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(شما)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "حساب شما"
@@ -3568,7 +3549,7 @@ msgstr ""
"شما تنها عضو برخی تیمها هستید. آن تیمها همراه با پروژهها و فایلهایشان "
"حذف خواهند شد."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "پیش از ترک سازمان"
@@ -3576,79 +3557,79 @@ msgstr "پیش از ترک سازمان"
msgid "modals.before-leave-organization.warning"
msgstr "هر تیمی که تنها عضو آن هستید حذف خواهد شد."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "جابهجایی بزرگ"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "تایید ایمیل جدید"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "برای تأیید هویت شما یک ایمیل به ایمیل فعلی شما \"%s\" ارسال میکنیم."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "ایمیل جدید"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "تغییر ایمیل"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "ایمیل خود را تغییر دهید"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "ایجاد وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "ایجاد وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "نشانی اینترنتی payload"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "لغو و نگهداشتن حساب من"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "بله، حسابم رو حذف کن"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"با حذف کردن حساب خود، تمام پروژهها و آرشیوهای فعلی خود را از دست خواهید "
"داد."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"این اقدام برگشتناپذیر است. حساب، اشتراک و سازمانهای شما فوراً حذف خواهند "
"شد. همچنین دسترسی خود را به پروژهها و فایلهای فعلیتان از دست خواهید داد."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "سازمانهایی که حذف خواهند شد"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s عضو"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s تیم"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "آیا مطمئن هستید که میخواهید حساب خود را حذف کنید؟"
@@ -3708,23 +3689,23 @@ msgstr "آیا مطمئن هستید که میخواهید فایلهای
msgid "modals.delete-file-multi-confirm.title"
msgstr "در حال حذف %s فایلها"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"آیا مطمئن هستید که میخواهید این سبک فونت را حذف کنید؟ اگر در یک فایل "
"استفاده شود، بارگیری نمیشود."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "درحال حذف استایل فونت"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"آیا مطمئن هستید که میخواهید این فونت را حذف کنید؟ اگر در یک فایل استفاده "
"شود، بارگیری نمیشود."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "درحال حذف فونت"
@@ -3732,19 +3713,19 @@ msgstr "درحال حذف فونت"
msgid "modals.delete-organization-team-confirm.message"
msgstr "آیا مطمئنید میخواهید این تیمِ عضو سازمان %s را حذف کنید؟"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "آیا مطمئن هستید که میخواهید این صفحه را حذف کنید؟"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "حذف صفحه"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "آیا مطمئنید میخواهید صفحات انتخابشده را حذف کنید؟"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "حذف صفحات"
@@ -3760,31 +3741,31 @@ msgstr "آیا مطمئن هستید که میخواهید این پروژه
msgid "modals.delete-project-confirm.title"
msgstr "حذف پروژه"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "حذف فایل"
msgstr[1] "حذف فایلها"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "در هیچ فایلی فعال نیست."
msgstr[1] "در هیچ فایلی فعال نیستند."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "این کتابخانه در اینجا فعال است: "
msgstr[1] "این کتابخانهها در اینجا فعال هستند: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "آیا مطمئن هستید که میخواهید این فایل را حذف کنید؟"
msgstr[1] "آیا مطمئن هستید که میخواهید این فایلها را حذف کنید؟"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "درحال حذف فایل"
@@ -3804,19 +3785,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "درحال حذف تیم"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "حذف عضو"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "آیا مطمئن هستید که میخواهید این عضو را از تیم حذف کنید؟"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "حذف عضو تیم"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3826,23 +3807,23 @@ msgstr[1] ""
"داراییهایی که قبلاً در آن فایلها استفاده شدهاند، همانجا باقی میمانند "
"(طراحی خراب نمیشود)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "حذف وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "آیا مطمئنید میخواهید این وبهوک را حذف کنید؟"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "حذف وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "ویرایش وبهوک"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "ویرایش وبهوک"
@@ -3860,15 +3841,15 @@ msgstr "درونریزی توکنها"
msgid "modals.import-library-tokens.title"
msgstr "توکنها از کتابخانه درونریزی شوند؟"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "ارسال دعوتنامه"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "ایمیلها، با کاما از هم جدا شدهاند"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "برخی اعضا از قبل در تیم هستند. بقیه را دعوت میکنیم."
@@ -3888,97 +3869,97 @@ msgstr ""
"فقط اعضای سازمان «%s» را میتوان به این تیم دعوت کرد و همهٔ آنها از قبل "
"عضو تیم هستند. برای اطلاعات بیشتر با مالک سازمان تماس بگیرید."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "نشانیهایی که دعوتنامه دریافت نمیکنند"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "لغو"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "فقط اعضای فعلی سازمان را میتوان دعوت کرد."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "ارسال دعوتنامهها"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "برخی دعوتنامهها قابل ارسال نیستند"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "برخی افراد فهرست شما دعوتنامه را دریافت نخواهند کرد."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"میتوانید اعضا را به تیم دعوت کنید تا بتوانند به این فایل و همهٔ فایلهای "
"تیم دسترسی داشته باشند."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "دعوت اعضا به تیم"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"از آنجایی که شما تنها عضو این تیم هستید، تیم به همراه پروژهها و فایلهایش "
"حذف خواهد شد."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "آیا مطمئنید که میخواهید تیم %s را ترک کنید؟"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"اگر عضو دیگری برای ارتقا به مالک وجود نداشته باشد، نمیتوانید تیم را ترک "
"کنید. شاید بخواهید تیم را حذف کنید."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"شما مالک این تیم هستید. لطفاً قبل از ترک تیم، عضو دیگری را برای ارتقاء به "
"مالک انتخاب کنید."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "ارتقا و خروج"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "انتخاب یک عضو برای ارتقا"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "قبل از رفتن"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "خروج از تیم"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "آیا مطمئنید که میخواهید این تیم را ترک کنید؟"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "درحال ترک تیم"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr "مالک تیمهای برخی سازمانها هستید. لطفاً عضو دیگری را به مالک ارتقا دهید."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"شما تنها عضو برخی تیمها هستید. آن تیمها همراه با پروژهها و فایلهایشان "
"حذف خواهند شد."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"همچنین، مالک تیمهای برخی سازمانها هستید. لطفاً عضو دیگری را به مالک ارتقا "
@@ -3998,57 +3979,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "سازمان %s را ترک میکنید؟"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "انتقال"
msgstr[1] "انتقال"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "آیا مطمئنید میخواهید این کتابخانه را منتقل کنید؟"
msgstr[1] "آیا مطمئنید میخواهید این کتابخانهها را منتقل کنید؟"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "انتقال کتابخانه"
msgstr[1] "انتقال کتابخانهها"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "مقدار جابهجایی"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "انتقال مالکیت"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"اگر مالکیت را منتقل کنید، نقش خود را به مدیر تغییر میدهید و برخی از "
"مجوزهای این تیم را از دست میدهید. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"شما مالک فعلی این تیم هستید. آیا مطمئنید که میخواهید %s را مالک جدید تیم "
"کنید؟"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "مالک جدید تیم"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "انتشار"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "کتابخانهٔ شما خالی است. آیا مطمئنید میخواهید آن را منتشر کنید؟"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "انتشار کتابخانهٔ خالی"
@@ -4070,23 +4051,23 @@ msgstr "آیا مطمئنید میخواهید تیم «%s» را از ساز
msgid "modals.remove-team-organization.title"
msgstr "حذف تیم از سازمان"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "جابهجایی کوچک"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "لغو انتشار"
msgstr[1] "لغو انتشار"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "آیا مطمئنید میخواهید انتشار این کتابخانه را لغو کنید؟"
msgstr[1] "آیا مطمئنید میخواهید انتشار این کتابخانهها را لغو کنید؟"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "لغو انتشار کتابخانه"
@@ -4176,38 +4157,38 @@ msgstr "فعالسازی"
msgid "nitrate.code-activation.title"
msgstr "فعالسازی Nitrate"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "تماس با فروش"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"برای تغییر به این طرح، لطفاً با تیم فروش ما تماس بگیرید. ما به شما کمک "
"میکنیم اشتراکتان را بهروزرسانی کنید و مطمئن شویم همهچیز بهدرستی تنظیم "
"شده است."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "سازمان شما حذف خواهد شد."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"فضای ذخیرهسازی کل، تاریخچهٔ نسخههای خودکار و دورهٔ بازیابی فایل شما محدود "
"خواهند شد."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"تیمها، پروژهها و فایلها دیگر بخشی از هیچ سازمانی نخواهند بود، اما همچنان "
"در دسترس میمانند."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "هنگام تنزل طرح:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "به طرح %s تغییر دهید؟"
@@ -4223,15 +4204,15 @@ msgstr "برای امتحان کردن طرح سازمانی بهمدت ۱۴
msgid "nitrate.form.contact-upgrade"
msgstr "برای ارتقا به طرح سازمانی با ما تماس بگیرید:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "برای امتحان کردن طرح سازمانی بهمدت ۱۴ روز با ما تماس بگیرید:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "برای ارتقا به طرح سازمانی با ما تماس بگیرید:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"اکنون هزینهای از شما دریافت نمیشود. پرداخت در پایان دورهٔ آزمایشی پردازش "
@@ -4251,7 +4232,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "آزادی کامل متنباز، همراه با حاکمیتی که سازمان شما نیاز دارد"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "همهٔ آنچه تیمهایتان برای کار ایمن در مقیاس بزرگ نیاز دارند%s"
@@ -4259,7 +4240,7 @@ msgstr "همهٔ آنچه تیمهایتان برای کار ایمن در م
msgid "nitrate.form.enterprise.price"
msgstr "بهازای هر عضو در ماه"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "۱۴ روز رایگان امتحان کنید"
@@ -4275,7 +4256,7 @@ msgstr "شروع با طرح سازمانی"
msgid "nitrate.form.subscribe-with-code"
msgstr "اشتراک با کد فعالسازی"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "فعالسازی ویژگیهای سازمانی"
@@ -4287,7 +4268,7 @@ msgstr "بهمدت ۱۴ روز رایگان امتحان کنید"
msgid "nitrate.modal-success.title"
msgstr "به طرح سازمانی خوش آمدید!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "فعال تا %s"
@@ -4295,23 +4276,23 @@ msgstr "فعال تا %s"
msgid "nitrate.subscription.renew-success"
msgstr "اشتراک Nitrate شما تمدید شد."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "لغو اشتراک"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "برای لغو اشتراک Nitrate خود، لطفاً از این طریق با ما تماس بگیرید:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "تمدید با کد فعالسازی"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "این صفحه وجود ندارد"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "خطای ۴۰۴"
@@ -4327,11 +4308,11 @@ msgstr "ایمیل بازیابی را به این نشانی ارسال کرد
msgid "not-found.login.sent-recovery-check"
msgstr "ایمیلتان را بررسی کنید و برای ایجاد گذرواژهٔ جدید روی پیوند کلیک کنید."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "ثبتنام رایگان"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "و در چند ثانیه استفاده از Penpot را شروع کنید!"
@@ -4339,67 +4320,67 @@ msgstr "و در چند ثانیه استفاده از Penpot را شروع کن
msgid "not-found.made-with-love"
msgstr "ساختهشده با عشق و متنباز"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "قبلاً برای دسترسی به این فایل درخواست دادهاید."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"قبلاً برای دسترسی به این فایل یا فایلها یا پروژههای دیگر این تیم درخواست "
"دادهاید."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"قبلاً برای دسترسی به این پروژه یا پروژهها یا فایلهای دیگر این تیم درخواست "
"دادهاید."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "قبلاً برای دسترسی به این پروژه درخواست دادهاید."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "درخواست دسترسی"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "به یاد داشته باشید که اگر مالک اجازه دهد، به تیم دعوت خواهید شد."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "درخواست شما با موفقیت ارسال شد!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "به این فایل دسترسی ندارید."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "رفتن به Penpot شما"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "اگر مالک اجازه دهد، به تیم دعوت خواهید شد."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "فایل Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "به این پروژه دسترسی ندارید."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "پروژه"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "برای دسترسی به این فایل، میتوانید از مالک تیم درخواست کنید."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "برای دسترسی به این پروژه، میتوانید از مالک تیم درخواست کنید."
@@ -4413,31 +4394,31 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "نسخهٔ جدیدی در دسترس است."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "این دعوتنامه دیگر در دسترس نیست."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "دعوت با موفقیت حذف شد"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "دعوت با موفقیت ارسال شد"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "پیوند دعوت کپی شد"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "نمیتوانید پروفایل خود را حذف کنید. پیش از ادامه، تیمهایتان را واگذار کنید."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "پروفایل با موفقیت ذخیره شد!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "ایمیل تأیید به %s ارسال شد. ایمیلتان را بررسی کنید!"
@@ -4475,7 +4456,7 @@ msgstr "نام تیم"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "ایجاد تیم"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "دعوت از اعضا"
@@ -4485,98 +4466,98 @@ msgstr ""
"توسعهدهندگان، طراحان، مدیران... همه خوشآمدند. بعداً میتوانید افراد "
"بیشتری دعوت کنید."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "دعوت با نقش زیر:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "شروع کنیم!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "تولید کد واقعی از طرحها"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "ایجاد سیستمهای طراحی"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "نمونهسازی اولیه"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "طراحی رابط کاربری/تجربهٔ کاربری یک برنامه"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "وایرفریمسازی"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "از Penpot برای چه کاری استفاده خواهید کرد؟"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"کمی دربارهٔ خودتان به ما بگویید تا کمک کنیم Penpot برای شما بهتر کار کند. "
"پاسخهای شما به ما کمک میکند ویژگیهای جدید را اولویتبندی کنیم و برای "
"شروع، شما را در مسیر درست قرار دهیم."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "به ما کمک کنید شما را بشناسیم"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "بیشتر از کدامیک از این ابزارها استفاده میکنید؟"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "چه نوع کاری انجام میدهید؟"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "اندازهٔ شرکت شما چقدر است؟"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "از کجا دوست دارید شروع کنید؟"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "۱٬۰۰۱ - ۵٬۰۰۰"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "۱۰۱ - ۵۰۰"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "۲ - ۱۰۰"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "۵۰۱ - ۱٬۰۰۰"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "فقط من"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "۵٬۰۰۱+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "آموزش"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "شخصی"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "کار"
@@ -4658,11 +4639,11 @@ msgstr "بازیابی پیکربندی پیشفرض"
msgid "restore-shortcuts.restore"
msgstr "بازیابی"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "جدا کردن"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "مخلوط"
@@ -4674,35 +4655,35 @@ msgstr "حذف رنگ"
msgid "settings.select-this-color"
msgstr "انتخاب موارد با استفاده از این سبک"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "نظرات"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "تراز به پایین"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "تراز افقی در مرکز"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "تراز چپ"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "تراز راست"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "تراز بالا"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "تراز عمودی در مرکز"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "ایجاد آرتبورد از انتخاب"
@@ -4710,55 +4691,55 @@ msgstr "ایجاد آرتبورد از انتخاب"
msgid "shortcuts.bold"
msgstr "تغییر وضعیت پررنگ"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "تفاضل بولی"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "استثنای بولی"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "اشتراک بولی"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "اجتماع بولی"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "فرستادن به پشت"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "فرستادن به عقب"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "آوردن به جلو"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "آوردن به پیشزمینه"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "پاک کردن واگرد"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "کپی"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "کپی پیوند"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "کپی ویژگیها"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "ایجاد مؤلفه / گونه"
@@ -4766,63 +4747,63 @@ msgstr "ایجاد مؤلفه / گونه"
msgid "shortcuts.create-new-project"
msgstr "ایجاد جدید"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "برش"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "کوچکنمایی"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "حذف"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "حذف گره"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "گره و قطعهها را حذف کنید"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "لغو انتخاب همه"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "جدا کردن مؤلفه"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "غیرفعال کردن میانبر"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "غیرفعال"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "میانبر غیرفعال"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "پیکان"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "منحنی"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "بیضی"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "آرتبورد"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "خط"
@@ -4830,63 +4811,63 @@ msgstr "خط"
msgid "shortcuts.draw-nodes"
msgstr "رسم مسیر"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "مسیر"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "مستطیل"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "متن"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "تکثیر"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "این ترکیب به «%s» اختصاص داده شده است. ذخیره کردن آن را از آنجا حذف میکند."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "اگر ذخیره کنید، این میانبر به مقدار اصلی برمیگردد:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "این ترکیب کلید در دسترس است و میتوان آن را بدون تداخل اختصاص داد."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "سفارشیسازی در تنظیمات"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "لغو"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "خروجی گرفتن از شکلها"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "یافتن"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "یافتن و جایگزینی"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "بزرگنمایی برای نمایش همه"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "حرکت افقی"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "حرکت عمودی"
@@ -4910,27 +4891,27 @@ msgstr "رفتن به کتابخانههای اشتراکی"
msgid "shortcuts.go-to-search"
msgstr "جستجو"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "گروه"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "توزیع افقی"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "نمایش / پنهان کردن رابط کاربری"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "درونریزی/خروجی"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "بزرگنمایی"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "درج تصویر"
@@ -4938,11 +4919,11 @@ msgstr "درج تصویر"
msgid "shortcuts.italic"
msgstr "تغییر وضعیت ایتالیک"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "اتصال گرهها"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "ترکیب کلید را فشار دهید"
@@ -4950,39 +4931,39 @@ msgstr "ترکیب کلید را فشار دهید"
msgid "shortcuts.line-through"
msgstr "تغییر وضعیت خطکشیده"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "ایجاد گوشه"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "ایجاد منحنی"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "ماسک"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "ادغام گرهها"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "انتقال"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "جابهجایی سریع به پایین"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "جابهجایی سریع به چپ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "جابهجایی سریع به راست"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "جابهجایی سریع به بالا"
@@ -4990,379 +4971,379 @@ msgstr "جابهجایی سریع به بالا"
msgid "shortcuts.move-nodes"
msgstr "جابهجایی گره"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "جابهجایی به پایین"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "جابهجایی به چپ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "جابهجایی به راست"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "جابهجایی به بالا"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "آرتبورد بعدی"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "میانبر غیرفعالی وجود ندارد"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "برای شروع سفارشیسازی میانبرهایتان به بخش «همه» بروید."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "هیچ میانبری با جستوجوی شما مطابقت ندارد"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "هیچ میانبری پیدا نشد"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "تنظیم شفافیت روی ۱۰۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "تنظیم شفافیت روی ۱۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "تنظیم شفافیت روی ۲۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "تنظیم شفافیت روی ۳۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "تنظیم شفافیت روی ۴۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "تنظیم شفافیت روی ۵۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "تنظیم شفافیت روی ۶۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "تنظیم شفافیت روی ۷۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "تنظیم شفافیت روی ۸۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "تنظیم شفافیت روی ۹۰٪"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "انتخابگر رنگ"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "رفتن به بخش دیدگاههای نمایشگر"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "رفتن به داشبورد"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "رفتن به بخش بازرسی نمایشگر"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "رفتن به بخش تعاملهای نمایشگر"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "رفتن به بخش تعاملهای نمایشگر"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "رفتن به فضای کاری"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " یا "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "این میانبر به %s اختصاص داده شده است"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "صفحهٔ میانبرها"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "چسباندن"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "چسباندن ویژگیها"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "جایگذاری و جایگزینی"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "شخصیسازیشده"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "مدیر افزونهها"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "آرتبورد قبلی"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "انجام دوباره"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"پس از ویرایش میانبرها، برای اعمال تغییرات هر زبانهٔ باز دیگر Penpot را "
"دوباره بارگیری کنید."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "تغییر نام"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "بازنشانی به پیشفرض"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "بازنشانی بزرگنمایی"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "مقیاسگذاری"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "اصول"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "داشبورد"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "بیننده"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "فضای کاری"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "انتخاب همه"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "انتخاب لایهٔ بعدی"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "انتخاب لایهٔ والد"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "انتخاب لایهٔ قبلی"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "جداسازی گرهها"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "نمایش اندازهگیریها"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "نمایش / پنهان کردن شبکهٔ پیکسلی"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "نمایش / پنهان کردن میانبرها"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "چفت شدن به گرهها"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "چفت شدن به شبکهٔ پیکسلی"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "شروع ویرایش"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "تراز"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "ویرایش"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "عمومی"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "منوی اصلی"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "تغییر لایهها"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "پیمایش"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "پیمایش"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "پیمایش"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "پنلها"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "مسیرها"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "شکلها"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "متنها"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "ابزار"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "بزرگنمایی"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "بزرگنمایی"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "تنظیم تصاویر بندانگشتی"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "میانبرهای صفحهکلید"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "تغییر وضعیت تراز پویا"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "تغییر وضعیت داراییها"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "تغییر وضعیت پالت رنگ"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "تغییر وضعیت نمایش دیدگاهها"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "تغییر وضعیت حالت تمرکز"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "تغییر وضعیت تمامصفحه"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "نمایش / پنهان کردن راهنماها"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "تغییر وضعیت تاریخچه"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "تغییر وضعیت لایهها"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "افزودن / حذف چیدمان فلکس"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "افزودن / حذف چیدمان شبکه"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "قفل کردن / باز کردن قفل"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "قفل کردن تناسبها"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "نمایش / پنهان کردن خطکشها"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "چفت شدن به راهنماها"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "چفت شدن به راهنماهای خطکش"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "تغییر وضعیت پالت متن"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "تغییر پوسته"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "نمایش / پنهان کردن"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "تغییر وضعیت سبک بزرگنمایی"
@@ -5370,31 +5351,31 @@ msgstr "تغییر وضعیت سبک بزرگنمایی"
msgid "shortcuts.underline"
msgstr "تغییر وضعیت زیرخط"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "واگرد"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "حذف گروه"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "برداشتن ماسک"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "توزیع به صورت عمودی"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "کاهش بزرگنمایی لنز"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "افزایش بزرگنمایی لنز"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "بزرگنمایی روی انتخابشده"
@@ -5413,7 +5394,7 @@ msgstr "طرح سازمانی را در عمل ببینید"
msgid "subscription.current-plan.enterprise"
msgstr "سازمانی"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "سازمانی"
@@ -5425,7 +5406,7 @@ msgstr "دورهٔ آزمایشی سازمانی"
msgid "subscription.current-plan.professional"
msgstr "حرفهای"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "اشتراک شما"
@@ -5558,275 +5539,275 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "دعوت از افراد در طرح نامحدود"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "پرداخت تکمیل نشد. هر زمان آماده بودید دوباره امتحان کنید."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"پرداخت تکمیل نشد. لطفاً دوباره امتحان کنید. اگر مشکل ادامه داشت، با ما تماس "
"بگیرید: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "اشتراک"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "کد فعالسازی را وارد کنید"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "برای ادامه پس از دورهٔ آزمایشی، یک روش پرداخت اضافه کنید"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "کنسول مدیریت"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "همهٔ مزایای طرح حرفهای و:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "همهٔ مزایای طرح نامحدود و:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "همهٔ مزایای طرح نامحدود، بهعلاوه:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(× %s ویرایشگر)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "سازمانی"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "سازمانی (آزمایشی)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "نسخههای ذخیرهٔ خودکار ۹۰روزه و بازیابی فایل"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "صورتحساب ماهانهٔ ثابت"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "کنترل پیشرفته:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "امنیت سازمانی:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "مدیریت چندسازمانی:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "SAML/SSO بومی و ثبت کامل گزارش حسابرسی برای گزارشدهی انطباق."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"فهرست مجاز دقیق افزونهها، ازجمله سرور MCP امن و ایزولهٔ ما برای اتصال هوش "
"مصنوعی."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "پشتیبانی از سلسلهمراتب پیچیدهٔ تیمها و سازمانهای فرعی جداگانه."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "فضای ذخیرهسازی نامحدود"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "مدیریت اشتراک"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "افزودن جزئیات پرداخت"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"اکنون جزئیات پرداخت خود را اضافه کنید تا پس از دورهٔ آزمایشی اشتراکتان بدون "
"مشکل ادامه یابد و همچنان از پروژهٔ متنباز ما پشتیبانی کنید. هنوز هزینهای "
"از شما دریافت نمیشود."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "فعلاً رد شوید و دورهٔ آزمایشی را شروع کنید"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "به رشد ما کمک کنید و دورهٔ آزمایشیتان را آسانتر کنید"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "در حال حاضر، در تیمهایتان %s نفر ویرایشگر دارید که میتواند ویرایش کند."
msgstr[1] "در حال حاضر، در تیمهایتان %s نفر ویرایشگر دارید که میتوانند ویرایش کنند."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"توجه: تغییر به طرح پایینتر به معنای فضای ذخیرهسازی کمتر و پشتیبانگیری و "
"تاریخچهٔ نسخهٔ کوتاهتر است."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "ویرایشگران"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(مالکان، مدیران و ویرایشگران. بینندگان جزو ویرایشگران محسوب نمیشوند)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"نمیتوانید تعداد ویرایشگران را کمتر از تعداد فعلی تنظیم کنید. برای افرادی "
"که واقعاً فایلهای تیم را ویرایش نمیکنند، نقش را از ویرایشگر یا مدیر به "
"بیننده تغییر دهید."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "پس از دورهٔ آزمایشی هزینه دریافت میشود. اکنون به کارت اعتباری نیاز نیست."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/ماه"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "اعمال %s روی تیمهایتان"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"نکته: میتوانید همین حالا تعداد صندلیها را افزایش دهید تا از دعوتها جلو "
"باشید. با ۲۵ ویرایشگر یا بیشتر در تیمها، از صورتحساب ثابت ۱۷۵ دلار در ماه "
"بهرهمند میشوید."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "عضویت در Penpot از: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "اطلاعات بیشتر"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "عضو سازمان / ماه"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "طرحهای دیگر Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "سازمان در ماه"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "کاربر / ماه"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "حرفهای"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "نسخههای ذخیرهٔ خودکار ۷روزه و بازیابی فایل"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "همهٔ ویژگیهای طراحی و نمونهسازی اولیه. پشتیبانی جامعه."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "کنترل کامل بر دادهها و زیرساخت."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "کاربران، تیمها و فایلهای نامحدود."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "۱۰ گیگابایت فضای ذخیرهسازی"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "تیمهای نامحدود. حداکثر ۸ ویرایشگر در تیمهایی که مالکشان هستید."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "پیشنهادی"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "اشتراک شما"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "شروع دورهٔ آزمایشی رایگان"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "مشترک شدن"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "از %s در طرح %s هستید."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"هر زمان میتوانید اشتراک خود را از صفحهٔ «اشتراک» در جزئیات حسابتان ویرایش "
"کنید."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "از طرحتان لذت ببرید!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "از انتخاب طرح %s Penpot سپاسگزاریم!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "شما %s هستید!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "بهمدت ۱۴ روز رایگان امتحان کنید"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "نامحدود"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "نامحدود (آزمایشی)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "نسخههای ذخیرهٔ خودکار ۳۰روزه و بازیابی فایل"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "سقف صورتحساب ماهانه ۱۷۵ دلار"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "۲۵ گیگابایت فضای ذخیرهسازی"
@@ -5849,45 +5830,45 @@ msgstr "اگر میخواهید این حد را افزایش دهید، با
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "اگر میخواهید این حد را افزایش دهید، [طرح خود را ارتقا دهید|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "۱ دعوت انتخابشده"
msgstr[1] "%s دعوت انتخابشده"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "ارائهدهندگان فونت - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "فونتها - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "پروژهها - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "جستجو - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "کتابخانههای مشترک - %s - پنپات"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - طراحی آزاد برای تیمها"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "بازخورد بدهید - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "یکپارچهسازیها - Penpot"
@@ -5895,7 +5876,7 @@ msgstr "یکپارچهسازیها - Penpot"
msgid "title.settings.notifications"
msgstr "اعلانها - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "تنظیمات - Penpot"
@@ -5903,27 +5884,27 @@ msgstr "تنظیمات - Penpot"
msgid "title.settings.password"
msgstr "رمزعبور - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "پروفایل - پنپات"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "دعوتنامهها - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "اعضا - %s - پنپات"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "تنظیمات - %s - پنپات"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "وبهوکها - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - حالت مشاهده - پنپات"
@@ -5935,51 +5916,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "جدا کردن توکن"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "هیچ آرتبوردی در صفحه یافت نشد."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "آرتبورد یافت نشد."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "نظرات (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "تعاملات را نشان ندهید"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "تمام صفحه"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "بازرسی (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "تعاملات"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "تعاملات (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "کپی کردن لینک"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "نشان دادن تعاملات"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "نمایش تعاملات در کلیک"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "نقشه سایت"
@@ -6015,67 +5996,67 @@ msgstr "راهنمای "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "راهنمای رفع اشکال WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "رندر WebGL غیرفعال شد"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "رندر WebGL فعال شد"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "زمینهٔ WebGL از بین رفت"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "زمینهٔ WebGL بازیابی شد"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "آخرین تحویل موفق بود."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "تراز کردن مرکز افقی (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "توزیع فاصله افقی (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "تراز به چپ (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "تراز کردن به راست (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "تراز کردن پایین (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "تراز کردن مرکز عمودی (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "توزیع فاصله عمودی (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "تراز کردن بالا (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "افزودن کتابخانه"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "تمام داراییها"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "رنگها"
@@ -6087,7 +6068,7 @@ msgstr "افزودن رنگ"
msgid "workspace.assets.component-group-options"
msgstr "گزینههای گروه مؤلفه"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "کامپوننتها"
@@ -6095,7 +6076,7 @@ msgstr "کامپوننتها"
msgid "workspace.assets.components.add-component"
msgstr "افزودن مؤلفه"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s گونه"
@@ -6103,11 +6084,11 @@ msgstr "%s گونه"
msgid "workspace.assets.create-group"
msgstr "ایجاد یک گروه"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "آیتمهای شما به طور خودکار به عنوان \"نام گروه / نام آیتم\" نامگذاری میشوند"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "حذف"
@@ -6115,11 +6096,11 @@ msgstr "حذف"
msgid "workspace.assets.delete-group"
msgstr "حذف گروه"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "حذف صفحات"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "تکثیر"
@@ -6127,39 +6108,39 @@ msgstr "تکثیر"
msgid "workspace.assets.duplicate-main"
msgstr "تکثیر اصلی"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "ویرایش"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "فیلتر"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "نمای شبکهای"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "گروه"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "نام گروه"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "نمای فهرستی"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "کتابخانهٔ محلی"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "مدیریت کتابخانه"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "هیچ داراییای پیدا نشد"
@@ -6167,7 +6148,7 @@ msgstr "هیچ داراییای پیدا نشد"
msgid "workspace.assets.open-library"
msgstr "باز کردن فایل کتابخانه"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "تغییرنام"
@@ -6175,11 +6156,11 @@ msgstr "تغییرنام"
msgid "workspace.assets.rename-group"
msgstr "تغییر نام گروه"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "جستوجوی داراییها"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "کتابخانهٔ اشتراکی"
@@ -6189,43 +6170,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "۱ مؤلفه"
msgstr[1] "%s مؤلفه"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "مرتبسازی"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "تایپوگرافیها"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "افزودن تایپوگرافی"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "اندازه"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "استایل فونت"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "برای ویرایش، به فایل کتابخانهٔ سبک بروید"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "فاصلهٔ حروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "ارتفاع خط"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "مثال"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "تبدیل متن"
@@ -6233,15 +6214,15 @@ msgstr "تبدیل متن"
msgid "workspace.assets.ungroup"
msgstr "حذف گروه"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "در حال کپی تصویر…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "تصویر در کلیپبورد کپی شد"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "خطا در کپی تصویر"
@@ -6249,85 +6230,85 @@ msgstr "خطا در کپی تصویر"
msgid "workspace.colorpicker.color-tokens"
msgstr "توکنهای رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "مؤلفهها نمیتوانند درون خودشان تو در تو شوند."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"برخی کپیها قابل تعویض نبودند. مؤلفهها نمیتوانند درون خودشان تو در تو "
"شوند."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "ایجاد ناحیه"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "کپی ستونها"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "کپی ردیفها"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "ایجاد آرتبورد"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "ادغام سلولها"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "جایگذاری"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "افزودن ۱ ستون به راست"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "افزودن ۱ ستون به چپ"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "حذف ستون"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "حذف ستون و شکلها"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "تکثیر ستون"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "افزودن ۱ ردیف در پایین"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "افزودن ۱ ردیف در بالا"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "حذف ردیف"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "حذف ردیف و شکلها"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "تکثیر ردیف"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "رنگ راهنما"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "حذف راهنما"
@@ -6335,15 +6316,15 @@ msgstr "حذف راهنما"
msgid "workspace.debug.title"
msgstr "ابزارهای اشکالزدایی"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "حالت تمرکز"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "خاموش کردن تمرکز"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "روشن کردن تمرکز"
@@ -6355,243 +6336,243 @@ msgstr "گرادیان خطی"
msgid "workspace.gradients.radial"
msgstr "گرادیان شعاعی"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "غیرفعال کردن تراز پویا"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "غیرفعال کردن مقیاسگذاری متناسب"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "غیرفعال کردن چسبیدن به راهنماها"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "غیرفعال کردن چفت شدن به پیکسل"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "غیرفعال کردن چفت شدن به راهنماهای خطکش"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "غیرفعال کردن رندر WebGL (بتا)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "فعال کردن تراز پویا"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "فعال کردن مقیاسگذاری متناسب"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "چسبیدن به راهنماها"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "فعال کردن چفت شدن به پیکسل"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "چفت شدن به راهنماهای خطکش"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "فعال کردن رندر WebGL (بتا)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "یافتن"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "یافتن و جایگزینی"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "پنهان کردن نام آرتبوردها"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "پنهان کردن دیدگاهها"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "پنهان کردن راهنماها"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "پنهان کردن پالت رنگ"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "پنهان کردن شبکهٔ پیکسلی"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "پنهان کردن خطکشها"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "پنهان کردن پالت فونتها"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "قفل کردن راهنماها"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "اتصال"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "قطع اتصال"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "مدیریت (وضعیت: غیرفعال)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "مدیریت (وضعیت: فعال)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "ویرایش"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "فایل"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "راهنما و اطلاعات"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "سرور MCP"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "اولویتها"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "بازدید"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "انجام دوباره"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "انتخاب همه"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "نمایش نام آرتبوردها"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "نمایش دیدگاهها"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "نمایش راهنماها"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "نمایش پالت رنگ"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "نمایش شبکهٔ پیکسلی"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "نمایش خطکشها"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "نمایش پالت فونتها"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "رفتن به پوستهٔ تیره"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "رفتن به پوستهٔ روشن"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "رفتن به پوستهٔ سیستم"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "واگرد"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "باز کردن قفل راهنماها"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "بازنشانی"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "خطا در ذخیره"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "ذخیرهشد"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "ذخیرهکردن"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "اشتراکگذاری"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "حالت نمایش (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "بزرگنمایی"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "پر کردن - مقیاسگذاری برای پر کردن"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "جا دادن - کوچکنمایی برای جا شدن"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "بزرگنمایی برای نمایش همه"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "تمامصفحه"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "بزرگنمایی روی انتخابشده"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "ویرایش شبکه"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "خروج"
@@ -6599,7 +6580,7 @@ msgstr "خروج"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "فاصلهٔ داخلی پایین"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "نمایش گزینههای فاصلهٔ داخلی چهارطرفه"
@@ -6635,37 +6616,37 @@ msgstr "انجام شد"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "یافتن"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "یافتن چیدمان شبکه"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "۱ رنگ"
msgstr[1] "%s رنگ"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "افزودن رنگ به کتابخانه"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "هنوز هیچ سبک رنگی در کتابخانهٔ شما وجود ندارد"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "هنوز رنگ اخیری وجود ندارد"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "هنوز هیچ سبک تایپوگرافی در کتابخانهٔ شما وجود ندارد"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "کتابخانهٔ فایل"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "رنگهای اخیر"
@@ -6677,75 +6658,75 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "ذخیره استایل رنگ"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "تغییر وضعیت پالت رنگ"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "۱ مؤلفه"
msgstr[1] "%s مؤلفه"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "متصل به"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "یا برای امتحان، یکی از این موارد را اضافه کنید:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "در تیم شما کتابخانهٔ اشتراکیای وجود ندارد؛ میتوانید در اینجا جستوجو کنید"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "چند قالب در اینجا"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "کتابخانهٔ فایل"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "۱ گرافیک"
msgstr[1] "%s گرافیک"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "کتابخانهها در این فایل"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "کتابخانهها"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "بهروزرسانیهای کتابخانه"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "در حال بارگیری…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "هیچ کتابخانه مشترکی وجود ندارد که نیاز به بهروزرسانی داشته باشد"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "برای «%s» موردی پیدا نشد"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "جستجوی کتابخانههای مشترک"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "کتابخانههای مشترک"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "اتصال کتابخانه"
@@ -6769,25 +6750,25 @@ msgstr "لغو پیوند همهٔ داراییها"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "جدا کردن همهٔ توکنها"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "۱ تایپوگرافی"
msgstr[1] "%s تایپوگرافی"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "قطع اتصال کتابخانه"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "بهروزرسانی"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "مشاهدهٔ همهٔ تغییرات"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "بهروزرسانیها"
@@ -6849,7 +6830,7 @@ msgstr "تغییر وضعیت تاری"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "نمایش/پنهان کردن گزینههای بیشتر"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "لغو"
@@ -6857,117 +6838,117 @@ msgstr "لغو"
msgid "workspace.options.canvas-background"
msgstr "پسزمینهٔ بوم"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "برش محتوا"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "کامپوننت"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "حاشیهنویسی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "کپی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "ایجاد حاشیهنویسی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "ویرایش حاشیهنویسی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "اصلی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "تعویض مؤلفه"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "هنوز هیچ داراییای در این کتابخانه وجود ندارد"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "پیوندنشده"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "یافتن گونههای متعارض"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"این مؤلفه گونههای متعارض دارد. مطمئن شوید هر گونه مجموعهٔ منحصربهفردی از "
"مقادیر ویژگیها داشته باشد."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "یافتن گونههای تکراری"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "برخی گونهها ویژگیها و مقادیر یکسان دارند"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"این گونهها ویژگیها و مقادیر یکسان دارند. مقادیر را تغییر دهید تا بتوان "
"آنها را بازیابی کرد."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"این گونه ویژگیها و مقادیر یکسانی با گونهٔ دیگری دارد. مقادیر را تغییر دهید "
"تا بتوان آن را بازیابی کرد."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"برخی از این گونهها ویژگیها و مقادیر یکسان دارند. مقادیر را تغییر دهید تا "
"بتوان آنها را بازیابی کرد."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"این مؤلفه گونههایی با نامهای نامعتبر دارد. مطمئن شوید هر گونه از ساختار "
"درست پیروی میکند."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "یافتن گونههای نامعتبر"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "برخی گونهها نامعتبرند"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "یافتن گونههای نامعتبر"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "نام این گونهها نامعتبر است."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "نام این گونه نامعتبر است."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "نام برخی از این گونهها نامعتبر است."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[property]=[value], [property]=[value]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "ساختار زیر را امتحان کنید:"
@@ -7003,7 +6984,7 @@ msgstr "سطح یکسانی در سلسلهمراتب دارند."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "گروهها، آرتبوردها و چیدمانها معادل در نظر گرفته میشوند."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "گونهها چگونه متصل میمانند"
@@ -7051,11 +7032,11 @@ msgstr "بالا و پایین"
msgid "workspace.options.convert-to-typography"
msgstr "ایجاد سبک تایپوگرافی"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "طراحی"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "اکسپورت"
@@ -7063,53 +7044,53 @@ msgstr "اکسپورت"
msgid "workspace.options.export-multiple"
msgstr "خروجی گرفتن از انتخاب"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "خروجی ۱ عنصر"
msgstr[1] "خروجی %s عنصر"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "افزودن خروجی"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "حذف خروجی"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "پسوند"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "سرویس خروجیگیری مشغول است؛ لطفاً بعداً دوباره تلاش کنید"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "خروجیگیری لغو شد"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "در حال لغو..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "خروجی با موفقیت انجام شد"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "درحال گرفتن خروجی…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "خروجی ناموفق بود"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "خروجی بهطور غیرمنتظرهای کند است"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "در انتظار..."
@@ -7129,7 +7110,7 @@ msgstr "حذف پر"
msgid "workspace.options.fill.section"
msgstr "بخش پر"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "تغییر اندازهٔ آرتبورد برای جا دادن محتوا"
@@ -7153,67 +7134,67 @@ msgstr "شروعهای جریان"
msgid "workspace.options.grid.auto"
msgstr "خودکار"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "ستونها"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "فاصلهٔ بین ستونها"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "ارتفاع"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "لبه"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "تنظیم به عنوان پیشفرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "پایین"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "مرکز"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "چپ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "راست"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "کشیده"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "بالا"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "استفاده از پیشفرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "پهنا"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "ردیفها"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "مربع"
@@ -7225,7 +7206,7 @@ msgstr "پر گروه"
msgid "workspace.options.group-stroke"
msgstr "استروک گروه"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "افزودن راهنما"
@@ -7233,19 +7214,19 @@ msgstr "افزودن راهنما"
msgid "workspace.options.guides.remove-guide"
msgstr "حذف راهنما"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "راهنماها"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "تغییر وضعیت راهنما"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "بلندی"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "بازرسی"
@@ -7461,115 +7442,115 @@ msgstr "تعاملات"
msgid "workspace.options.interactions.add-interaction"
msgstr "افزودن تعامل"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "تیرهسازی رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "روشنسازی رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "تاریک"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "تفاوت"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "استثنا"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "نور سخت"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "رنگ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "روشن کردن"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "درخشندگی"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "تکثیر"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "معمولی"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "پوشش"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "اشباع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "صفحه نمایش"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "نور نرم"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "بخش منوی لایه"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "تغییر وضعیت نمایش لایه"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "بیشینهٔ ارتفاع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "بیشینهٔ عرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "کمینهٔ ارتفاع"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "کمینهٔ عرض"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "رنگهای بیشتر"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "رنگهای بیشترِ کتابخانه"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "توکنهای رنگ بیشتر"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "پیشتنظیم اندازهٔ منطبقی پیدا نشد"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "شفافیت"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "پروتوتایپ"
@@ -7605,23 +7586,23 @@ msgstr "بخش شعاع حاشیه"
msgid "workspace.options.radius.show-single-corners"
msgstr "نمایش شعاعهای مستقل"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "اخیر"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "تلاش دوباره"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "چرخش"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "جستوجوی فونت"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "جستوجوی پیشتنظیم اندازه"
@@ -7629,11 +7610,11 @@ msgstr "جستوجوی پیشتنظیم اندازه"
msgid "workspace.options.select-a-shape"
msgstr "یک شکل، برد یا گروه را برای کشیدن اتصال به تابلوی دیگر انتخاب کنید."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "رنگهای انتخابشده"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "بخش انتخاب رنگ"
@@ -7701,55 +7682,55 @@ msgstr "تغییر وضعیت سایه"
msgid "workspace.options.show-fill-on-export"
msgstr "نمایش در خروجیها"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "نمایش در حالت نمایش"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "اندازه"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "پیشتنظیمهای اندازه"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "قفل نسبت"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "باز کردن قفل نسبت"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "دایره"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "لوزی"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "پیکان"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "هیچیک"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "گردی"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "مربع"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "مستطیل"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "مثلث"
@@ -7757,31 +7738,31 @@ msgstr "مثلث"
msgid "workspace.options.stroke-color"
msgstr "رنگ استروک"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "خطچین"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "فاصله"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "ضخامت استروک"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "پایین (انتهای بلوک)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "چپ (ابتدای درونخطی)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "راست (انتهای درونخطی)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "بالا (شروع بلوک)"
@@ -7789,49 +7770,49 @@ msgstr "بالا (شروع بلوک)"
msgid "workspace.options.stroke.add-stroke"
msgstr "افزودن رنگ استروک"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "مرکز"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "نقطهچین"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "خطچین"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "داخل"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "مخلوط"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "خارج"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "استروک برای هر طرف"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"قابلیت استروک برای هر طرف فقط در رندر جدید در دسترس است. برای استفاده از "
"آن، رندر را به رندر جدید تغییر دهید."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "حذف رنگ استروک"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "یکدست"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "تغییر وضعیت استروک"
@@ -7867,11 +7848,11 @@ msgstr "عرض خودکار"
msgid "workspace.options.text-options.grow-fixed"
msgstr "درست شد"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "فاصله بین حروف"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "ارتفاع خط"
@@ -7919,224 +7900,224 @@ msgstr "خطزیر (%s)"
msgid "workspace.options.use-play-button"
msgstr "از دکمه پخش در هدر برای اجرای نمای پروتوتایپ استفاده کنید."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "پهنا"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "رسم گرهها (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "همراستا"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "مستقل"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "برابر"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "رفتار دستگیره"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "اتصال گرهها (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "تبدیل به گوشه (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "تبدیل به منحنی (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "ادغام گرهها (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "انتقال گرهها (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "جداسازی گرهها (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "چفت کردن گرهها (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "باز کردن"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "[افزونههای بیشتر](%s) را کشف کنید"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "هنوز افزونهای نصب نشده است"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "مانیفست افزونه نادرست است."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "برای استفاده از این افزونه باید ویرایشگر باشید"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "افزونه وجود ندارد یا نشانی اینترنتی صحیح نیست."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "نصب"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "افزونههای نصبشده"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "مدیر افزونهها"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "افزونهها"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "بهروزرسانی این افزونه"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"افزونه از آخرین باری که آن را باز کردید تغییر کرده است. اکنون میخواهد به "
"این مورد نیز دسترسی داشته باشد:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "شروع بارگیری فایلها."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "ذخیرهٔ داده در مرورگر."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "خواندن محتوای کلیپبورد شما."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "خواندن و نوشتن در کلیپبورد شما."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "خواندن دیدگاهها و پاسخهای شما."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "خواندن و تغییر دیدگاهها و پاسخ دادن از طرف شما."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "خواندن محتوای فایلهایی که کاربران به آنها دسترسی دارند."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "خواندن و تغییر محتوای فایلهایی که کاربران به آنها دسترسی دارند."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"توجه داشته باشید این افزونه توسط شخص ثالث ساخته شده است؛ بنابراین پیش از "
"اعطای دسترسی، از اعتماد خود به آن مطمئن شوید. حریم خصوصی و امنیت دادههای "
"شما برای ما مهم است. اگر نگرانی دارید، با پشتیبانی تماس بگیرید."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "خواندن کتابخانهها و داراییهای شما."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "خواندن و تغییر کتابخانهها و داراییهای شما."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "افزونهٔ «%s» میخواهد به موارد زیر دسترسی داشته باشد:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "خواندن اطلاعات پروفایل کاربر فعلی."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "فهرست افزونهها"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "حذف افزونه"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "نشانی افزونه را بنویسید"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "افزونهها"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "اکنون نه"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"میخواهید نگاهی بیندازید؟ این افزونه در پیشنویس جدیدی برای تیم فعلی شما "
"باز میشود. (اگر نه، همیشه میتوانید آن را در افزونههای نصبشدهٔ هر فایلی "
"پیدا کنید.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "افزونهٔ «%s» برای کاربر شما نصب شد!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "امتحان کردن افزونه"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "افزودن چیدمان فلکس"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "افزودن چیدمان شبکه"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "افزودن چیدمان"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "ایجاد گونه"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "افزودن ویژگی جدید"
@@ -8148,11 +8129,11 @@ msgstr "فرستادن به پشت"
msgid "workspace.shape.menu.backward"
msgstr "فرستادن به عقب"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "پاک کردن راهنماهای آرتبورد"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "ترکیب بهصورت گونه"
@@ -8160,7 +8141,7 @@ msgstr "ترکیب بهصورت گونه"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "مؤلفهها باید در یک صفحه باشند"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "کپی"
@@ -8204,27 +8185,27 @@ msgstr "کپی بهصورت متن"
msgid "workspace.shape.menu.create-annotation"
msgstr "ایجاد حاشیهنویسی"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "تبدیل انتخاب به آرتبورد"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "ایجاد کامپوننت"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "ایجاد چند مؤلفه"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "برش"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "حذف"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "حذف شروع جریان"
@@ -8236,7 +8217,7 @@ msgstr "جدا کردن نمونه"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "جدا کردن نمونهها"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "تفاوت"
@@ -8244,15 +8225,15 @@ msgstr "تفاوت"
msgid "workspace.shape.menu.duplicate"
msgstr "تکرار"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "ویزایش"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "مستثنا کردن"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "صاف"
@@ -8264,7 +8245,7 @@ msgstr "حرکت افقی"
msgid "workspace.shape.menu.flip-vertical"
msgstr "چرخش عمودی"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "شروع فلو"
@@ -8276,31 +8257,31 @@ msgstr "جلو بیاورید"
msgid "workspace.shape.menu.front"
msgstr "به جلو بیاورید"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "گروه"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "مخفی"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "نمایش/پنهان کردن رابط کاربری"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "تقاطع"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "قفل"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "ماسک"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "چسباندن"
@@ -8308,27 +8289,27 @@ msgstr "چسباندن"
msgid "workspace.shape.menu.paste-props"
msgstr "جایگذاری ویژگیها"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "مسیر"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "حذف چیدمان فلکس"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "حذف چیدمان شبکه"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "حذف چیدمان"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "حذف ویژگی"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "گونه باید دستکم یک ویژگی داشته باشد"
@@ -8352,11 +8333,11 @@ msgstr "بازیابی گونه"
msgid "workspace.shape.menu.select-layer"
msgstr "انتخاب لایه"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "نمایش"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "نمایش در پنل دارایی"
@@ -8364,7 +8345,7 @@ msgstr "نمایش در پنل دارایی"
msgid "workspace.shape.menu.show-main"
msgstr "نمایش کامپوننت اصلی"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "تبدیل استروک به مسیر"
@@ -8376,19 +8357,19 @@ msgstr "حذف تصویر کوچک"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "تنظیم بعنوان تصویر کوچک"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "حذف گروه"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "متحد"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "بازکردن قفل"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "حذف ماسک"
@@ -8404,79 +8385,79 @@ msgstr "جمع کردن نوار کناری"
msgid "workspace.sidebar.expand"
msgstr "گسترش نوار کناری"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "تاریخچه"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "لایهها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "کامپوننتها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "فیلتر"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "آرتبوردها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "گروهها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "تصاویر"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "ماسکها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "موردی یافت نشد"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "جایگزینی"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "جایگزینی همه"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "جایگزینی با..."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "جستوجوی لایهها…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "یافتن و جایگزینی"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "محتوای متن"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "نام لایهها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "شکلها"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "ویژگیهای SVG ایمپورت شد"
@@ -8488,7 +8469,7 @@ msgstr "صفحات"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "افزودن صفحه"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "نقشه سایت"
@@ -8516,7 +8497,7 @@ msgstr "افزودن مجموعه به این گروه"
msgid "workspace.tokens.add-token"
msgstr "افزودن توکن: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "اعمالشده روی"
@@ -8536,7 +8517,7 @@ msgstr "اندازهٔ فونت پایه"
msgid "workspace.tokens.base-font-size.error"
msgstr "اندازهٔ فونت پایه باید مقداری برحسب پیکسل یا بدون واحد باشد."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "رنگ"
@@ -8548,7 +8529,7 @@ msgstr "کپی مسیر توکن"
msgid "workspace.tokens.create-new-theme"
msgstr "همین حالا اولین پوستهتان را ایجاد کنید."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "ایجاد یکی."
@@ -8572,7 +8553,7 @@ msgstr "تکثیر توکن"
msgid "workspace.tokens.duplicate-group"
msgstr "تکثیر گروه توکنها"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "کپی"
@@ -8596,7 +8577,7 @@ msgstr "ویرایش توکن %s"
msgid "workspace.tokens.enter-token-name"
msgstr "نام توکن %s را وارد کنید"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr ""
"توکنها هنگام ویرایش متن قابل اعمال نیستند. بهجای آن، لایهٔ متن را انتخاب "
@@ -8626,7 +8607,7 @@ msgstr "پیشنمایش:"
msgid "workspace.tokens.export.single-file"
msgstr "یک فایل"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "اندازهٔ فونت یا {alias}"
@@ -8634,7 +8615,7 @@ msgstr "اندازهٔ فونت یا {alias}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "خطا در تنظیم وزن یا سبک فونت. این سبک فونت در فونت فعلی وجود ندارد"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "وزن فونت (۳۰۰، ایتالیک پررنگ و...) یا {alias}"
@@ -8670,7 +8651,7 @@ msgstr "در چند فایل، نام/مسیر فایل نام مجموعهه
msgid "workspace.tokens.import-single-file"
msgstr "در یک فایل JSON، کلیدهای سطح اول باید نام مجموعههای توکن باشند."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "درونریزی توکنها"
@@ -8680,17 +8661,17 @@ msgstr ""
"درونریزی توکنها همهٔ توکنها، مجموعهها و پوستههای فعلی شما را بازنویسی "
"میکند."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "غیرفعال"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"این مجموعه فعال نیست. برای مشاهدهٔ تغییرات در نمای بوم، پوسته را تغییر دهید "
"یا این مجموعه را فعال کنید"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "استفاده از توکنهای منفرد"
@@ -8710,11 +8691,11 @@ msgstr "پوسته"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "افزودن پوسته (مثلاً روشن)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "فاصلهٔ حروف یا {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "ارتفاع خط (ضریب، پیکسل، ٪) یا {alias}"
@@ -8730,11 +8711,11 @@ msgstr "بیشینهٔ اندازه"
msgid "workspace.tokens.min-size"
msgstr "کمینهٔ اندازه"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "ارجاع مفقود"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "برای دیدن گزینهها کلیک راست کنید"
@@ -8750,7 +8731,7 @@ msgstr "هیچ پوستهای فعال نیست"
msgid "workspace.tokens.no-permisions-set"
msgstr "برای فعال/غیرفعال کردن مجموعهها باید ویرایشگر باشید"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "برای استفاده از پوستهها باید ویرایشگر باشید"
@@ -8762,7 +8743,7 @@ msgstr "هنوز مجموعهای تعریف نشده است. ابتدا یک
msgid "workspace.tokens.no-sets-yet"
msgstr "هنوز مجموعهای وجود ندارد."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "هیچ پوستهای وجود ندارد."
@@ -8778,7 +8759,7 @@ msgstr "نگاشت مجدد نکن"
msgid "workspace.tokens.num-active-sets"
msgstr "%s مجموعهٔ فعال"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "مقدار اصلی: %s"
@@ -8790,15 +8771,15 @@ msgstr "فاصلههای داخلی"
msgid "workspace.tokens.radius"
msgstr "شعاع"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "ارجاع در {%s} معتبر نیست یا در هیچ مجموعهٔ فعالی نیست."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "نام مستعار توکن تایپوگرافی را وارد کنید"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "نام مستعار توکن سایه را وارد کنید"
@@ -8838,7 +8819,7 @@ msgstr "تغییر نام گروه توکنها"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "توکنهای شما بهطور خودکار به %s.(suffix).(tokenName) تغییر نام میدهند"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "مقدار نهایی: %s"
@@ -8876,27 +8857,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "تنظیمات توکنها"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "افزودن سایه"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "تاری"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "داخلی"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "حذف سایه"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "گسترش"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "مقدار تاری نمیتواند منفی باشد"
@@ -8904,11 +8885,11 @@ msgstr "مقدار تاری نمیتواند منفی باشد"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "مقدار گستره نمیتواند منفی باشد"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8916,11 +8897,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "اندازه"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | حروف بزرگ | حروف کوچک | بزرگکردن حرف اول یا {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | زیرخط | خطخورده یا {alias}"
@@ -8938,31 +8919,31 @@ msgstr "فهرست پوستهها"
msgid "workspace.tokens.token-description"
msgstr "توضیحات"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "انتخاب خانوادهٔ فونت"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "خانوادهٔ فونت"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "خانوادهٔ فونت یا فهرست فونتها که با ویرگول (،) جدا شدهاند"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "نام"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "توکنی در مسیر %s یا یکی از پیشوندهای آن از قبل وجود دارد."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "نام باید حداقل ۱ نویسه داشته باشد"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" معتبر نیست.\n"
@@ -8973,11 +8954,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "مقدار"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "مقداری یا نام مستعار را با {alias} وارد کنید"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "توکنها - %s"
@@ -8996,15 +8977,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "نوع «%s» پشتیبانی نمیشود (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "استفاده از ارجاع"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "مقدار معتبر نیست"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "پیکان (%s)"
@@ -9012,75 +8993,71 @@ msgstr "پیکان (%s)"
msgid "workspace.toolbar.assets"
msgstr "داراییها"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "پالت رنگ (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "نظرات (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "منحنی (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "بیضی (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "آرتبورد (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "تصویر (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "خط (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "اتصال در اینجا"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP متصل شد"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "انتقال (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "نوار پالت"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "مسیر (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "افزونهها (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "مستطیل (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "متن (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "تایپوگرافیها (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "تغییر وضعیت نوار ابزار"
@@ -9103,11 +9080,11 @@ msgstr ""
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "تازهسازی"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "هیچ تاریخچه تغییری تاکنون وجود ندارد"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "توسط %s"
@@ -9247,19 +9224,19 @@ msgstr "داراییهای تایپوگرافی"
msgid "workspace.undo.entry.unknown"
msgstr "عملیات بیشاز %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "رد"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "اطلاعات بیشتر"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "بهروزرسانی در کتابخانههای مشترک وجود دارد"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "بهروزرسانی"
@@ -9368,3 +9345,33 @@ msgstr "نسخههای ذخیرهٔ خودکار به مدت %s روز نگه
#~ msgid "viewer.header.share.placeholder"
#~ msgstr "لینک اشتراکگذاری در اینجا ظاهر میشود"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:228
+msgid "dashboard.clear-search"
+msgstr "پاک کردن جستجو"
+
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
+msgid "dashboard.fonts.delete-variant"
+msgstr "حذف سبک فونت"
+
+#: src/app/main/ui/dashboard/import.cljs:625
+msgid "dashboard.import.check.message"
+msgstr "مطمئن شوید که هر فایل قابل وارد کردن است. این فقط یک لحظه طول میکشد."
+
+#: src/app/main/ui/dashboard/import.cljs:624
+msgid "dashboard.import.check.title"
+msgstr "در حال بررسی فایلهای شما..."
+
+#: src/app/main/ui/dashboard/import.cljs:637
+msgid "dashboard.import.importing.message"
+msgstr "بازسازی صفحات، کامپوننتها و داراییها در پروژه شما."
+
+#: src/app/main/ui/dashboard/import.cljs:634
+msgid "dashboard.import.queued.message"
+msgstr ""
+"فایلهای شما آپلود شدهاند. به محض اینکه یک جایگاه خالی شود، وارد کردن شروع "
+"میشود."
+
+#: src/app/main/ui/dashboard/import.cljs:633
+msgid "dashboard.import.queued.title"
+msgstr "منتظر شروع..."
diff --git a/frontend/translations/fin_FI.po b/frontend/translations/fin_FI.po
index 0bd29642e7..ce845cdf3f 100644
--- a/frontend/translations/fin_FI.po
+++ b/frontend/translations/fin_FI.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Onko sinulla jo käyttäjä?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Unohditko salasanasi?"
@@ -37,27 +37,27 @@ msgstr "Unohditko salasanasi?"
msgid "auth.fullname"
msgstr "Koko nimi"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Kirjaudu sisään"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "Käyttäjäsi ei ole vahvistettu, vahvista se jatkaaksesi."
msgid "auth.notifications.recovery-token-sent"
msgstr "Salasanan vaihtoon tarvittava linkki lähetetty sähköpostiisi."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Ryhmään liittyminen onnistui"
@@ -109,11 +109,11 @@ msgstr "Unohtuiko salasana?"
msgid "auth.recovery-submit"
msgstr "Vaihda salasanasi"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ei käyttäjää?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Luo uusi käyttäjä"
@@ -121,97 +121,97 @@ msgstr "Luo uusi käyttäjä"
msgid "auth.register-title"
msgstr "Luo uusi käyttäjä"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Käyttöehdot"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Julkaise"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Kaikki Penpotin käyttäjät"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Oletko varma, että haluat poistaa tämän linkin? Sen jälkeen kukaan ei voi "
"käyttää sitä"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(nykyinen)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Poista linkki"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Hanki linkki"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Linkin kopiointi onnistui"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Muokkaa käyttöoikeuksia"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "Yksi sivu jaettu"
msgstr[1] "%s sivua jaettu"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Voi kommentoida"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Voi tarkastella koodia"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Kaikilla linkin saaneilla on käyttöoikeus"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Sivut jaettu"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Jaettava linkki ilmestyy tähän"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Vain ryhmän jäsenet"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Jaa prototyypit"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Valitse kaikki"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Peruuta julkaisu"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Ryhmän hallinta"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot on tarkoitettu ryhmille. Kutsu jäseniä työstääksenne projekteja "
"yhdessä"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Ryhmäydy!"
diff --git a/frontend/translations/fo.po b/frontend/translations/fo.po
index 10b25342bd..ce18633625 100644
--- a/frontend/translations/fo.po
+++ b/frontend/translations/fo.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Hevur tú longu ein brúkara?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Gloymt loyniorðið?"
@@ -37,37 +37,37 @@ msgstr "Gloymt loyniorðið?"
msgid "auth.fullname"
msgstr "Fullfíggja navn"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Rita inn á mína konto"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Innrita her."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -89,7 +89,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Leinkjan til at endurseta títt loyniorð er send til tín postkassa."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Sameinaðan í toymið var væleydnað"
@@ -121,7 +121,7 @@ msgstr "Gloymt loyniorð?"
msgid "auth.recovery-submit"
msgstr "Broyt títt loyniorð"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Onga konto enn?"
@@ -135,7 +135,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Navn títt"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Stovna konto"
@@ -143,111 +143,111 @@ msgstr "Stovna konto"
msgid "auth.register-title"
msgstr "Stovna eina konto"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Treytir"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Gev út"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Allir Penpot brúkarar"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Ert tú vís(ur) í, at tú vilt strika hetta leinkið? Gert tú tað, er tað ikki "
"longur tøkt hjá nøkrum"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(núverandi)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Strika leinki"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Fá leinkið"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Leinkið avritað"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Fyrisit heimildir"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 síða deild"
msgstr[1] "%s síður deildar"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Kann viðmerkja"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kann skoða kotu"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Ein og hvør við leinkjuni hevur atgongd"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Síður deildar"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Leinkja, ið kann deilast, verur at síggja her"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Einans limir í toymi"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Deil frumsnið"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Vel alt"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Angra útgevan"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Toymisleiðsla"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot er fyri toymum. Bjóða limum at arbeiða saman á verkætlanir og fílur"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Toyma upp!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Legg afturat sum Deilt Savn"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Broyt teldupost"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(avrita)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Stovna nýtt toymi"
@@ -255,11 +255,11 @@ msgstr "Stovna nýtt toymi"
msgid "dashboard.default-team-name"
msgstr "Títt Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Strika toymi"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Heinta Penpot fílu (.penpot)"
@@ -275,97 +275,69 @@ msgstr "Tvítak %s fílur"
msgid "dashboard.export-binary-multi"
msgstr "Heinta %s Penpot fílur (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Útflyt borð sum PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Útflyt til PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s av %s lutum eru valdir"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Útflyt"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Upplýsingar um hvussu tú setur útflytingar í Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Har eru ongin lutir við útflytsstillingum."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Valt til útflyting"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Stavsniði er strika"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Tú hevur enn onki serstavsnið innlagt."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Legg øll afturat"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Innflyt Penpot fílur"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ups! Tað riggaði ikki at innflyta hesa fílu"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "% fílur eru innfluttir."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Viðgerð litir"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Viðgerð staklutir"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Viðgerð miðlar"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Viðger síðu: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Viðgerð stavsnið"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Sendur upp dátur til ambætara (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Innleggur fílu: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Bjóða við í toymi"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Far úr toymu"
@@ -373,7 +345,7 @@ msgstr "Far úr toymu"
msgid "dashboard.loading-files"
msgstr "lesur tínar fílur inn…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "lesur tíni stavsnið inn…"
@@ -389,35 +361,35 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nýggja fílu"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nýggja fílu"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nýggj verkætlan"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nýggj verkætlan"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Onki samsvar funnið fyri \"%\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Festar verkætlanir verða víst her"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Tín teldupostadressa er dagførd"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Tín teldupostadressa er váttta"
@@ -425,7 +397,7 @@ msgstr "Tín teldupostadressa er váttta"
msgid "dashboard.notifications.password-saved"
msgstr "Loyniorði er goymt!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s limir"
@@ -433,7 +405,7 @@ msgstr "%s limir"
msgid "dashboard.open-in-new-tab"
msgstr "Lat fílu upp í nýggjum skiljiblaði"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Valmøguleikar"
@@ -441,39 +413,39 @@ msgstr "Valmøguleikar"
msgid "dashboard.password-change"
msgstr "Broyt loyniorð"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Fest/Loys"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Verkætlanir"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Vilt tú strika tína konto?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Goym stillingar"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Leita…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Leitar eftir \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Vel mál til takførisflatu"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Vel tema"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Vís allar fílurnar"
@@ -485,7 +457,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Tín fíla er flutt"
@@ -497,27 +469,27 @@ msgstr "Tínar fílur eru fluttar"
msgid "dashboard.success-move-project"
msgstr "Tín verkætlan er flutt"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Toymisupplýsingar"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Toymislimir"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Toymisverkætlanir"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Takførisflatastílur"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Leitiúrslit"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Skriva fyri at leita eftir úrslitum"
@@ -537,13 +509,13 @@ msgstr "Vangamyndin er stongd"
msgid "labels.delete-multi-files"
msgstr "Strikað %s fílur"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fíla"
msgstr[1] "%s fílur"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Vangamynd"
@@ -579,32 +551,32 @@ msgstr "Ert tú vísur í, at tú vil strikað %s fílur?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Strikar %s fílur"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Strike fílu"
msgstr[1] "Strika fílur"
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Ert tú vísur í, at tú vilt strikað hesa fílu?"
msgstr[1] "Ert tú vísur í, at tú vilt strikað hesar fílur?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Strikar fílu"
msgstr[1] "Strikar fílur"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Vangamynd - Penpot"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fílu"
diff --git a/frontend/translations/fr.po b/frontend/translations/fr.po
index 63c56a4fc0..2f3dad955d 100644
--- a/frontend/translations/fr.po
+++ b/frontend/translations/fr.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Surfoo \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: French "
" \n"
"Language: fr\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Vous avez déjà un compte ?"
@@ -33,7 +33,7 @@ msgstr ""
"Il s’agit d’un service de DÉMONSTRATION. NE L'UTILISEZ PAS pour travailler "
"vraiment. Les projets seront supprimés périodiquement."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Mot de passe oublié ?"
@@ -41,37 +41,37 @@ msgstr "Mot de passe oublié ?"
msgid "auth.fullname"
msgstr "Nom complet"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Connexion à mon compte"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Connectez-vous ici."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Saisissez un nouveau mot de passe"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Vous faites désormais partie de %s"
@@ -95,7 +95,7 @@ msgstr "Le profil n’est pas vérifié. Avant de continuer, vérifiez le profil
msgid "auth.notifications.recovery-token-sent"
msgstr "Lien de récupération de mot de passe envoyé."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Vous avez bien rejoint l’équipe"
@@ -127,7 +127,7 @@ msgstr "Mot de passe oublié ?"
msgid "auth.recovery-submit"
msgstr "Changez votre mot de passe"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Pas encore de compte ?"
@@ -141,7 +141,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Votre nom"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Créer un compte"
@@ -156,7 +156,7 @@ msgstr ""
"J'accepte les [termes du service](%s) et la [politique de "
"confidentialité](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Conditions générales d'utilisation"
@@ -178,93 +178,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Aucun membre trouvé avec @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publier"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Tous les utilisateurs de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Voulez -vous vraiment supprimer ce lien ? Si oui, plus personne ne pourra y "
"accéder"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(actuel)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Supprimer le lien"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obtenir le lien"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Lien copié"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Modifier les permissions"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 page partagée"
msgstr[1] "%s pages partagées"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Peut commenter"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Peut inspecter le code"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "N'importe qui possédant ce lien peut y accéder"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pages partagées"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Le lien à partager apparaîtra ici"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Seulement les membres de l'équipe"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Partager les prototypes"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Tout sélectionner"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Dépublier"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestion de l'équipe"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot est conçu pour les équipes. Invitez les membres pour collaborer sur "
"des projets et des fichiers"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Faites une équipe !"
@@ -280,33 +280,33 @@ msgstr "Restaurer le fichier"
msgid "dashboard.add-file"
msgstr "Ajouter un fichier"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Ajouter comme bibliothèque partagée"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Changer l'adresse e‑mail"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "DÉPLACER L'ÉQUIPE"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Déplacer vers :"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Les projets et fichiers resteront disponibles pour les membres de l'équipe. "
"L'équipe récupérera la configuration de la nouvelle organisation."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Sélectionner une organisation"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Changer l'organisation de l'équipe"
@@ -367,23 +367,23 @@ msgstr "Voir le journal des modifications complet"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Voir les notes de version"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Vider la corbeille"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copie)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Créer une organisation"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
-msgstr "+ Créer une nouvelle équipe"
+msgstr "+ Créer une équipe"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Sauvegarder cette version"
@@ -391,7 +391,7 @@ msgstr "Sauvegarder cette version"
msgid "dashboard.default-team-name"
msgstr "Votre Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Voulez-vous vraiment supprimer définitivement tous vos projets et fichiers "
@@ -403,44 +403,44 @@ msgstr ""
"Voulez-vous vraiment supprimer définitivement %s ? Cette action est "
"irréversible."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s fichiers ont bien été effacés."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Supprimer définitivement"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Supprimer le projet"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Voulez-vous vraiment supprimer définitivement le projet %s ? Vous allez le "
"supprimer définitivement avec tous les fichiers qu'il contient. Cette "
"action est irréversible."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s a bien été supprimé."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Supprimer l’équipe"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr ""
"Votre corbeille est vide. Les fichiers et projets supprimés apparaîtront "
"ici."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Sera supprimé %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Télécharger le fichier Penpot (.penpot)"
@@ -452,19 +452,19 @@ msgstr "Dupliquer"
msgid "dashboard.duplicate-multi"
msgstr "Dupliquer %s fichiers"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Aucun brouillon pour l'instant."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
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/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Aucun fichier pour l'instant."
@@ -512,23 +512,23 @@ msgstr "Importer un fichier .penpot"
msgid "dashboard.empty-project.start"
msgstr "Commencez à fabriquer des choses géniales"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Une erreur s'est produite lors de l'élimination des fichiers."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Une erreur s'est produite lors de la suppression du projet %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Une erreur s'est produite lors de la restauration du fichier %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Une erreur s'est produite lors de la restauration des fichiers."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr ""
"Une erreur s'est produite lors de la restauration du projet %s et de ses "
@@ -538,37 +538,37 @@ msgstr ""
msgid "dashboard.export-binary-multi"
msgstr "Télécharger %s fichiers Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exporter les plans de travail au format PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exporter en PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s éléments sur les %s sélectionnés"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exporter"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Vous pouvez ajouter des paramètres d'exportation aux éléments dans les "
"propriétés de design (en bas de la barre latérale de droite)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Information sur la configuration de l'exportation dans Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Aucun élément ne comporte de paramètres d'exportation."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exporter la sélection"
@@ -592,59 +592,59 @@ msgstr "Vue en grille"
msgid "dashboard.files-layout.list"
msgstr "Vue en liste"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Police supprimée"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Tout ignorer"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Les polices personnalisées installées apparaîtront ici."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Aucune police personnalisée pour l'instant."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
-"Dès qu'un membre de l'équipe télécharge une police personnalisée, elle sera "
+"Dès qu'un membre de l'équipe téléverse une police personnalisée, elle sera "
"affichée ici."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
-"Toute police Web que vous téléchargez sera ajoutée à la liste de polices de "
+"Toute police Web que vous téléversez sera ajoutée à la liste de polices de "
"caractères disponible dans les propriétés de texte des fichiers de cette "
"équipe. Les polices du même nom de famille de polices seront groupées en "
"**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)."
+"formats suivants : **TTF, OTF et WOFF** (un seul format est nécessaire)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
-"Ne téléchargez que des polices que vous possédez ou dont la licence vous "
+"Ne téléversez que des polices que vous possédez ou dont la licence 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 [licences de "
"polices](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
-msgstr "Uploader tout"
+msgstr "Tout téléverser"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -656,23 +656,23 @@ msgstr ""
"recommandons d'utiliser [Transfonter](https://transfonter.org/) pour "
"générer des polices web et corriger les erreurs. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Aller à la console d'administration"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Dernière modification %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
-msgstr "Importer fichiers"
+msgstr "Importer des fichiers Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oups ! Nous n'avons pas pu importer ce fichier"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 bibliothèque a été liée automatiquement par son nom."
@@ -682,121 +682,125 @@ msgstr[1] "%s bibliothèques ont été liées automatiquement par leur nom."
msgid "dashboard.import.bad-url"
msgstr "Échec de l'importation. L'URL du modèle est incorrect"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Confirmer les liens des bibliothèques"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Connecter les bibliothèques sélectionnées"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Nom du fichier"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Nous n'avons pas pu vérifier ce fichier."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Ce fichier semble endommagé."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Les fichiers n'ont pas tous été importés"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Les fichiers suivants comportent des erreurs :"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Les fichiers comportant des erreurs ne seront pas chargés."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Une erreur s'est produite lors du traitement de ce fichier."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "1 fichier a bien été importé."
msgstr[1] "%s fichiers ont bien été importés."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Certains fichiers contenaient des objets non valides qui ont été enlevés."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Fichier suivant"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Vous n'avez pas la permission nécessaire d'importer dans cette équipe"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Traitement des couleurs"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Traitement des composants"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Médias en cours de traitement"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Traitement de la page : %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Traitement des typographies"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Envoi des données au serveur (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Envoi du fichier : %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Certaines bibliothèques n'ont pas pu être liées automatiquement. "
"Sélectionnez la bonne bibliothèque pour chacune :"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Vérifiez les liens des bibliothèques avant de confirmer :"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "connecter à"
+
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "bibliothèque d'origine"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "Lié"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "lié manuellement"
+
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Nouveau"
+
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Aucune bibliothèque sélectionnée"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Original"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Vous allez supprimer les invitations envoyées à :"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Vous allez renvoyer les invitations à :"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Supprimer les invitations"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Renvoyer les invitations"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Vous n'avez pas la permission d'inviter des personnes à rejoindre cette "
"équipe, ni de modifier ou supprimer des invitations."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Inviter des personnes"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "Vous n'avez pas la permission d'inviter des personnes dans cette équipe"
@@ -808,31 +812,31 @@ msgstr "Quitter l'organisation"
msgid "dashboard.leave-organization.toast"
msgstr "Vous ne faites plus partie de l'organisation %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Quitter l’équipe"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliothèques et Modèles"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Voici quelques bibliothèques et modèles que vous pouvez ajouter à votre "
"projet"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "En explorez plus et découvrir comment contribuer"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliothèques"
@@ -840,7 +844,7 @@ msgstr "Bibliothèques"
msgid "dashboard.loading-files"
msgstr "chargement de vos fichiers…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "chargement de vos polices…"
@@ -860,65 +864,69 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nouveau fichier"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nouveau fichier"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nouveau projet"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nouveau projet"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Aucune correspondance pour « %s »"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr ""
"Vous n'avez pas la permission d'ajouter des équipes à aucune de vos "
"organisations."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Aucune organisation pour l'instant."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Vous n'êtes pas autorisé à créer des équipes au sein de l'organisation %s. "
"Pour plus d'informations, contactez le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Vous n'êtes pas autorisé à supprimer des équipes appartenant à "
"l'organisation %s. Pour plus d'informations, contactez le propriétaire de "
"l'organisation."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Vous n'êtes pas autorisé à déplacer des équipes appartenant à "
"l'organisation %s. Pour plus d'informations, contactez le propriétaire de "
"l'organisation."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Les projets épinglés apparaîtront ici"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifications"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Votre adresse e‑mail a bien été mise à jour"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Votre adresse e‑mail a bien été vérifiée"
@@ -930,11 +938,11 @@ msgstr "Les paramètres des notifications ont été mis à jour"
msgid "dashboard.notifications.password-saved"
msgstr "Mot de passe enregistré !"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Voir les notifications"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membres"
@@ -942,23 +950,23 @@ msgstr "%s membres"
msgid "dashboard.open-in-new-tab"
msgstr "Ouvrir le fichier dans un nouvel onglet"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Options"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Classer par fonction"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Classer par statut"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "L'organisation %s a été supprimée."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Autres équipes"
@@ -982,11 +990,11 @@ msgstr "Vous êtes maintenant propriétaire dans cette équipe."
msgid "dashboard.permissions-change.viewer"
msgstr "Vous êtes maintenant lecteur dans cette équipe."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Projets personnels"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Épingler/Désépingler"
@@ -1002,27 +1010,27 @@ msgstr "Impossible de traiter la définition de l'extension"
msgid "dashboard.plugins.try-plugin"
msgstr "Essayer l'extension : "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Élimination des fichiers…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Restauration des fichiers…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "La suppression prend plus de temps que prévu"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "La restauration prend plus de temps que prévu"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projets"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Voulez-vous supprimer votre compte ?"
@@ -1030,118 +1038,118 @@ msgstr "Voulez-vous supprimer votre compte ?"
msgid "dashboard.removed-from-team"
msgstr "Vous ne faites plus partie de l'équipe « %s »."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Vous allez restaurer tous vos projets et fichiers. Cela peut prendre un "
"certain temps."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Restaurer tous les projets et fichiers"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Tout restaurer"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s fichiers ont bien été restaurés."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Restaurer le projet"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Vous allez restaurer le projet %s et tous les fichiers qu'il contient."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Restaurer le projet"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s a bien été restauré."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Enregistrer les paramètres"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Rechercher…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Recherche de « %s »…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organisations"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Équipes"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "AJOUTER À L'ORGANISATION"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Choisissez une organisation :"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"« %s » n'autorise que les membres de l'organisation à rejoindre ses "
"équipes. Toutes les invitations en attente adressées à des personnes "
"extérieures à l'organisation seront révoquées."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr ""
"Les invitations en attente destinées à des utilisateurs externes seront "
"annulées."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Vous trouverez ici toutes vos organisations où vous êtes autorisé à créer "
"ou ajouter des équipes."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Vous trouverez ici les organisations dont vous faites partie et où vous "
"êtes autorisé à créer ou ajouter des équipes."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Sélectionner une organisation"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Ajouter l'équipe à une organisation"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Sélectionnez la langue de l’interface"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Sélectionnez un thème"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Thème sombre Penpot (par défaut)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Thème clair Penpot"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Thème système"
@@ -1205,11 +1213,11 @@ msgstr "Mettre à jour les paramètres"
msgid "dashboard.settings.notifications.title"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Voir tous les fichiers"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Historique des versions"
@@ -1233,7 +1241,7 @@ msgstr[1] "Vos fichiers ont bien été dupliqués"
msgid "dashboard.success-duplicate-project"
msgstr "Votre projet a bien été dupliqué"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Votre fichier a bien été déplacé"
@@ -1245,163 +1253,163 @@ msgstr "Vos fichiers ont bien été déplacés"
msgid "dashboard.success-move-project"
msgstr "Votre projet a bien été déplacé"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s appartient désormais à %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Information de l’équipe"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membres de l’équipe"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s n'appartient plus à %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Organisation de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Ajouter à une organisation"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr ""
"Vous n'avez pas la permission d'ajouter cette équipe à aucune de vos "
"organisations."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Changer l'organisation de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Seules les personnes de votre organisation peuvent être invitées."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Cette équipe ne fait partie d'aucune organisation"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Retirer l'équipe de l'organisation"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projets de l’équipe"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Ajouter à votre projet"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Thème de l’interface"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Résultats de recherche"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Les fichiers supprimés resteront dans la corbeille pendant"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s jours. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Après cette durée, ils seront définitivement supprimés."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Si vous changez d'avis, vous pouvez les restaurer ou les éliminer "
"définitivement via le menu de chaque fichier."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Écrivez pour rechercher"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Supprimer la bibliothèque"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Mettre à jour les paramètres"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Vous n'êtes plus membre de l'organisation %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Bêta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"Le rendu WebGL peut améliorer les performances, mais il est en bêta et peut "
"être moins stable. Des différences visuelles peuvent apparaître entre le "
"canevas, les exports (SVG/PDF) et le mode de visualisation."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Désactivé"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Activé"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Donner votre avis"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Statut"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Rendu WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Actif"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Quand ce webhook sera activé, les détails de l'évènement seront envoyés"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr ""
"Uniquement vous pouvez supprimer ou modifier les webhooks que vous avez "
"créés."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Type de contenu"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Créer un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook créé."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Les webhooks sont une manière simple de permettre à d'autres site web et "
@@ -1409,23 +1417,23 @@ msgstr ""
"dans Penpot. Nous enverrons une requête POST à toutes les URLs que vous "
"avez indiquées."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Appuyez sur le bouton « Ajouter un webhook » pour en ajouter un."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Aucun webhook créé jusqu’à présent."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Votre compte"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E‑mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Votre nom complet"
@@ -1441,11 +1449,11 @@ msgstr "Attention"
msgid "ds.component-subtitle"
msgstr "Composants à mettre à jour :"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Autoriser"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Annuler"
@@ -1465,7 +1473,7 @@ msgstr "Aucun token n'est applicable dans la collection ou le thème actif."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Aucune correspondance."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Ouvrir la liste des tokens"
@@ -1475,6 +1483,12 @@ msgstr ""
"Le token {%s} ne fait partie d'aucune collection active ou a une valeur "
"invalide."
+#: src/app/main/ui/auth/login.cljs:113
+msgid "errors.account-locked"
+msgstr ""
+"Trop de tentatives échouées. Votre compte est verrouillé pendant %s "
+"minutes. Veuillez réessayer plus tard."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Le fournisseur d'authentification n'est pas autorisé pour ce profil"
@@ -1483,82 +1497,86 @@ msgstr "Le fournisseur d'authentification n'est pas autorisé pour ce profil"
msgid "errors.auth-provider-not-configured"
msgstr "Fournisseur d'authentification non configuré."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "La police %s n'a pas pu être chargée"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Les polices %s n'ont pas pu être chargées"
#: src/app/main/data/workspace/media.cljs:237
msgid "errors.cannot-upload"
-msgstr "Impossible de télécharger le fichier média."
+msgstr "Impossible de téléverser le fichier média."
#: src/app/main/ui/comments.cljs:769, src/app/main/ui/comments.cljs:799, src/app/main/ui/comments.cljs:898
msgid "errors.character-limit-exceeded"
msgstr "Limite de caractères dépassée"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr ""
"Impossible d'ajouter la bibliothèque : cela créerait une dépendance "
"circulaire"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"L'API du presse-papiers n'est pas disponible. Utilisez Penpot en HTTPS pour "
"activer l'accès au presse-papiers"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Votre navigateur ne peut pas effectuer cette opération"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Accès au presse-papiers refusé. Veuillez autoriser l'accès au "
"presse-papiers dans les paramètres de votre navigateur pour coller du "
"contenu"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Une erreur s'est produite avec le commentaire"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:586
+msgid "errors.connection-error"
+msgstr "Impossible de joindre le serveur. Vérifiez votre connexion et réessayez."
+
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Désolé, il s'agit d'un ancien fichier qui utilise un type de ressource "
"Penpot obsolète. Vous ne pouvez pas l'ouvrir."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "afin que nous puissions vous aider."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Même si Penpot ne prend plus en charge ce type de ressource, vous pouvez"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "nous contacter"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr ""
"Impossible de mettre une collection parent dans le chemin d'un de ses "
"enfants."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Adresse e‑mail déjà utilisée"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Adresse e‑mail déjà validée."
@@ -1570,30 +1588,30 @@ msgstr "Vous ne pouvez pas utiliser votre adresse e-mail comme mot de passe"
msgid "errors.email-does-not-match-invitation"
msgstr "L'adresse e-mail ne correspond pas à celle de l'invitation."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domaine non autorisé"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "L'adresse e-mail « %s » a un taux de rebond trop élevé."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "L'e-mail « %s » a été signalé comme spam ou a été rejeté."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Vous semblez ouvrir un fichier pour lequel la fonctionnalité « %s » "
"activée, mais votre interface Penpot ne la prend pas en charge ou l'a "
"désactivée."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "La fonctionnalité « %s » n'est pas prise en charge."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Doit contenir au plus %s caractères."
@@ -1601,7 +1619,7 @@ msgstr "Doit contenir au plus %s caractères."
msgid "errors.field-min-length"
msgstr "Doit contenir au moins 1 caractère."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Champ vide"
@@ -1609,24 +1627,24 @@ msgstr "Champ vide"
msgid "errors.field-not-all-whitespace"
msgstr "Le nom ne doit pas contenir d'espaces."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Il semble y avoir une incompatibilité entre les fonctionnalités actives et "
"celles du fichier que tentez d'ouvrir. Vous devez activer les migrations "
"pour « %s » avant de pouvoir ouvrir le fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Le nom de la famille de police ne peut contenir que des lettres, chiffres, "
"espaces, tirets, traits de soulignement et points."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Un problème s’est produit."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Un problème est survenu avec le web worker."
@@ -1642,7 +1660,7 @@ msgstr "Données non valides"
msgid "errors.invalid-email"
msgstr "Entrez une adresse e-mail valide"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "L’adresse e‑mail de confirmation doit correspondre"
@@ -1679,13 +1697,13 @@ msgstr "Cette invitation a peut-être été annulée ou est arrivée à expirati
msgid "errors.ldap-disabled"
msgstr "Authentification LDAP désactivée."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr ""
"Vous avez atteint le quota maximal de « %s ». Contactez l'assistance "
"technique."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Le nombre maximal (%s) d'e-mails qui peuvent être invités dans une seule "
@@ -1703,21 +1721,21 @@ msgstr "Le contenu de l’image semble ne pas correspondre à l’extension de f
msgid "errors.media-type-not-allowed"
msgstr "L’image ne semble pas être valide."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"L'adresse e-mail du profil que vous invitez est ignorée (signalée comme "
"spam ou taux de rebond élevé)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migration en cours"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Seul le créateur d'une version peut la verrouiller"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Seul le créateur d'une version peut la déverrouiller"
@@ -1729,7 +1747,7 @@ msgstr "Un problème est survenu en quittant l'organisation. Veuillez réessayer
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Le propriétaire de l'organisation ne peut pas quitter l'organisation."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Cette organisation n'existe pas"
@@ -1741,7 +1759,7 @@ msgstr "Le mot de passe de confirmation doit correspondre"
msgid "errors.password-too-short"
msgstr "Le mot de passe doit contenir au moins 8 caractères"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Données dans le presse-papier non valides"
@@ -1749,7 +1767,7 @@ msgstr "Données dans le presse-papier non valides"
msgid "errors.profile-blocked"
msgstr "Le profil est bloqué"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"L'adresse e-mail de votre profil est ignorée (signalée comme spam ou taux "
@@ -1759,7 +1777,7 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "L’enregistrement est actuellement désactivé."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"Vos dernières modifications ne sont pas confirmées comme enregistrées. "
@@ -1767,21 +1785,25 @@ msgstr ""
"et ne rechargez pas cet onglet : vous risquez de perdre des modifications. "
"Contactez le support pour obtenir de l'aide."
-#: src/app/main/errors.cljs:764
+#: src/app/main/data/persistence.cljs:447
+msgid "errors.save-retrying"
+msgstr "Connexion perdue. Nouvelle tentative d'enregistrement de vos modifications."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "Le fichier SVG n'est pas valide ou est mal formé"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Fonctionnalité incompatible détectée « %s »"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Il n'y a pas assez de membres pour quitter l'équipe, vous voulez "
"probablement la supprimer."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Le membre que vous essayez d'affecter n'existe pas."
@@ -1789,7 +1811,7 @@ msgstr "Le membre que vous essayez d'affecter n'existe pas."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Seul le propriétaire d'une équipe peut la supprimer."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Le propriétaire ne peut pas quitter l'équipe, vous devez réaffecter le rôle "
@@ -1805,13 +1827,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Il existe déjà une collection portant ce nom"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Impossible de déposer. Il existe déjà une collection portant ce nom à ce "
"chemin."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Il existe déjà une option de thème portant ce nom"
@@ -1823,13 +1845,13 @@ msgstr "Le thème fait référence à des collections inexistantes : %s"
msgid "errors.tokens.circular-reference"
msgstr "Le token contient une référence circulaire"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"L'interlignage dépend de la taille de la police. Ajoutez une taille de "
"police pour obtenir la valeur déduite."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Ce champ ne peut pas être vide"
@@ -1849,13 +1871,13 @@ msgstr "Erreur d'importation :"
msgid "errors.tokens.invalid-color"
msgstr "Couleur non valide : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr ""
"Valeur de token invalide : vous ne pouvez référencer qu'un token de type "
"famille de police"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valeur de graisse de police invalide : utilisez des valeurs numériques "
@@ -1878,43 +1900,43 @@ msgstr ""
"séparés par des caractères « . » et ne doivent pas commencer par le symbole "
"« $ »."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr ""
"Type d'ombre invalide : seules les valeurs 'innerShadow' ou 'dropShadow' "
"sont acceptées"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valeur du token non valide : seules les valeurs Aucune, Majuscules, "
"Minuscules ou Première lettre en capitale sont acceptées"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Valeur du token non valide : seules les valeurs none, underline et "
"strike-through sont acceptées"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Valeur invalide : doit référencer un token d'ombre composite."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr ""
"Valeur non valide : elle doit faire référence à un token de typographie "
"composite."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valeur du token non valide : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Références du token manquantes : "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"Le nom de groupe de %s entre en conflit avec un token du même nom dans une "
@@ -1928,33 +1950,33 @@ msgstr "Aucun token, collection ou thème n'ont été trouvés dans ce fichier."
msgid "errors.tokens.number-too-large"
msgstr "Valeur du token non valide. La valeur est trop grande : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr ""
"L'opacité doit être comprise entre 0 % et 100 % ou entre 0 et 1 (ex : 50 % "
"ou 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Le token s'auto-référence"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Le flou de l'ombre doit être supérieur ou égal à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "L'étalement de l'ombre doit être supérieur ou égal à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "La largueur du tracé doit être plus grand ou égal à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valeur non valide : % n'est pas autorisé."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valeur non valide : les unités ne sont pas autorisées."
@@ -1962,21 +1984,21 @@ msgstr "Valeur non valide : les unités ne sont pas autorisées."
msgid "errors.unexpected-error"
msgstr "Une erreur inattendue s’est produite."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token inconnu"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Cette version est déjà verrouillée"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr ""
"Cette version est verrouillée et ne peut pas être supprimée par d'autres "
"personnes"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Le numéro de version du fichier est incompatible"
@@ -2009,39 +2031,39 @@ msgstr "Au moins 1 lettre majuscule"
msgid "errors.weak-password.too-short"
msgstr "Au moins 8 caractères"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL ne fonctionne plus. Rechargez la page pour le réinitialiser"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oups ! Le contexte du canevas a été perdu"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Erreur de connexion, URL inaccessible"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "L'URL ne passe pas la validation."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Il y a eu une erreur dans le dernier envoi."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Erreur lors de la validation SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Délai d'attente dépassé"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Erreur inattendue lors de la validation"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Statut inattendu %s"
@@ -2061,17 +2083,17 @@ msgstr "Description"
msgid "feedback.description-placeholder"
msgstr "Décrivez la raison de votre commentaire"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Nous sommes ravis de vous voir ici. Si vous avez besoin d'aide, effectuez "
"une recherche avant de publier une question."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Communauté Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Autres méthodes de contact"
@@ -2096,11 +2118,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contact"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Nous sommes là pour répondre à vos questions techniques."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Compte d’assistance X"
@@ -2120,47 +2142,43 @@ msgstr "Idée"
msgid "feedback.type.issue"
msgstr "Problème"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Télécharger les fichiers"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr ""
"Les ressources des bibliothèques liées ne seront pas incluses dans le "
"fichier."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Considérer les ressources comme des objets basiques"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Les fichiers avec des bibliothèques liées seront inclus dans l'exportation, "
"en conservant leur liaison. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Exporter le fichier + les bibliothèques"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"Une fois importé, vous pourrez lier les bibliothèques existantes portant "
"des noms correspondants."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Lier les bibliothèques correspondantes à l'importation"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"Votre fichier sera exporté avec les ressources de la bibliothèque "
"fusionnées dans la bibliothèque locale."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Intégrer les ressources de la bibliothèque dans le fichier"
@@ -2168,7 +2186,7 @@ msgstr "Intégrer les ressources de la bibliothèque dans le fichier"
msgid "generic.error"
msgstr "Une erreur s’est produite"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Appliquer"
@@ -2216,7 +2234,7 @@ msgstr "Aperçu de l'image de remplissage de la forme"
msgid "inspect.attributes.shadow"
msgstr "Ombre"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Taille et position"
@@ -2224,43 +2242,31 @@ msgstr "Taille et position"
msgid "inspect.attributes.stroke"
msgstr "Contour"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centre"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Intérieur"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Extérieur"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typographie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Police de caractères"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Taille de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Style de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Interlignage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Familles de polices mixtes"
@@ -2268,15 +2274,19 @@ msgstr "Familles de polices mixtes"
msgid "inspect.attributes.typography.text-decoration.none"
msgstr "Aucune"
+#: src/app/main/ui/inspect/attributes/text.cljs:117
+msgid "inspect.attributes.typography.text-decoration.strikethrough"
+msgstr "Barré"
+
#: src/app/main/ui/inspect/attributes/text.cljs:115
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Souligné"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Première lettre en capitale"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minuscule"
@@ -2288,7 +2298,7 @@ msgstr "Aucune"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Non assigné"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Majuscules"
@@ -2334,6 +2344,10 @@ msgstr "Copier"
msgid "inspect.subtitle.main"
msgstr "Composant principal"
+#: src/app/main/ui/inspect/right_sidebar.cljs:176
+msgid "inspect.tabs-switcher-label"
+msgstr "Changer d'onglet d'inspection"
+
#: src/app/main/ui/inspect/right_sidebar.cljs:142
msgid "inspect.tabs.code.selected.circle"
msgstr "Cercle"
@@ -2396,7 +2410,7 @@ msgstr "Copier dans le Presse-papiers"
#: src/app/main/ui/inspect/styles/style_box.cljs:67, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:183
msgid "inspect.tabs.styles.toggle-style"
-msgstr "Afficher/Masquer le panneau %s"
+msgstr "Afficher/cacher le panneau %s"
#: src/app/main/ui/inspect/styles/style_box.cljs:26
msgid "inspect.tabs.styles.token-panel"
@@ -2410,23 +2424,23 @@ msgstr "Valeur déduite :"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Propriétés de la variante"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
-msgstr "Créer un nouveau token d'accès"
+msgstr "Créer un token d'accès"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
-msgstr "Cliquez sur le bouton « Créer un nouveau token d'accès » pour en générer un."
+msgstr "Cliquez sur le bouton « Créer un token d'accès » pour en générer un."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Vous n'avez aucun token pour l'instant."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Tokens d'accès personnels"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Les tokens d'accès personnels constituent une alternative à notre système "
@@ -2511,53 +2525,53 @@ msgstr "La clé MCP expirera le %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "La clé MCP n'a pas de date d'expiration"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Le serveur MCP de Penpot permet aux clients MCP d'interagir directement "
"avec les fichiers de conception Penpot."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Comment configurer les clients MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Voici l'URL du serveur à utiliser pour configurer votre client MCP et le "
"connecter au serveur MCP de Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Régénérer la clé MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "Clé MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "La clé MCP est nécessaire pour configurer le client MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Statut"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Désactivé"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Activé"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"La clé MCP utilisée pour se connecter au serveur MCP a expiré. La connexion "
"ne peut donc pas être établie."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Veuillez régénérer la clé MCP et mettre à jour la configuration de votre "
@@ -2567,10 +2581,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "Serveur MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Bêta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Nom"
@@ -2621,7 +2631,7 @@ msgstr "Régénérer la clé MCP"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "Clé MCP régénérée"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Intégrations"
@@ -2639,47 +2649,47 @@ msgstr "Le token expirera le %s"
msgid "integrations.token.will-not-expire"
msgstr "Le token n'a pas de date d'expiration"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Tout marquer comme lu"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Raccourcis"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "À propos de Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Accepter"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Activé"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Ajouter"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Ajouter police personnalisée"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Ajout…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administration"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Tous"
@@ -2687,17 +2697,17 @@ msgstr "Tous"
msgid "labels.and"
msgstr "et"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Retour"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Il semble que vous deviez attendre un peu et réessayer ; nous effectuons "
"une petite maintenance de nos serveurs."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2709,23 +2719,23 @@ msgstr "Flou"
msgid "labels.blur-effects"
msgstr "Effets de flou"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Annuler"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canevas"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Rechercher des mises à jour"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Recherche de mises à jour…"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Fermer"
@@ -2733,7 +2743,7 @@ msgstr "Fermer"
msgid "labels.code"
msgstr "Code"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Réduire"
@@ -2745,15 +2755,15 @@ msgstr "Couleur"
msgid "labels.comment"
msgstr "Commentaire"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Commentaires"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Communauté"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Communauté et contributions"
@@ -2765,19 +2775,19 @@ msgstr "Calculé"
msgid "labels.confirm-password"
msgstr "Confirmer le mot de passe"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contacter l'assistance technique"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contact"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuer"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Vous pouvez continuer avec un compte Penpot"
@@ -2789,23 +2799,23 @@ msgstr "Copier"
msgid "labels.copy-color"
msgstr "Copier la couleur"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copier le lien"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © depuis 2019"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Créer"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Créer une équipe"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Entrer le nom de la nouvelle équipe"
@@ -2813,7 +2823,7 @@ msgstr "Entrer le nom de la nouvelle équipe"
msgid "labels.current"
msgstr "Actuel"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Tableau de bord"
@@ -2821,7 +2831,7 @@ msgstr "Tableau de bord"
msgid "labels.default"
msgstr "Par défaut"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Supprimer"
@@ -2833,7 +2843,7 @@ msgstr "Supprimer le commentaire"
msgid "labels.delete-comment-thread"
msgstr "Supprimer le fil"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Supprimer l'invitation"
@@ -2841,39 +2851,35 @@ msgstr "Supprimer l'invitation"
msgid "labels.delete-multi-files"
msgstr "Supprimer %s fichiers"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Voulez-vous vraiment supprimer votre photo de profil ?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Supprimer la photo de profil"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Supprimés"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Développeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Rejeter"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Télécharger %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Télécharger"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Téléchargement du fichier…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Brouillons"
@@ -2881,19 +2887,19 @@ msgstr "Brouillons"
msgid "labels.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Modifier"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Éditeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Vide"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Erreur"
@@ -2901,11 +2907,11 @@ msgstr "Erreur"
msgid "labels.exit"
msgstr "Quitter"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Arrivée à expiration"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exporter"
@@ -2917,7 +2923,7 @@ msgstr "Avis désactivés"
msgid "labels.feedback-sent"
msgstr "Avis envoyé"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2925,63 +2931,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Remplir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Disposition flex"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Famille de polices"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Styles"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Polices"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Référentiel GitHub"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Donnez votre avis"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Retour"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Designer graphique"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Disposition en grille"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centre d'aide"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Aide et formation"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Cacher"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
-msgstr "Masquer les commentaires résolus"
+msgstr "Cacher les commentaires résolus"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importer"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactif"
@@ -2989,53 +2995,53 @@ msgstr "Inactif"
msgid "labels.info"
msgstr "Information"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Polices installées"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Intégrations"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Un incident est survenu."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Vous pouvez réessayer d'effectuer l'opération ou contacter l'assistance "
"technique pour signaler l'erreur."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Erreur interne"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitations"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Langue"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Disposition"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centre de formation"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliothèques et modèles"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Chargement…"
@@ -3043,7 +3049,7 @@ msgstr "Chargement…"
msgid "labels.lock"
msgstr "Verrouiller"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Se connecter ou s'inscrire"
@@ -3051,19 +3057,19 @@ msgstr "Se connecter ou s'inscrire"
msgid "labels.login"
msgstr "Connexion"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Se déconnecter"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membre"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membres"
@@ -3075,43 +3081,43 @@ msgstr "Mention"
msgid "labels.new-password"
msgstr "Nouveau mot de passe"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Suivant"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"Cette instance nécessite une étape de configuration incluse dans la "
"dernière version."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Consultez notre"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot ne peut pas encore démarrer."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "guide technique"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot est temporairement indisponible en raison d'un problème système. "
"Veuillez réessayer sous peu."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Vous n’avez aucune notification de commentaire en attente."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Aucune invitation en attente."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Rassemblez votre équipe et créez de grandes choses ensemble."
@@ -3119,27 +3125,27 @@ msgstr "Rassemblez votre équipe et créez de grandes choses ensemble."
msgid "labels.no-matches"
msgstr "Aucune correspondance"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oups !"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fichier"
msgstr[1] "%s fichiers"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 plan de travail"
msgstr[1] "%s plans de travail"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projet"
@@ -3149,43 +3155,43 @@ msgstr[1] "%s projets"
msgid "labels.old-password"
msgstr "Ancien mot de passe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Ouvrir"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Options"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Autres (précisez)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Autre"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Propriétaire"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Mot de passe"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "En attente"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Journal des modifications de Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Projets épinglés"
@@ -3193,31 +3199,31 @@ msgstr "Projets épinglés"
msgid "labels.post"
msgstr "Envoyer"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Précédent"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Product Design ou UX Design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestionnaire de produit ou de projet"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projets"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Récents"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Référence"
@@ -3225,27 +3231,27 @@ msgstr "Référence"
msgid "labels.refresh"
msgstr "Actualiser"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notes de version"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Recharger la page"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Supprimer"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Supprimer le membre"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Renommer"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Renommer l'équipe"
@@ -3269,11 +3275,11 @@ msgstr "nouvelle réponse"
msgid "labels.reply.thread"
msgstr "Répondre"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Renvoyer"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Renvoyer l'invitation"
@@ -3281,43 +3287,43 @@ msgstr "Renvoyer l'invitation"
msgid "labels.restore"
msgstr "Restaurer"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Réessayer"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rôle"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Enregistrer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Rechercher"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Rechercher une police"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Sélectionnez une option"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Envoyer"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Envoi…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Nous sommes en maintenance planifiée de nos systèmes."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Service non disponible"
@@ -3325,70 +3331,74 @@ msgstr "Service non disponible"
msgid "labels.sets"
msgstr "Collections"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configuration"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Ombre"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Partager"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliothèques"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Afficher"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Afficher tous les commentaires"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Afficher la liste des commentaires"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Afficher uniquement vos mentions"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Afficher uniquement vos commentaires"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Passer"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Sources"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"La connexion avec le fournisseur d'identité de votre organisation n'a pas "
"abouti. Le fournisseur est peut-être indisponible, ou votre compte n'est "
"peut-être pas encore présent dans son annuaire."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Réessayer"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "Nous n'avons pas pu vous connecter à %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Commencer"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Statut"
@@ -3396,7 +3406,7 @@ msgstr "Statut"
msgid "labels.stroke"
msgstr "Contour"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Étudiant ou enseignant"
@@ -3408,27 +3418,31 @@ msgstr "Styles"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Changer"
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
+msgid "labels.team-management"
+msgstr "Gestion de l'équipe"
+
#: src/app/main/ui/inspect/styles/style_box.cljs:30
msgid "labels.text"
msgstr "Texte"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Thèmes"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriels"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typographie"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Erreur inconnue"
@@ -3440,35 +3454,31 @@ msgstr "Déverrouiller"
msgid "labels.unpublish-multi-files"
msgstr "Dépublier %s fichiers"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Mettre à jour"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Mettre à jour l'équipe"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
-msgstr "Télécharger"
+msgstr "Téléverser"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
-msgstr "Télécharger des polices personnalisées"
+msgstr "Téléverser des polices personnalisées"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
-msgstr "Téléchargement…"
+msgstr "Envoi en cours…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Envoi du fichier…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variante"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Notes de la version %s"
@@ -3476,7 +3486,7 @@ msgstr "Notes de la version %s"
msgid "labels.view-only"
msgstr "Lecture seule"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Spectateur"
@@ -3490,7 +3500,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s avertissement"
msgstr[1] "%s avertissements"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3498,11 +3508,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Écrire un nouveau commentaire"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(vous)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Votre compte"
@@ -3648,7 +3658,7 @@ msgstr ""
"Vous êtes le seul membre de certaines équipes. Ces équipes seront "
"supprimées avec leurs projets et fichiers."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "AVANT DE QUITTER L'ORGANISATION"
@@ -3656,82 +3666,82 @@ msgstr "AVANT DE QUITTER L'ORGANISATION"
msgid "modals.before-leave-organization.warning"
msgstr "Toute équipe dont vous êtes le seul membre sera supprimée."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grand nudge"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Vérifier la nouvelle adresse e‑mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Nous enverrons un e‑mail à votre adresse actuelle « %s » pour vérifier "
"votre identité."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nouvel e‑mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Changer adresse e‑mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Changez votre adresse e‑mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Créer un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Créer un webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL de charge utile"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Annuler et conserver mon compte"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Oui, supprimer mon compte"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"En supprimant votre compte, vous perdrez tous vos projets et archives "
"actuelles."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Cette action est irréversible. Votre compte, votre abonnement et vos "
"organisations seront supprimés immédiatement. Vous perdrez également "
"l'accès à vos projets et fichiers actuels."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organisations qui seront supprimées"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s membres"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s équipes"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Voulez-vous vraiment supprimer votre compte ?"
@@ -3791,23 +3801,23 @@ msgstr "Voulez-vous vraiment supprimer %s fichiers ?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Suppression de %s fichiers"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"Voulez-vous vraiment supprimer ce style de police ? Il ne sera pas chargé "
"s'il est utilisé dans un fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Suppression du style de police"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Voulez-vous vraiment supprimer cette police ? Elle ne se chargera pas si "
"elle est utilisée dans un fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Suppression de la police"
@@ -3817,19 +3827,19 @@ msgstr ""
"Voulez-vous vraiment supprimer cette équipe qui fait partie de "
"l'organisation %s ?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Voulez-vous vraiment supprimer cette page ?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Supprimer une page"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Voulez-vous vraiment supprimer les pages sélectionnées ?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Supprimer les pages"
@@ -3845,31 +3855,31 @@ msgstr "Voulez-vous vraiment supprimer ce projet ?"
msgid "modals.delete-project-confirm.title"
msgstr "Supprimer un projet"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Supprimer le fichier"
msgstr[1] "Supprimer les fichiers"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Activé dans aucun fichier."
msgstr[1] "Activés dans aucun fichier."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Cette bibliothèque est active ici : "
msgstr[1] "Ces bibliothèques sont actives ici : "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Voulez-vous vraiment supprimer ce fichier ?"
msgstr[1] "Voulez-vous vraiment supprimer ces fichiers ?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Suppression du fichier"
@@ -3889,19 +3899,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Suppression d’une équipe"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Supprimer le membre"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Voulez-vous vraiment supprimer ce membre de l’équipe ?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Supprimer un membre d’équipe"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3911,23 +3921,23 @@ msgstr[1] ""
"Les éléments déjà utilisés dans ces fichiers resteront en place (aucun "
"design ne sera altéré)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Supprimer le webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Vous confirmez vouloir supprimer le webhook ?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Suppression du webhook en cours"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Modifier le webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Modifier le webhook"
@@ -3945,15 +3955,15 @@ msgstr "Importer les tokens"
msgid "modals.import-library-tokens.title"
msgstr "Importer les tokens depuis la bibliothèque ?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Envoyer l'invitation"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Adresse e-mail, séparées par des virgules"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Certains emails appartiennent à des membres actuels de l'équipe. Les "
@@ -3977,99 +3987,99 @@ msgstr ""
"équipe, et ils en sont déjà tous membres. Pour plus d'informations, "
"contactez le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Adresses qui ne recevront pas d'invitation"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Annuler"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Seuls les membres existants de l'organisation peuvent être invités."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Envoyer les invitations"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Certaines invitations ne peuvent pas être envoyées"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Certaines personnes de votre liste ne recevront pas les invitations."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Vous pouvez inviter des membres dans l'équipe pour qu'ils accèdent à ce "
"fichier ainsi que tous les autres fichiers de l'équipe."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Inviter des membres dans l'équipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Comme vous êtes le seul membre de l'équipe, celle-ci sera supprimée avec "
"ses projets et fichiers."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Voulez-vous vraiment quitter l'équipe %s ?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Vous ne pouvez pas quitter l'équipe si il n'y a aucun membre à promouvoir "
"comme propriétaire. Vous pourriez plutôt supprimer l'équipe."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Vous êtes le propriétaire de %s. Avant de partir, sélectionnez un autre "
"membre à promouvoir comme propriétaire."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promouvoir et quitter"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Sélectionnez un membre à promouvoir"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Sélectionnez un membre à promouvoir"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Quitter l’équipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Voulez-vous vraiment quitter cette équipe ?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Quitter l’équipe"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Vous êtes propriétaire de certaines équipes de l'organisation. Veuillez "
"promouvoir un autre membre pour qu'il devienne propriétaire."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Vous êtes le seul membre de certaines équipes. Ces équipes seront "
"supprimées avec leurs projets et fichiers."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"De plus, vous êtes propriétaire de certaines équipes de l'organisation. "
@@ -4089,57 +4099,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Quitter l'organisation %s ?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
-msgstr[0] "Déplacement"
-msgstr[1] "Déplacements"
+msgstr[0] "Déplacer"
+msgstr[1] "Déplacer"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Voulez-vous vraiment déplacer cette librairie ?"
msgstr[1] "Voulez-vous vraiment déplacer ces librairies ?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Déplacer librairie"
msgstr[1] "Déplacer librairies"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Taille du décalage"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Promouvoir"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Si vous transférez la propriété, vous changerez votre rôle en Admin, "
"perdant ainsi certaines permissions sur cette équipe. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Vous êtes le propriétaire actuel de cette équipe. Voulez-vous vraiment "
"promouvoir %s comme nouveau propriétaire de l'équipe ?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Promouvoir propriétaire"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publier"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publier la bibliothèque vide"
@@ -4161,23 +4171,23 @@ msgstr "Voulez-vous vraiment retirer l'équipe « %s » de l'organisation « %s
msgid "modals.remove-team-organization.title"
msgstr "RETIRER L'ÉQUIPE DE L'ORGANISATION"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Petit nudge"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Dépublier"
msgstr[1] "Dépublier"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Voulez-vous vraiment supprimer cette bibliothèque ?"
msgstr[1] "Voulez-vous vraiment supprimer ces bibliothèques ?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Supprimer la bibliothèque"
@@ -4233,11 +4243,11 @@ msgstr ""
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:121
msgid "nitrate.code-activation.footer-after"
-msgstr " et contactez-nous :"
+msgstr "Envoyez le fichier à"
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:126
msgid "nitrate.code-activation.footer-before"
-msgstr "Besoin d'un code ? Téléchargez votre "
+msgstr "et nous vous enverrons votre code."
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:119
msgid "nitrate.code-activation.footer-download"
@@ -4267,38 +4277,38 @@ msgstr "Activer"
msgid "nitrate.code-activation.title"
msgstr "Activer Nitrate"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Contacter l'équipe commerciale"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Pour passer à cet abonnement, veuillez contacter notre équipe commerciale. "
"Nous vous aiderons à mettre à jour votre abonnement et à vérifier que tout "
"est correctement configuré."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Votre organisation sera supprimée."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Votre stockage total, l'historique des versions automatiques et la durée de "
"récupération des fichiers seront limités."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Les équipes, projets et fichiers ne feront plus partie d'aucune "
"organisation, mais resteront disponibles."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Lorsque vous rétrogradez :"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Passer à l'abonnement %s ?"
@@ -4314,15 +4324,15 @@ msgstr "Contactez-nous pour essayer Entreprise pendant 14 jours :"
msgid "nitrate.form.contact-upgrade"
msgstr "Contactez-nous pour passer à Entreprise :"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Contactez-nous pour essayer l'abonnement Entreprise pendant 14 jours :"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Contactez-nous pour passer à l'abonnement Entreprise :"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Vous ne serez pas facturé maintenant. Le paiement sera prélevé à la fin de "
@@ -4346,7 +4356,7 @@ msgstr ""
"Toute la liberté de l'open source, avec la gouvernance dont votre "
"organisation a besoin"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr ""
"Tout ce dont vos équipes ont besoin pour travailler en toute sécurité à "
@@ -4356,7 +4366,7 @@ msgstr ""
msgid "nitrate.form.enterprise.price"
msgstr "par membre et par mois"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Essayez 14 jours gratuitement"
@@ -4372,7 +4382,7 @@ msgstr "Commencer avec Entreprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "S'abonner avec un code d'activation"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Débloquez les fonctionnalités Entreprise"
@@ -4384,7 +4394,7 @@ msgstr "Essayez gratuitement pendant 14 jours"
msgid "nitrate.modal-success.title"
msgstr "Bienvenue dans Entreprise !"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Actif jusqu'au %s"
@@ -4392,23 +4402,23 @@ msgstr "Actif jusqu'au %s"
msgid "nitrate.subscription.renew-success"
msgstr "Votre abonnement Nitrate a été renouvelé."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Annuler l'abonnement"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Pour annuler votre abonnement Nitrate, veuillez nous contacter à :"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Renouveler avec un code d'activation"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Cette page n'existe pas"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Erreur 404"
@@ -4424,15 +4434,13 @@ msgstr "Nous avons envoyé un e-mail de récupération à"
#: src/app/main/ui/auth/recovery_request.cljs:114
msgid "not-found.login.sent-recovery-check"
-msgstr ""
-"Vérifiez vos e-mails et cliquez sur le lien pour créer un nouveau mot de "
-"passe."
+msgstr "Vérifiez vos e-mails et cliquez sur le lien pour créer un mot de passe."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "S'inscrire gratuitement"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Et utilisez Penpot dans les secondes qui suivent !"
@@ -4440,69 +4448,69 @@ msgstr "Et utilisez Penpot dans les secondes qui suivent !"
msgid "not-found.made-with-love"
msgstr "Fait avec AMOUR et logiciel libre"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Vous avez déjà demandé l'accès à ce fichier."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Vous avez déjà demandé l'accès à ce fichier ou d'autres fichiers ou projets "
"de cette équipe."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Vous avez déjà demandé l'accès à ce projet ou d'autres projets ou fichiers "
"de cette équipe."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Vous avez déjà demandé l'accès à ce projet."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "DEMANDER L'ACCÈS"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr ""
"N'oubliez pas que, si le propriétaire l'accepte, vous allez être invités "
"dans l'équipe."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Votre demande a bien été envoyée !"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Vous n'avez pas accès à ce fichier."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Aller à votre Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Si le propriétaire l'accepte, vous allez être invités dans l'équipe."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Fichier Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Vous n'avez pas accès à ce projet."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJET"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Pour accéder à ce fichier, vous pouvez demander au propriétaire de l'équipe."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Pour accéder à ce projet, vous pouvez demander au propriétaire de l'équipe."
@@ -4516,33 +4524,33 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Il y a une nouvelle version disponible."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Cette invitation n'est plus disponible."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "L'invitation a bien été supprimée"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "E‑mail d'invitation envoyé !"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Lien d'invitation copié"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Vous ne pouvez pas supprimer votre profil. Réassignez vos équipes avant de "
"continuer."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil enregistré !"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "E‑mail de vérification envoyé à %s. Vérifiez votre e‑mail !"
@@ -4582,7 +4590,7 @@ msgstr "Nom de l'équipe"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Créer l'équipe"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Inviter des membres"
@@ -4592,98 +4600,98 @@ msgstr ""
"Développeurs, designers, gestionnaires… tout le monde est le bienvenu. Vous "
"pourrez en inviter d'autres plus tard."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Inviter avec le rôle :"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "C'est parti !"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Générer du vrai code à partir des designs"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Création des Design Systems"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototyper"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Designer l'UX/UI pour une app"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Faire du wireframe"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Pour quoi utiliserez-vous Penpot ?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Laissez nous vous connaitre un peu pour nous aider à faire fonctionner "
"Penpot pour vous. Vos questions nous aiderons à prioriser les nouvelles "
"fonctionnalités et vous diriger dans la bonne direction pour commencer."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Aidez-nous à vous connaitre"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Lequel de ces outils utilisez-vous le plus ?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Quel genre de travail faites-vous ?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Quelle est la taille de votre entreprise ?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Par où souhaitez-vous commencer ?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1 001 - 5 000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1 000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Juste moi"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5 001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Éducation"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personnel"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Travail"
@@ -4765,11 +4773,11 @@ msgstr "Restaurer la configuration par défaut"
msgid "restore-shortcuts.restore"
msgstr "Restaurer"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Détacher"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Divers"
@@ -4781,35 +4789,35 @@ msgstr "Supprimer la couleur"
msgid "settings.select-this-color"
msgstr "Sélectionnez les éléments qui utilisent ce style"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Commentaires"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Aligner en bas"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Aligner horizontalement au centre"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Aligner à gauche"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Aligner à droite"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Aligner en haut"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Aligner verticalement au centre"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Créer un plan de travail à partir de la sélection"
@@ -4817,55 +4825,55 @@ msgstr "Créer un plan de travail à partir de la sélection"
msgid "shortcuts.bold"
msgstr "Basculer en gras"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Soustraction booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusion booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Intersection booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Union booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Mettre à l'arrière-plan"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Déplacer en arrière"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Déplacer vers l'avant"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Mettre au premier plan"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
-msgstr "Rétablir"
+msgstr "Effacer l'historique d'annulation"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copier"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copier le lien"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copier les propriétés"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Créer un composant/une variante"
@@ -4873,63 +4881,63 @@ msgstr "Créer un composant/une variante"
msgid "shortcuts.create-new-project"
msgstr "Créer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Couper"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Dézoomer"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Supprimer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Supprimer le nœud"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Supprimer le nœud et les segments"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Tout désélectionner"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Détacher le composant"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Désactiver le raccourci"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Désactivé"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Raccourci désactivé"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Flèche"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Courbe"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Plan de travail"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Ligne"
@@ -4937,67 +4945,67 @@ msgstr "Ligne"
msgid "shortcuts.draw-nodes"
msgstr "Dessiner un tracé"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Tracé"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectangle"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texte"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr ""
"Combinaison déjà attribuée à « %s ». L'enregistrer la supprimera de cet "
"emplacement."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Si vous enregistrez, ce raccourci reviendra à sa valeur d'origine :"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr ""
"Cette combinaison de touches est disponible et peut être attribuée sans "
"conflit."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Personnaliser dans les paramètres"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Annuler"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exporter les formes"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Rechercher"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zoom ajusté"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Retourner horizontalement"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Retourner verticalement"
@@ -5021,27 +5029,27 @@ msgstr "Accéder aux bibliothèques partagées"
msgid "shortcuts.go-to-search"
msgstr "Recherche"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grouper"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Répartir horizontalement"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
-msgstr "Afficher/masquer l'interface utilisateur"
+msgstr "Afficher/cacher l'interface utilisateur"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Importer/Exporter"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zoom avant"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Insérer une image"
@@ -5049,11 +5057,11 @@ msgstr "Insérer une image"
msgid "shortcuts.italic"
msgstr "Basculer en italique"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Joindre les nœuds"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Appuyez sur la combinaison de touches"
@@ -5061,39 +5069,39 @@ msgstr "Appuyez sur la combinaison de touches"
msgid "shortcuts.line-through"
msgstr "Activer/désactiver texte barré"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Créer un coin"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Faire une courbe"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Masque"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fusionner les nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Déplacer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Déplacement rapide vers le bas"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Déplacement rapide vers la gauche"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Déplacez-vous rapidement vers la droite"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Déplacement rapide vers le haut"
@@ -5101,379 +5109,379 @@ msgstr "Déplacement rapide vers le haut"
msgid "shortcuts.move-nodes"
msgstr "Déplacer le nœud"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Déplacer vers le bas"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Déplacer vers la gauche"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Déplacer vers la droite"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Déplacer vers le haut"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Plan de travail suivant"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "Il n'y a aucun raccourci désactivé"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Rendez-vous dans Tous pour commencer à personnaliser vos raccourcis."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "Aucun raccourci ne correspond à votre recherche"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Aucun raccourci trouvé"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Définir l'opacité à 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Définir l'opacité à 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Définir l'opacité à 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Définir l'opacité à 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Définir l'opacité à 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Définir l'opacité à 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Définir l'opacité à 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Définir l'opacité à 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Définir l'opacité à 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Définir l'opacité à 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Sélecteur de couleurs"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Accéder aux commentaires des spectateurs"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Accéder au tableau de bord"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Aller à l'inspecteur"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Accéder aux interactions des spectateurs"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Accéder aux interactions des spectateurs"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Accéder à l’espace de travail"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ou "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Ce raccourci a été réattribué à %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Page des raccourcis"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Coller"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Coller les propriétés"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Coller et remplacer"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Personnalisé"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Gestionnaire d'extensions"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Plan de travail précédent"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Rétablir"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Après avoir modifié les raccourcis, actualisez les autres onglets Penpot "
"ouverts pour appliquer les changements."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Renommer"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Réinitialiser par défaut"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Réinitialiser le zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Échelle"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Bases"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Tableau de bord"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Spectateur"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Espace de travail"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Tout sélectionner"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Sélectionner le calque suivant"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Sélectionner le calque parent"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Sélectionner le calque précédent"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Séparer les nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Afficher les mesures"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
-msgstr "Afficher/masquer la grille de pixels"
+msgstr "Afficher/cacher la grille de pixels"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
-msgstr "Afficher/masquer les raccourcis"
+msgstr "Afficher/cacher les raccourcis"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Aligner sur les nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Aligner sur la grille de pixels"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Commencer l'édition"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alignement"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Modifier"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Générique"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modifier les calques"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panneaux"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Tracés"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formes"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Textes"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Outils"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Définir les vignettes"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Raccourcis clavier"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Activer/désactiver l'alignement dynamique"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Activer/désactiver les ressources"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Activer/désactiver la palette de couleurs"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
-msgstr "Afficher/masquer les commentaires"
+msgstr "Afficher/cacher les commentaires"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Activer/désactiver le mode focus"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Activer/désactiver le plein écran"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
-msgstr "Afficher/Masquer les repères"
+msgstr "Afficher/cacher les repères"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Activer/désactiver l'historique"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Activer/désactiver les calques"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Ajouter/supprimer la disposition flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Ajouter/Supprimer la disposition en grille"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Verrou sélectionné"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Verrouiller les proportions"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
-msgstr "Afficher/Masquer les règles"
+msgstr "Afficher/cacher les règles"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Aligner sur les repères"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Aligner sur les repères de règles"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
-msgstr "Afficher/masquer la palette de texte"
+msgstr "Afficher/cacher la palette de texte"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Changer de thème"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
-msgstr "Afficher/Masquer"
+msgstr "Afficher/cacher"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Alterner le style de zoom"
@@ -5481,31 +5489,31 @@ msgstr "Alterner le style de zoom"
msgid "shortcuts.underline"
msgstr "Activer/désactiver le soulignement"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
-msgstr "Annuler"
+msgstr "Annuler la dernière action"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Dissocier"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Démasquer"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuer verticalement"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Réduire le zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Augmenter le zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoomer sur la sélection"
@@ -5524,7 +5532,7 @@ msgstr "Découvrir Entreprise en action"
msgid "subscription.current-plan.enterprise"
msgstr "Entreprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Entreprise"
@@ -5536,7 +5544,7 @@ msgstr "Entreprise (essai)"
msgid "subscription.current-plan.professional"
msgstr "Professionnel"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Votre abonnement"
@@ -5670,293 +5678,293 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Invitation de personnes dans le cadre de l'abonnement Illimité"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Le paiement n'a pas été finalisé. Réessayez quand vous êtes prêt."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"Le paiement n'a pas été finalisé. Veuillez réessayer. Si le problème "
"persiste, contactez-nous : support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonnement"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Saisir le code d'activation"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Ajouter une méthode de paiement pour continuer à l'utiliser après l'essai"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Console d'administration"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Tous les avantages de l'abonnement Professionnel et :"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Tous les avantages de l'abonnement Illimité et :"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Tous les avantages de l'abonnement Illimité, plus :"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(× %s éditeurs)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Entreprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Entreprise (essai)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr ""
"Versions à enregistrement automatique pendant 90 jours et récupération de "
"fichiers"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Facture mensuelle forfaitaire"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Contrôle avancé :"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Sécurité Entreprise :"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Gestion multi-organisations :"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"SAML/SSO natif et journalisation complète de la piste d'audit pour les "
"rapports de conformité."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Liste blanche de plugins granulaire, incluant notre serveur MCP sécurisé et "
"isolé pour la connectivité IA."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr ""
"Prise en charge des hiérarchies d'équipes complexes et des "
"sous-organisations distinctes."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Stockage illimité"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gérer votre abonnement"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Ajouter les détails de paiement"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Ajoutez vos détails de paiement dès maintenant pour que votre abonnement ne "
"soit pas interrompu après la période d'essai et pour continuer à soutenir "
"notre projet Open Source. Vous n'allez pas être facturé pour le moment."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Ignorer pour le moment et commencer l'essai"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Aidez-nous à nous développer et à faciliter votre essai"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Il y a actuellement %s personne dans vos équipe qui peut être éditeur."
msgstr[1] "Il y a actuellement %s personnes dans vos équipe qui peuvent être éditeurs."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Attention : en passant à un abonnement inférieur, le stockage est moins "
"important et les sauvegardes et les version d'historique sont plus courtes."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Éditeur"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Propriétaires, administrateur et éditeurs. Les spectateurs ne sont pas "
"comptabilisés comme éditeurs.)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Vous pouvez réduire votre nombre actuel d'éditeurs. Dans les paramètres de "
"l'équipe, modifiez le rôle (d'éditeur/admin en spectateur) des personnes "
"qui ne modifient pas vraiment des fichiers."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr ""
"Facturé après la période d'essai. Aucune carte bancaire n'est requise pour "
"le moment."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "7 $ par éditeur/mois × %s"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Appliquer %s à vos équipes"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Conseil : vous pouvez augmenter le nombre de vos utilisateurs dès "
"maintenant pour anticiper les invitations. Au-delà de 25 éditeurs dans vos "
"équipes, un forfait de 175 $/mois vous sera facturé."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Membre Penpot depuis %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Plus d'informations"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "membre d'organisation / mois"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Autres abonnements Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organisation par mois"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "utilisateur / mois"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professionnel"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr ""
"Versions à enregistrement automatique pendant 7 jours et récupération de "
"fichiers"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr ""
"Toutes les fonctionnalités de conception et de prototypage Support "
"communautaire."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Contrôle total sur les données et l'infrastructure."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Utilisateurs, équipes et fichiers illimités."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 Go de stockage"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr ""
"Nombre d'équipes illimité. Jusqu'à 8 éditeurs dans les équipes dont vous "
"êtes propriétaire."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Recommandé"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Votre abonnement"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Commencer l'essai gratuit"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "S'abonner"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Vous êtes sur l'abonnement %s depuis %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Vous pouvez modifier votre abonnement à tout moment dans la page Abonnement "
"des informations de votre compte."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Profitez bien de votre abonnement !"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Merci d'avoir choisi l'abonnement Penpot %s !"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Vous êtes %s !"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Essayez gratuitement pendant 14 jours"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Illimité"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Illimité (essai)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr ""
"Versions à enregistrement automatique pendant 30 jours et récupération de "
"fichiers"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Facture mensuelle plafonnée"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 Go de stockage"
@@ -5985,45 +5993,45 @@ msgstr ""
"Si vous souhaitez augmenter cette limite, [mettez votre abonnement à "
"niveau|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invitation sélectionnée"
msgstr[1] "%s invitations sélectionnées"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s – Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Fournisseurs de polices – %s – Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Polices – %s – Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projets – %s – Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Rechercher – %s – Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Bibliothèques partagées – %s – Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot – Liberté de conception pour les équipes"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Donnez votre avis – Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Intégrations - Penpot"
@@ -6031,7 +6039,7 @@ msgstr "Intégrations - Penpot"
msgid "title.settings.notifications"
msgstr "Notifications – Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Paramètres – Penpot"
@@ -6039,27 +6047,27 @@ msgstr "Paramètres – Penpot"
msgid "title.settings.password"
msgstr "Mot de passe – Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil – Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitations – %s – Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membres – %s – Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Paramètres – %s – Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks – %s – Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s – Mode spectateur – Penpot"
@@ -6071,51 +6079,51 @@ msgstr "%s – Penpot"
msgid "token-actions.detach-token"
msgstr "Détacher le token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Aucun plan de travail trouvé sur la page."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Plan de travail introuvable."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Commentaires (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Ne pas afficher les interactions"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Plein écran"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspecter (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interactions"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interactions (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copier le lien"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Afficher les interactions"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Afficher les interactions au clic"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Plan du site"
@@ -6153,67 +6161,67 @@ msgstr "Suivez notre "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "guide de dépannage WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "Rendu WebGL désactivé"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "Rendu WebGL activé"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "Le contexte WebGL a été perdu"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "Le contexte WebGL a été restauré"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Le dernier envoi a réussi."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Aligner horizontalement au centre (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Répartir l’espacement horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Aligner à gauche (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Aligner à droite (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Aligner en bas (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Aligner verticalement au centre (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Répartir l’espacement vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Aligner en haut (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Ajouter une bibliothèque"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Toutes les ressources"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Couleurs"
@@ -6225,7 +6233,7 @@ msgstr "Ajouter une couleur"
msgid "workspace.assets.component-group-options"
msgstr "Options de groupe de composants"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Composants"
@@ -6233,7 +6241,7 @@ msgstr "Composants"
msgid "workspace.assets.components.add-component"
msgstr "Ajouter un composant"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s variantes"
@@ -6241,13 +6249,13 @@ msgstr "%s variantes"
msgid "workspace.assets.create-group"
msgstr "Créer un groupe"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Vos éléments seront nommées automatiquement sous la forme « nom du groupe / "
"nom de l'élément »"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Supprimer"
@@ -6255,11 +6263,11 @@ msgstr "Supprimer"
msgid "workspace.assets.delete-group"
msgstr "Supprimer le groupe"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Supprimer les pages"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Dupliquer"
@@ -6267,39 +6275,39 @@ msgstr "Dupliquer"
msgid "workspace.assets.duplicate-main"
msgstr "Dupliquer le principal"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Modifier"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtrer"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Vue en grille"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grouper"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nom du groupe"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Vue en liste"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "Bibliothèque locale"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gérer la bibliothèque"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Aucune ressource trouvée"
@@ -6307,7 +6315,7 @@ msgstr "Aucune ressource trouvée"
msgid "workspace.assets.open-library"
msgstr "Ouvrir le fichier de la bibliothèque"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Renommer"
@@ -6315,11 +6323,11 @@ msgstr "Renommer"
msgid "workspace.assets.rename-group"
msgstr "Renommer le groupe"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Chercher des ressources"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Bibliothèque partagée"
@@ -6329,43 +6337,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 composant"
msgstr[1] "%s composants"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Trier"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typographies"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Ajouter une typographie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Taille"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Style de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Interlignage"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformer le texte"
@@ -6373,101 +6381,105 @@ msgstr "Transformer le texte"
msgid "workspace.assets.ungroup"
msgstr "Dissocier"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Copie de l'image…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Image copiée dans le presse-papiers"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Erreur lors de la copie de l'image"
+#: src/app/main/ui/workspace/colorpicker.cljs:447
+msgid "workspace.colorpicker.color-picker"
+msgstr "Prélever une couleur à l'écran"
+
#: src/app/main/ui/workspace/colorpicker.cljs:439, src/app/main/ui/workspace/colorpicker.cljs:454
msgid "workspace.colorpicker.color-tokens"
msgstr "Tokens de couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Impossible d'imbriquer des composants dans eux-mêmes."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Certaines copies n'ont pas pu être basculées. Les composants ne peuvent pas "
"être imbriqués en eux-mêmes."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Créer une zone"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Copier les colonnes"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Copier les lignes"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Créer un tableau"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Fusionner les cellules"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Coller"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Ajouter une colonne à droite"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Ajouter une colonne à gauche"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Supprimer la colonne"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Supprimer la colonne et le contenu"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Dupliquer la colonne"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Ajouter une ligne en-dessous"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Ajouter une ligne au-dessus"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Supprimer la ligne"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Supprimer la ligne et son contenu"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Dupliquer la ligne"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Couleur du guide"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Supprimer le guide"
@@ -6475,15 +6487,15 @@ msgstr "Supprimer le guide"
msgid "workspace.debug.title"
msgstr "Outils de débogage"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Mode focus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Focus désactivé"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Focus activé"
@@ -6495,243 +6507,247 @@ msgstr "Dégradé linéaire"
msgid "workspace.gradients.radial"
msgstr "Dégradé radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Désactiver l’alignement dynamique"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Désactiver l'échelle proportionnelle"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Désactiver l’alignement sur les repères"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Désactiver l’accrochage au pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Désactiver l'alignement sur les repères de règles"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Désactiver le rendu WebGL (bêta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Activer l’alignement dynamique"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Activer l'échelle proportionnelle"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Aligner sur les repères"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Activer l’alignement au pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Aligner sur les repères de règles"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Activer le rendu WebGL (bêta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Rechercher"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
-msgstr "Masquer le nom des plans de travail"
+msgstr "Cacher le nom des plans de travail"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
-msgstr "Masquer les commentaires"
+msgstr "Cacher les commentaires"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
-msgstr "Masquer les repères"
+msgstr "Cacher les repères"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
-msgstr "Masquer la palette de couleurs"
+msgstr "Cacher la palette de couleurs"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
-msgstr "Masquer la grille de pixels"
+msgstr "Cacher la grille de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
-msgstr "Masquer les règles"
+msgstr "Cacher les règles"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
-msgstr "Masquer la palette de polices"
+msgstr "Cacher la palette de polices"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Verrouiller les guides"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Connecter"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Déconnecter"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Gérer (statut : désactivé)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Gérer (statut : activé)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Modifier"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fichier"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Aide et information"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "Serveur MCP"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Préférences"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Vue"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Rétablir"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Tout sélectionner"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Afficher le nom des plans de travail"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Afficher les commentaires"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Afficher les repères"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Afficher la palette de couleurs"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Afficher la grille de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Afficher les règles"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Afficher la palette des polices"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Basculer vers le thème sombre"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Basculer vers le thème clair"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Activer le thème système"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Annuler"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Déverrouiller les guides"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Réinitialiser"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:133
+msgid "workspace.header.retrying"
+msgstr "Nouvelle tentative d'enregistrement"
+
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Erreur d’enregistrement"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Enregistré"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Enregistrement"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Partager"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Mode spectateur (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Remplir l’écran"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ajuster à l’écran"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoomer pour montrer tous les éléments"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Plein écran"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoomer sur la sélection"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Modifier la grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Quitter"
@@ -6739,7 +6755,7 @@ msgstr "Quitter"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Marge intérieure du bas"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Afficher les options de marge intérieure sur les 4 côtés"
@@ -6775,37 +6791,37 @@ msgstr "Terminé"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Montrer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Montrer la disposition en grille"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 couleur"
msgstr[1] "%s couleurs"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Ajouter la couleur à la bibliothèque"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Il n'y a pas encore de styles de couleur dans votre bibliothèque"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Aucune couleur récente pour l'instant"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Il n'y a pas encore de styles typographiques dans votre bibliothèque"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Bibliothèque du fichier"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Dernières couleurs utilisées"
@@ -6817,77 +6833,101 @@ msgstr "RVBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Enregistrer le style de couleur"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
-msgstr "Afficher/masquer la palette de couleurs"
+msgstr "Afficher/cacher la palette de couleurs"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 composant"
msgstr[1] "%s composants"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:864
+msgid "workspace.libraries.connected-libraries"
+msgstr "Bibliothèque connectée"
+
+#: src/app/main/ui/workspace/libraries.cljs:235
+msgid "workspace.libraries.connected-through"
+msgstr "Connectée via"
+
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Connecté à"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Ou ajouter une parmi celles-ci pour essayer :"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:834
+msgid "workspace.libraries.empty.no-assets"
+msgstr "Aucune ressource pour l'instant"
+
+#: src/app/main/ui/workspace/libraries.cljs:918
+msgid "workspace.libraries.empty.no-connected-libraries"
+msgstr "Aucune bibliothèque connectée pour l'instant."
+
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr ""
"Il n'y a pas de bibliothèque partagée dans votre équipe, vous pouvez "
"regarder"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "quelques modèles par ici"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Bibliothèque du fichier"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 graphique"
msgstr[1] "%s graphiques"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTHÈQUES DANS CE FICHIER"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTHÈQUES"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "MISES À JOUR DE LA BIBLIOTHÈQUE"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Chargement…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Aucune correspondance pour « %s »"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Rechercher des bibliothèques partagées"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
+msgid "workspace.libraries.set-as-tokens-source"
+msgstr "Définir comme source des tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTHÈQUES PARTAGÉES"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:674
+msgid "workspace.libraries.shared-library-added"
+msgstr "Ajoutée"
+
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Connecter librairie"
@@ -6911,25 +6951,47 @@ msgstr "Dissocier toutes les ressources"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Détacher tous les tokens"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
+msgid "workspace.libraries.token-sets"
+msgid_plural "workspace.libraries.token-sets"
+msgstr[0] "1 collection"
+msgstr[1] "%s collections"
+
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
+msgid "workspace.libraries.token-themes"
+msgid_plural "workspace.libraries.token-themes"
+msgstr[0] "1 thème"
+msgstr[1] "%s thèmes"
+
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
+msgid "workspace.libraries.tokens"
+msgid_plural "workspace.libraries.tokens"
+msgstr[0] "1 token"
+msgstr[1] "%s tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
+msgid "workspace.libraries.tokens-source"
+msgstr "Source des tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 typographie"
msgstr[1] "%s typographies"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Déconnecter librairie"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Mettre à jour"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "Voir tous les changements"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "MISES À JOUR"
@@ -6990,9 +7052,9 @@ msgstr "Activer/Désactiver le flou"
#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:138
msgid "workspace.options.blur-options.toggle-more-options"
-msgstr "Afficher/masquer plus d'options"
+msgstr "Afficher/cacher plus d'options"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Annuler"
@@ -7000,117 +7062,121 @@ msgstr "Annuler"
msgid "workspace.options.canvas-background"
msgstr "Couleur de fond du canevas"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:75
+msgid "workspace.options.canvas-background-section"
+msgstr "Section du fond du canevas"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Tronquer le contenu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Composant"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Note"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copier"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Créer une note"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Modifier une note"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principal"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Échanger composant"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Cette librairie ne contient aucun élément pour le moment"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Délié"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Chercher les variantes en conflit"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Ce composant comporte des variantes en conflit. Assurez-vous que chaque "
"variante possède une collection de valeurs de propriétés unique."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Chercher des variantes en double"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Certaines variantes possèdent des propriétés et des valeurs identiques"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Ces variantes possèdent des propriétés et des valeurs identiques. Ajustez "
"les valeurs afin de pouvoir les extraire."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Cette variante possède des propriétés et des valeurs identiques à celles "
"d'une autre variante."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Certaines de ces variantes possèdent des propriétés et des valeurs "
"identiques."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Ce composant comporte des variantes dont le nom n'est pas valide. "
"Assurez-vous que chaque variante respecte la structure appropriée."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Chercher les variantes non valides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Le nom de certaines variantes n'est pas valide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Chercher les variantes non valides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Le nom de ces variantes n'est pas valide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Le nom de cette variante n'est pas valide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Le nom de certaines de ces variantes n'est pas valide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[propriété]=[valeur], [propriété]=[valeur]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Essayez d'utiliser la structure suivante :"
@@ -7151,7 +7217,7 @@ msgstr ""
"Les groupes, les tableaux de bord et les dispositions sont considérés "
"équivalents."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Comment les variantes restent connectées"
@@ -7199,11 +7265,11 @@ msgstr "Haut et bas"
msgid "workspace.options.convert-to-typography"
msgstr "Créer un style de typographie"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Conception"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exporter"
@@ -7211,53 +7277,53 @@ msgstr "Exporter"
msgid "workspace.options.export-multiple"
msgstr "Exporter la sélection"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Ajouter une exportation"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Supprimer l'exportation"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffixe"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Le service d'export est occupé, veuillez réessayer plus tard"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Export annulé"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Annulation…"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportation terminée"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportation…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "L'exportation a échoué"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "L'exportation est d'une lenteur inattendue"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "En attente…"
@@ -7277,7 +7343,7 @@ msgstr "Supprimer la couleur de remplissage"
msgid "workspace.options.fill.section"
msgstr "Section de remplissage"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Ajuster la taille du plan de travail au contenu"
@@ -7297,71 +7363,77 @@ msgstr "Début du flux"
msgid "workspace.options.flows.flow-starts"
msgstr "Début des flux"
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+msgid "workspace.options.font-not-available"
+msgstr ""
+"La police utilisée par ce texte (%s) n'est plus disponible. Téléverser à "
+"nouveau la police pour créer un style typographique"
+
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:34
msgid "workspace.options.grid.auto"
msgstr "Automatique"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Colonnes"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Gouttière"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Hauteur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marge"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Définir par défaut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Bas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centre"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Gauche"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Droite"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Étirer"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Haut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Utiliser la valeur par défaut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Largeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Lignes"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Carré"
@@ -7373,7 +7445,7 @@ msgstr "Remplissage de groupe"
msgid "workspace.options.group-stroke"
msgstr "Contour de groupe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Ajouter un repère"
@@ -7381,19 +7453,19 @@ msgstr "Ajouter un repère"
msgid "workspace.options.guides.remove-guide"
msgstr "Supprimer le repère"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Repères"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
-msgstr "Afficher/Masquer le repère"
+msgstr "Afficher/cacher le repère"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Hauteur"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspecter"
@@ -7609,115 +7681,119 @@ msgstr "Interactions"
msgid "workspace.options.interactions.add-interaction"
msgstr "Ajouter une interaction"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Densité plus forte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Densité plus faible"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Assombrir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Différence"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Lumière crue"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Teinte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Éclaircir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosité"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Produit"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Incrustation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Superposition"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Lumière tamisée"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Section du menu du calque"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Afficher/Cacher le calque"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Hauteur max"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Largeur max"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Hauteur min"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Largeur min"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Plus de couleurs"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Plus de couleurs de la bibliothèque"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Plus de tokens de couleur"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Aucun préréglage de taille correspondant"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacité"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:99, src/app/main/ui/workspace/sidebar/options/page.cljs:106
+msgid "workspace.options.pixel-grid-color"
+msgstr "Couleur de la grille de pixels"
+
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototype"
@@ -7753,23 +7829,23 @@ msgstr "Section du rayon de bordure"
msgid "workspace.options.radius.show-single-corners"
msgstr "Afficher les rayons indépendants"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Récentes"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Réessayer"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Rechercher une police"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Rechercher un préréglage de taille"
@@ -7779,11 +7855,11 @@ 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Couleurs sélectionnées"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Section de sélection des couleurs"
@@ -7851,55 +7927,55 @@ msgstr "Afficher/Cacher l'ombre"
msgid "workspace.options.show-fill-on-export"
msgstr "Afficher dans les exportations"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Montrer en mode spectateur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Taille"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Tailles prédéfinies"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Bloquer le ratio"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Débloquer le ratio"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cercle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Flèche"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Aucune"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Rond"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Carré"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectangle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangle"
@@ -7907,31 +7983,31 @@ msgstr "Triangle"
msgid "workspace.options.stroke-color"
msgstr "Couleur du tracé"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Trait"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Espace"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Largeur du tracé"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Bas (fin de bloc)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Gauche (début en ligne)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Droite (fin en ligne)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Haut (début de bloc)"
@@ -7939,51 +8015,51 @@ msgstr "Haut (début de bloc)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Ajouter une couleur du tracé"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centre"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tirets"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Pointillé"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Intérieur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixte"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Extérieur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Contour par côté"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"La fonctionnalité de contours par côté n'est disponible que dans le nouveau "
"moteur de rendu. Changez de moteur de rendu pour l'utiliser."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Supprimer la couleur du tracé"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solide"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
-msgstr "Afficher/masquer le contour"
+msgstr "Afficher/cacher le contour"
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:135
msgid "workspace.options.text-options.align-bottom"
@@ -8017,11 +8093,11 @@ msgstr "Largeur automatique"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fixe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Interlignage"
@@ -8071,150 +8147,154 @@ 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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Largeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Axe X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Axe Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Dessiner des nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Aligné"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Indépendant"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Symétrique"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Comportement des poignées"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Joindre les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Convertir en coin (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Convertir en courbe (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Fusionner les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Déplacer les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Dissocier les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Aligner les nœuds (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Ouvrir"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Découvrir [plus d'extensions](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Aucune extension installée pour le moment"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Le fichier de définition de l'extension est incorrect."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Vous devez être éditeur pour utiliser cette extension"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/data/plugins.cljs:160
+msgid "workspace.plugins.error.unreachable"
+msgstr "L'URL de l'extension est inaccessible."
+
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Cette extension n'existe pas ou l'URL n'est pas correcte."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installer"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Extensions installées"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Gestionnaire d'extensions"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Extensions"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "METTRE À JOUR CETTE EXTENSION"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Cette extension a été modifiée depuis que vous l'avez ouverte. Elle "
"souhaite maintenant accéder à :"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Télécharger des fichiers."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Stockez les données dans le navigateur."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Lire le contenu de votre presse-papiers."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Lire et écrire dans votre presse-papiers."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Lire vos commentaires et réponses."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Lire et modifier vos commentaires et répondre en votre nom."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Lire le contenu des fichiers dont l'utilisateur a accès."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Lire et modifier le contenu des fichiers dont l'utilisateur a accès."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Notez que cette extension est créée par un utilisateur externe. Avant de "
@@ -8222,74 +8302,74 @@ msgstr ""
"confiance. La confidentialité de vos données et votre sécurité sont "
"importantes pour nous. Si vous avez des questions, contactez l'assistance."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Lire vos bibliothèques et composants."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Lire et modifier vos bibliothèques et composants."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "L'EXTENSION « %s » SOUHAITE ACCÉDER À :"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Lire les informations du profil de l'utilisateur."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Liste des extensions"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Supprimer l'extension"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Entrez l'URL d'une extension"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Extensions"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "PAS MAINTENANT"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Envie d'y jeter un œil ? Cela ouvrira un nouveau brouillon pour votre "
"équipe actuelle. (Si non, vous pouvez toujours le trouver dans les "
"extensions installés dans n'importe quel fichier.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "L'EXTENSION « %s » EST INSTALLÉE POUR VOTRE UTILISATEUR !"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "ESSAYER L'EXTENSION"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Ajouter une disposition flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Ajouter une disposition en grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Ajouter une disposition"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Créer une variante"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Ajouter une nouvelle propriété"
@@ -8301,11 +8381,11 @@ msgstr "Envoyer au fond"
msgid "workspace.shape.menu.backward"
msgstr "Éloigner"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Effacer les guides du plan de travail"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combiner en variantes"
@@ -8313,7 +8393,7 @@ msgstr "Combiner en variantes"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Les composants doivent se trouver sur la même page"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copier"
@@ -8357,27 +8437,27 @@ msgstr "Copier en texte"
msgid "workspace.shape.menu.create-annotation"
msgstr "Créer une note"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
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:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Créer un composant"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Créer plusieurs composants"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Couper"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Supprimer"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Supprimer le début du flux"
@@ -8389,7 +8469,7 @@ msgstr "Détacher l’instance"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Détacher les instances"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Différence"
@@ -8397,15 +8477,15 @@ msgstr "Différence"
msgid "workspace.shape.menu.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Modifier"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exclure"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Aplatir"
@@ -8417,7 +8497,7 @@ msgstr "Retourner horizontalement"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Retourner verticalement"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Début du flux"
@@ -8429,31 +8509,31 @@ msgstr "Avancer"
msgid "workspace.shape.menu.front"
msgstr "Amener au premier plan"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Groupe"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
-msgstr "Masquer"
+msgstr "Cacher"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
-msgstr "Afficher/Masquer l'interface"
+msgstr "Afficher/cacher l'interface"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersection"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Bloquer"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Masque"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Coller"
@@ -8461,27 +8541,27 @@ msgstr "Coller"
msgid "workspace.shape.menu.paste-props"
msgstr "Coller les propriétés"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Chemin"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Supprimer la disposition flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Supprimer la disposition en grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Supprimer la disposition"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Supprimer la propriété"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "La variante doit comporter au moins une propriété"
@@ -8505,11 +8585,11 @@ msgstr "Rétablir la variante"
msgid "workspace.shape.menu.select-layer"
msgstr "Sélectionner le calque"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Montrer"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Afficher dans le panneau des ressources"
@@ -8517,7 +8597,7 @@ msgstr "Afficher dans le panneau des ressources"
msgid "workspace.shape.menu.show-main"
msgstr "Afficher le composant principal"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Convertir le contour en chemin"
@@ -8529,19 +8609,19 @@ msgstr "Supprimer la miniature"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Définir comme miniature"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Dissocier"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Union"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Débloquer"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Supprimer le masque"
@@ -8557,79 +8637,79 @@ 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:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historique"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Calques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Composants"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtrer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Plans de travail"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Groupes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Images"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Aucune correspondance"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Tout remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Remplacer par…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Rechercher…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Contenu du texte"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Noms des calques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textes"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Attributs SVG importés"
@@ -8641,7 +8721,7 @@ msgstr "Pages"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Ajouter une page"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Plan du site"
@@ -8661,6 +8741,10 @@ msgstr "%s thèmes actifs"
msgid "workspace.tokens.add-new-theme"
msgstr "Ajouter un nouveau thème"
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:106
+msgid "workspace.tokens.add-set"
+msgstr "Ajouter une collection"
+
#: src/app/main/ui/workspace/tokens/sets/context_menu.cljs:62
msgid "workspace.tokens.add-set-to-group"
msgstr "Ajouter la collection à ce groupe"
@@ -8669,7 +8753,7 @@ msgstr "Ajouter la collection à ce groupe"
msgid "workspace.tokens.add-token"
msgstr "Ajouter un token : %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Appliqué à"
@@ -8689,7 +8773,11 @@ msgstr "Taille de police de base"
msgid "workspace.tokens.base-font-size.error"
msgstr "La taille de base de police doit avoir une valeur en pixels ou sans unité."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:98
+msgid "workspace.tokens.change-token-source"
+msgstr "Changer la source des tokens"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Couleur"
@@ -8701,7 +8789,7 @@ msgstr "Copier le chemin du token"
msgid "workspace.tokens.create-new-theme"
msgstr "Créez votre premier thème dès à présent."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "En créer un."
@@ -8709,6 +8797,10 @@ msgstr "En créer un."
msgid "workspace.tokens.create-token"
msgstr "Créer un token %s"
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:101
+msgid "workspace.tokens.current-tokens-source-tooltip"
+msgstr "C'est la source actuelle des tokens"
+
#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:437
msgid "workspace.tokens.delete"
msgstr "Supprimer le token"
@@ -8725,7 +8817,7 @@ msgstr "Dupliquer le token"
msgid "workspace.tokens.duplicate-group"
msgstr "Dupliquer le groupe de tokens"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copie"
@@ -8749,7 +8841,7 @@ msgstr "Modifier le token %s"
msgid "workspace.tokens.enter-token-name"
msgstr "Entrez le nom du token %s"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr ""
"Les tokens ne peuvent pas être appliqués pendant l'édition de texte. "
@@ -8779,7 +8871,7 @@ msgstr "Prévisualisation :"
msgid "workspace.tokens.export.single-file"
msgstr "Fichier unique"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Taille de police ou {alias}"
@@ -8789,7 +8881,7 @@ msgstr ""
"Erreur lors de la définition de la graisse/du style de la police. Ce style "
"de police n'existe pas dans la police active"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Font weight (300, Bold, Regular, Italic...) ou {alias}"
@@ -8829,7 +8921,7 @@ msgstr ""
"Dans un fichier JSON, les clés de premier niveau doivent correspondre aux "
"noms de collection des tokens."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importer des tokens"
@@ -8839,17 +8931,17 @@ msgstr ""
"L'importation des tokens va remplacer tous vos tokens, collections et "
"thèmes actuels."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactive"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Cette collection n'est pas active. Changez de thème ou activez cette "
"collection pour afficher les modifications dans la fenêtre d'affichage"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Utiliser des tokens individuels"
@@ -8869,11 +8961,11 @@ msgstr "Thème"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Ajouter un thème (ex : Clair)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Interlettrage ou {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Entrer l'interlignage — multiplicateur, px, % ou {alias}"
@@ -8889,11 +8981,11 @@ msgstr "Taille max."
msgid "workspace.tokens.min-size"
msgstr "Taille min."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Référence manquante"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Cliquez avec le bouton droit pour afficher les options"
@@ -8909,7 +9001,7 @@ msgstr "Aucun thème actif"
msgid "workspace.tokens.no-permisions-set"
msgstr "Vous devez être éditeur pour activer/désactiver des collections"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Vous devez être éditeur pour utiliser des thèmes"
@@ -8921,7 +9013,7 @@ msgstr "Aucune collection n'est définie. Créez-en d'abord une."
msgid "workspace.tokens.no-sets-yet"
msgstr "Il n'y a pas encore de collections."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Aucun thème."
@@ -8933,11 +9025,25 @@ msgstr "Vous n'avez actuellement aucun thème."
msgid "workspace.tokens.not-remap"
msgstr "Ne pas remapper"
+#: src/app/main/data/workspace/libraries.cljs:848
+msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
+msgstr "Les collections ou thèmes de la source des tokens ont été modifiés"
+
#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:132
msgid "workspace.tokens.num-active-sets"
msgstr "%s collections actives"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
+msgid "workspace.tokens.only-first-fill-or-stroke"
+msgstr ""
+"Les design tokens ne peuvent s'appliquer qu'au premier remplissage ou "
+"contour de la liste."
+
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:104
+msgid "workspace.tokens.open-source-new-tab"
+msgstr "Ouvrir la source des tokens dans un nouvel onglet"
+
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valeur initiale : %s"
@@ -8949,17 +9055,17 @@ msgstr "Marges intérieures"
msgid "workspace.tokens.radius"
msgstr "Rayons"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr ""
"La référence dans {%s} n'est pas valide ou ne fait partie d'aucune "
"collection active."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Entrer un alias de typographie pour un token"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Entrer un alias d'ombre pour un token"
@@ -8999,7 +9105,7 @@ msgstr "Renommer le groupe de tokens"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Vos tokens seront automatiquement renommés en %s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valeur résolue : %s"
@@ -9037,27 +9143,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Paramètres des tokens"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Ajouter une ombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Flou"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Intérieure"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Supprimer l'ombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Portée"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "La valeur de flou ne peut pas être négative"
@@ -9065,11 +9171,11 @@ msgstr "La valeur de flou ne peut pas être négative"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "La valeur de la portée ne peut pas être négative"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -9077,11 +9183,19 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Taille"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:75
+msgid "workspace.tokens.source"
+msgstr "Source :"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:311, src/app/main/ui/workspace/tokens/management/context_menu.cljs:335
+msgid "workspace.tokens.stroke-width"
+msgstr "Largeur du contour"
+
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "Aucune | Majuscules | Minuscules | Première lettre en capitale ou {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through ou {alias}"
@@ -9095,35 +9209,39 @@ msgstr ""
msgid "workspace.tokens.themes-list"
msgstr "Liste des thèmes"
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:80
+msgid "workspace.tokens.this-file"
+msgstr "Ce fichier"
+
#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:334, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:335
msgid "workspace.tokens.token-description"
msgstr "Description"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Sélectionner une famille de polices"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Famille de polices"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Famille de polices ou liste de polices séparées par une virgule (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nom"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Il existe déjà un token au chemin : %s ou à un préfixe de celui-ci."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Le nom doit comporter au moins 1 caractère"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" n'est pas un nom de token valide.\n"
@@ -9134,11 +9252,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valeur"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Entrez une valeur ou un alias avec {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS – %s"
@@ -9157,15 +9275,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Le type « %s » n'est pas pris en charge (%s) :"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Utiliser une référence"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "La valeur n'est pas valide"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Flèche (%s)"
@@ -9173,75 +9291,75 @@ msgstr "Flèche (%s)"
msgid "workspace.toolbar.assets"
msgstr "Ressources"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Palette de couleurs (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Commentaires (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Courbe (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Plan de travail (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Image (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
+msgid "workspace.toolbar.label"
+msgstr "Outils de dessin"
+
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Ligne (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Se connecter ici"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP connecté"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Déplacer (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Barre de palette"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Chemin (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Extensions (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectangle (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Texte (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Polices (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Activer/Désactiver la barre d'outils"
@@ -9262,11 +9380,11 @@ msgstr "Rendu indisponible. Actualisez pour reprendre l'édition."
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Actualiser"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Il n’y a aucun changement dans l’historique pour l’instant"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "par %s"
@@ -9406,19 +9524,19 @@ msgstr "typographie"
msgid "workspace.undo.entry.unknown"
msgstr "Opération sur %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ignorer"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Plus d'information"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
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:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Mettre à jour"
diff --git a/frontend/translations/fr_CA.po b/frontend/translations/fr_CA.po
index e5b34259e6..96888d0813 100644
--- a/frontend/translations/fr_CA.po
+++ b/frontend/translations/fr_CA.po
@@ -1,17 +1,17 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Alexis Morin \n"
-"Language-Team: French (Canada) "
-" \n"
+"PO-Revision-Date: 2026-11-09 10:07+0000\n"
+"Last-Translator: Alexis Morin \n"
+"Language-Team: French (Canada) \n"
"Language: fr_CA\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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Tu as déjà un compte?"
@@ -33,7 +33,7 @@ msgstr ""
"Ceci est un service de DÉMONSTRATION. NE PAS UTILISER pour du vrai travail. "
"Les projets seront supprimés périodiquement."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Mot de passe oublié?"
@@ -41,37 +41,37 @@ msgstr "Mot de passe oublié?"
msgid "auth.fullname"
msgstr "Nom complet"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Connexion à mon compte"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Se connecter ici."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot est un outil de design gratuit à code source ouvert pour la "
"collaboration entre le design et le code"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Nouveau mot de passe"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Tu fais maintenant partie de %s"
@@ -97,7 +97,7 @@ msgstr ""
"Un lien de réinitialisation du mot de passe a été envoyé a ta boîte de "
"réception."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Tu as bien rejoint l'équipe"
@@ -129,7 +129,7 @@ msgstr "Mot de passe oublié?"
msgid "auth.recovery-submit"
msgstr "Modifier le mot de passe"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Tu n'as pas encore de compte?"
@@ -143,7 +143,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Ton nom"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Créer un compte"
@@ -158,7 +158,7 @@ msgstr ""
"J'accepte les [conditions d'utilisation](%s) et la [politique de "
"confidentialité](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Conditions d'utilisation"
@@ -180,93 +180,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Aucune personne trouvée pour @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publier"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Tous les usagers de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Veux-tu vraiment supprimer ce lien? Cas advenant, il ne sera plus "
"disponible à quiconque"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(courant)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Supprimer le lien"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obtenir le lien"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Lien copié avec succès"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gérer les permissions"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 page partagée"
msgstr[1] "%s pages partagées"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Peut commenter"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Peut inspecter le code"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "N'importe qui avec le lien peut accéder"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pages partagées"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Le lien de partage apparaîtra ici"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Seulement les membres de l'équipe"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Partager les prototypes"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Tout sélectionner"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Dépublier"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestion de l'équipe"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot est conçu pour les équipes. Invite des membres à travailler ensemble "
"sur des projets et fichiers"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Collaborer!"
@@ -282,47 +282,108 @@ msgstr "Restaurer le fichier"
msgid "dashboard.add-file"
msgstr "Ajouter un fichier"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Ajouter une bibliothèque partagée"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Changer l'adresse courriel"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "DÉPLACER L'ÉQUIPE"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Déplacer vers :"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:611
+msgid "dashboard.change-organization-modal.description"
+msgstr ""
+"Les projets et fichiers resteront disponibles aux membres de l'équipe. "
+"L'équipe recevra la configuration de la nouvelle organisation."
+
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Sélectionner une organisation"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Changer l'organisation de l'équipe"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/check_updates.cljs:334
+msgid "dashboard.check-updates.available-message"
+msgstr ""
+"Les nouvelles versions incluent des améliorations à la performance, des "
+"nouvelles fonctionnalités et des correctifs qui maintiennent ton "
+"installation à jour."
+
+#: src/app/main/ui/dashboard/check_updates.cljs:309
+msgid "dashboard.check-updates.available-title"
+msgstr "UNE NOUVELLE VERSION DE PENPOT EST DISPONIBLE"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:341
+msgid "dashboard.check-updates.highlights-title"
+msgstr "Nouveautés - Points forts"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:318
+msgid "dashboard.check-updates.installed-version"
+msgstr "Version installée"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:326
+msgid "dashboard.check-updates.latest-version"
+msgstr "Dernière version"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:235
+msgid "dashboard.check-updates.try-again"
+msgstr "Réessayer"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:230
+msgid "dashboard.check-updates.unable-hint"
+msgstr "Vérifier le réseau ou la configuration de l'instance et réessayer."
+
+#: src/app/main/ui/dashboard/check_updates.cljs:226
+msgid "dashboard.check-updates.unable-message"
+msgstr "Cette installation n'a pu rejoindre le service des versions de Penpot."
+
+#: src/app/main/ui/dashboard/check_updates.cljs:215
+msgid "dashboard.check-updates.unable-title"
+msgstr "IMPOSSIBLE DE VÉRIFIER LES MISES À JOUR"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:265
+msgid "dashboard.check-updates.uptodate-message"
+msgstr "Tu utilises la version stable la plus récente :"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:254
+msgid "dashboard.check-updates.uptodate-title"
+msgstr "PENPOT EST À JOUR"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:371
+msgid "dashboard.check-updates.view-changelog"
+msgstr "Voir le journal des modifications"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:374
+msgid "dashboard.check-updates.view-release-notes"
+msgstr "Voir les notes de la version"
+
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Vider la corbeille"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copier)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Crée une nouvelle organisation"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Créer une nouvelle équipe"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Épingler cette version"
@@ -330,7 +391,7 @@ msgstr "Épingler cette version"
msgid "dashboard.default-team-name"
msgstr "Ton Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Es-tu certain de supprimer pour toujours tous tes projets et fichiers "
@@ -342,42 +403,42 @@ msgstr ""
"Es-tu certain de vouloir supprimer %s pour toujours ? Ceci est une action "
"irréversible."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s fichiers ont été supprimés avec succès."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Supprimer pour toujours"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Supprimer le projet"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Es-tu certain de vouloir supprimer le projet %s pour toujours ? Tu vas le "
"supprimer pour toujours ainsi que tous ses fichiers inclus. Ceci est une "
"action irréversible."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s a été supprimé avec succès."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Supprimer l'équipe"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "La corbeille est vide. Les fichiers et projets supprimés s'afficheront ici."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Sera supprimé %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Télécharger le fichier Penpot (.penpot)"
@@ -389,19 +450,19 @@ msgstr "Dupliquer"
msgid "dashboard.duplicate-multi"
msgstr "Dupliquer %s fichiers"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Quand un membre de l'équipe crée un brouillon, il s'affichera ici."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Aucun brouillon."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Quand un membre de l'équipe crée un fichier, il s'affichera ici."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Aucun fichier."
@@ -449,23 +510,23 @@ msgstr "Importer un fichier .penpot"
msgid "dashboard.empty-project.start"
msgstr "Crée des choses incroyables"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Une erreur s'est produite en supprimant les fichiers."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Une erreur s'est produite en supprimant le projet %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Une erreur s'est produite en restaurant le fichier %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Une erreur s'est produite en restaurant les fichiers."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Une erreur s'est produite en restaurant le projet %s et ses fichiers."
@@ -473,37 +534,37 @@ msgstr "Une erreur s'est produite en restaurant le projet %s et ses fichiers."
msgid "dashboard.export-binary-multi"
msgstr "Télécharger %s fichiers Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exporter les tableaux en PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exporter en PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s éléments sélectionnés"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exporter"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Tu peux ajouter des paramètres d'exportation aux éléments dans les "
"propriétés design (au bas du panneau de droite)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Info sur la configuration des exportations dans Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Aucun élément n'a de paramètres d'exportation."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exporter la sélection"
@@ -527,35 +588,35 @@ msgstr "Vue en grille"
msgid "dashboard.files-layout.list"
msgstr "Vue en liste"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Police de caractères manquante"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Tout ignorer"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Les polices de caractères téléversées apparaîtront ici."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Aucune police de caractères personalisée."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Dès qu'un membre du projet téléverse une police de caractères "
"personnalisée, elle apparaîtra ici."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -565,7 +626,7 @@ msgstr ""
"**une seule famille de polices**. Les formats suivants sont supportés: "
"**TTF, OTF et WOFF** (un seul format est nécessaire)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -575,11 +636,11 @@ msgstr ""
"aussi en lire plus sur les [licences de police de "
"caractères](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Tout téléverser"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -590,114 +651,154 @@ msgstr ""
"plus, nous recommendons l'usage de [Transfonter](https://transfonter.org/) "
"pour générer des polices web et corriger les erreurs. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Aller à la console admin"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/grid.cljs:253
+msgid "dashboard.grid.last-modified-at"
+msgstr "Dernière modification %s"
+
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importer fichiers Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oups! Nous n'avons pas pu importer ce fichier"
+#: src/app/main/ui/dashboard/import.cljs:698
+msgid "dashboard.import.auto-linked-libraries"
+msgid_plural "dashboard.import.auto-linked-libraries"
+msgstr[0] "1 bibliothèque a été liée automatiquement par nom."
+msgstr[1] "%s bibliothèques ont été liées automatiquement par nom."
+
#: src/app/main/ui/dashboard.cljs:264
msgid "dashboard.import.bad-url"
msgstr "L'importation a échoué. Le modèle d'URL est erroné"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:838
+msgid "dashboard.import.confirm-library-links"
+msgstr "Confirmer les liens de bibliothèque"
+
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Connecter les bibliothèques sélectionnées"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Nom du fichier"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Nous ne pouvions vérifier ce fichier."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Ce fichier semble endommagé."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Pas tous les fichiers n'ont pu être importés"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Les fichiers suivants contiennent des erreurs :"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Les fichier erronés ne sont pas téléversés."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Une erreur s'est produite lors du traitement de ce fichier."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "1 fichier correctement importé."
msgstr[1] "%s fichiers correctement importés."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Certains fichiers contenaient des objets invalides qui ont été retirés."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Fichier suivant"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Tu n'as pas la permission d'importer dans cette équipe"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Traitement des couleurs"
+#: src/app/main/ui/dashboard/import.cljs:431
+msgid "dashboard.import.resolve-libraries"
+msgstr ""
+"Certaines bibliothèques n'ont pu être liées automatiquement. Sélectionner "
+"la bonne bibliothèque pour chacun :"
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Traitement des composantes"
+#: src/app/main/ui/dashboard/import.cljs:553
+msgid "dashboard.import.resolve-libraries-summary"
+msgstr "Réviser les liens de bibliothèque avant de confirmer :"
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Traitement des médias"
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "connecter à"
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Traitement de la page : %s"
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "bibliothèque originale"
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Traitement des polices de caractères"
+#: src/app/main/ui/dashboard/import.cljs:509
+msgid "dashboard.import.summary.linked"
+msgstr "liée automatiquement"
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Téléversement des données au serveur (%s/%s)"
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "liée manuellement"
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Téléversement du fichier : %s"
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Nouveau"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:546
+msgid "dashboard.import.summary.no-selection"
+msgstr "Aucune bibliothèque sélectionnée"
+
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Original"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Tu vas supprimer les invitations de :"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Tu vas envoyer à nouveau les invitations de :"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Supprimer les invitations"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Envoyer les invitations à nouveau"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Tu n'as pas la permission d'inviter des gens à cette équipe, de modifier ou "
"supprimer des invitations."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Inviter des gens"
+#: src/app/main/ui/dashboard/team.cljs:136
+msgid "dashboard.invite-profile-disabled"
+msgstr "Tu n'as pas la permission d'inviter des gens à cette équipe"
+
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:235, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:266
msgid "dashboard.leave-organization"
msgstr "Quitter l'organisation"
@@ -706,29 +807,29 @@ msgstr "Quitter l'organisation"
msgid "dashboard.leave-organization.toast"
msgstr "Tu ne fais plus partie de l'organisation %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Quitter l'équipe"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliothèques et modèles"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "Voici des bibliothèques et modèles que tu peux ajouter à ton projet"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explore davantage et découvre comment contribuer"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr ""
"Un problème est survenu lors de l'importation du modèle. Le modèle n'a pas "
"été importé."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliothèques"
@@ -736,7 +837,7 @@ msgstr "Bibliothèques"
msgid "dashboard.loading-files"
msgstr "chargement des fichiers …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "chargement des polices de caractères …"
@@ -756,61 +857,65 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nouveau fichier"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nouveau fichier"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nouveau projet"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nouveau projet"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Aucun résultat de recherche pour « %s »"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "Tu n'as pas la permission d'ajouter des équipes à tes organisations."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Aucune organisation."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Tu ne peux pas créer des équipes au sein l'organisation %s. Pour plus "
"d'informations, contacter le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Tu n'as pas le droit de supprimer des équipes au sein de l'organisation %s. "
"Pour plus d'informations, contacter le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Tu n'as pas le droit de déplacer des équipes au sein l'organisation %s. "
"Pour plus d'informations, contacter le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Les projets épinglés sont affichés ici"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifications"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Ton adresse courriel a été mise à jour"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Ton adresse courriel a été vérifiée avec succès"
@@ -822,11 +927,11 @@ msgstr "Paramètres de notification mis à jour"
msgid "dashboard.notifications.password-saved"
msgstr "Mot de passe sauvegardé!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Voir les notifications"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membres"
@@ -834,22 +939,26 @@ msgstr "%s membres"
msgid "dashboard.open-in-new-tab"
msgstr "Ouvrir le fichier dans un nouvel onglet"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Options"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Ordre par rôle"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Ordre par statut"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "L'organisation %s a été supprimée."
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
+msgid "dashboard.other-teams"
+msgstr "Autres équipes"
+
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
msgid "dashboard.password-change"
msgstr "Modifier le mot de passe"
@@ -870,7 +979,11 @@ msgstr "Tu es maintenant propriétaire de cette équipe."
msgid "dashboard.permissions-change.viewer"
msgstr "Tu es maintenant visionneur.e sur cette équipe."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
+msgid "dashboard.personal-projects"
+msgstr "Projets personnels"
+
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Épingler/Désépingler"
@@ -886,27 +999,27 @@ msgstr "Impossible d'analyser le manifeste du plugiciel"
msgid "dashboard.plugins.try-plugin"
msgstr "Essayer le plugiciel : "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Suppression des fichiers…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Restauration des fichiers…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "La suppression est inopinément lente"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Restauration inopinément lente"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projets"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Tu veux supprimer ton compte ?"
@@ -914,108 +1027,114 @@ msgstr "Tu veux supprimer ton compte ?"
msgid "dashboard.removed-from-team"
msgstr "Tu ne fais plus partie de l'équipe « %s »."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "Tu vas restaurer tous tes projets et fichiers. Ça pourrait être long."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Restaurer tous les projets et fichiers"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Tout restaurer"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s fichiers ont été restaurés avec succès."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Restaurer le projet"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Tu vas restaurer le projet %s et tous les fichiers qu'il contient."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Restaurer le projet"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s a été restauré avec succès."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Sauvegarder les paramètres"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Recherche…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Recherche pour « %s »…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organisations"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Équipes"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "AJOUTER À L'ORGANISATION"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Choisir une organisation :"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"« %s » ne permet qu'aux membres d'organisations de joindre ses équipes. Les "
"invitations en attente à des gens externes à l'organisation seront "
"révoquées."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Les invitations en attente à des usagers externes seront annulées."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Ici tu trouveras toutes les organisations auxquelles tu as le droit de "
"créer ou ajouter des équipes."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:519
+msgid "dashboard.select-organization-modal.permission-info-add"
+msgstr ""
+"Ici tu trouveras les organisations auxquelles tu appartiens où tu peux "
+"créer ou ajouter des équipes."
+
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Choisir une organisation :"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Ajouter une équipe à l'organisation"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Changer la langue d'interface"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Choisir un thème"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot sombre (défaut)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot clair"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Thème du système"
@@ -1079,11 +1198,11 @@ msgstr "Sauvegarder les paramètres"
msgid "dashboard.settings.notifications.title"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Voir tous les fichiers"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Historique des versions"
@@ -1107,7 +1226,7 @@ msgstr[1] "Les fichiers ont été dupliqués avec succès"
msgid "dashboard.success-duplicate-project"
msgstr "Le projet a été dupliqué avec succès"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Le fichier a été déplacé avec succès"
@@ -1119,184 +1238,184 @@ msgstr "Les fichiers ont été déplacés avec succès"
msgid "dashboard.success-move-project"
msgstr "Le projet a été déplacé avec succès"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s appartient maintenant à %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Information de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membres de l'équipe"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s n'appartient plus à %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Organisation de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Ajouter à l'organisation"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "Tu n'as pas le droit d'ajouter cette équipe à tes organisations."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Changer l'organisation de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Seules les personnes de ton organisation peuvent être invitées."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Cette équipe ne fait partie d'aucune organisation"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Retirer une équipe de l'organisation"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projets de l'équipe"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Ajouter à ton projet"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Thème visuel"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Résultats de recherche"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Les fichiers supprimés resteront dans la corbeille pour"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s jours. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Ensuite, ils sont supprimés de manière permanente."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Si tu changes d'avis, tu peux les restaurer ou les supprimer de manière "
"permanente à partir du menu de chaque fichier."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Écris quelque chose pour lancer une recherche"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Dépublier la bibliothèque"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Sauvegarder les paramètres"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Tu n'es plus membre de l'organisation %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Bêta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"Le rendu WebGL peut améliorer la performance, mais est en bêta et peut être "
"moins stable. Des différences visuelles peuvent apparaître entre le "
"canevas, les exportations (SVG/PDF) et le mode visionnement."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Désactivé"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Activé"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Partage ton avis"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Statut"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Rendu WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Actif"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr ""
"Les détails de l'événement sont envoyés à l'activation du lien de rappel "
"(webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Tu peux seulement supprimer ou modifier les liens de rappel que tu as créés."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Type de contenu"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Créer un lien de rappel"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Lien de rappel créé avec succès."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Les liens de rappel (webhooks) permettent à d'autres sites ou applis d'être "
"notifiés de certains événements Penpot. Nous envoyons une requête POST à "
"chacune des URLs fournies."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Clique le bouton \"Créer un lien de rappel\" pour en créer un."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Aucun lien de rappel (webhook) n'a été créé."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ton compte"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Adresse courriel"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ton nom"
@@ -1312,11 +1431,11 @@ msgstr "Attention"
msgid "ds.component-subtitle"
msgstr "Composantes à mettre à jour :"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permettre"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Annuler"
@@ -1336,7 +1455,7 @@ msgstr "Aucun token applicable dans les collections ou thèmes actifs."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Aucun résultat trouvé."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Ouvrir la liste de tokens"
@@ -1346,6 +1465,12 @@ msgstr ""
"Le token {%s} n'est dans aucune collection active ou possède une valeur "
"invalide."
+#: src/app/main/ui/auth/login.cljs:113
+msgid "errors.account-locked"
+msgstr ""
+"Trop d'essais erronés. Ton compte a été verrouillé pour %s minutes. "
+"Réessayer plus tard."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Fournisseur d'authentification non permis pour ce profil utilisateur"
@@ -1354,15 +1479,15 @@ msgstr "Fournisseur d'authentification non permis pour ce profil utilisateur"
msgid "errors.auth-provider-not-configured"
msgstr "Fournisseur d'authentification non configuré."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Tu n'es pas authentifié ou la session a expiré."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "La police de caractères %s n'a pu être chargée"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Les polices de caractères %s n'ont pu être chargées"
@@ -1374,59 +1499,65 @@ msgstr "Impossible de téléverser le fichier média."
msgid "errors.character-limit-exceeded"
msgstr "Limite de caractères dépassée"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr ""
"Impossible d'ajouter la bibliothèque : cela créerait une dépendance "
"circulaire"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"L'API presse-papiers est indisponible. Servir Penpot via HTTPS pour activer "
"le presse-papiers"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Le navigateur ne peut faire cette opération"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Accès au presse-papiers refusé. Merci de permettre le presse-papiers dans "
"le navigateur pour coller du contenu"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Une erreur est survenue avec le commentaire"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:586
+msgid "errors.connection-error"
+msgstr ""
+"Impossible de joindre le serveur. Vérifier la connexion et essayer à "
+"nouveau."
+
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Désolé! Il est impossible d'ouvrir ce fichier car ce dernier utilise un "
"type d'atout Penpot désuet."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "pour que nous puissions t'aider."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Même si Penpot ne supporte plus ce type d'atout, tu peux"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "nous contacter"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Impossible de placer une collection parente à l'intérieur d'elle-même."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Ce courriel est déjà en utilisation"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Ce courriel est déjà validé."
@@ -1438,29 +1569,29 @@ msgstr "Tu ne peux pas utiliser ton adresse courriel comme mot de passe"
msgid "errors.email-does-not-match-invitation"
msgstr "L'adresse courriel ne correspond pas à l'invitation."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Ce domaine n'est pas permis"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "L'adresse courriel « %s » a généré plusieurs rapports de rebond permanent."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "L'adresse courriel « %s » est rapportée comme pourriel ou rebond permanent."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Il sembe que tu ouvres un fichier qui utilise la fonctionalité « %s » mais "
"la version actuelle de Penpot ne la supporte pas ou elle a été désactivée."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "La fonction « %s » n'est pas supportée."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Doit contenier un maximum de %s caractères."
@@ -1468,7 +1599,7 @@ msgstr "Doit contenier un maximum de %s caractères."
msgid "errors.field-min-length"
msgstr "Doit contenir au moins 1 caractère."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Champ vide"
@@ -1476,25 +1607,25 @@ msgstr "Champ vide"
msgid "errors.field-not-all-whitespace"
msgstr "Doit contenir un caractère autre qu'un espace."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Il semble y avoir une différence entre les fonctionnalités activées et les "
"fonctionnalités du fichier que tu essayes d'ouvrir. Les migrations pour « "
"%s » doivent être appliquées avant d'ouvrir le fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Le nom de la police de caractères ne peut contenir que des lettres, des "
"chiffres, des espaces, des traits-d'union, des traits de soulignement et "
"des points."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Une erreur est survenue."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Il y a eu une erreur avec le travailleur web en arrière-plan (web worker)."
@@ -1510,7 +1641,7 @@ msgstr "Données invalides"
msgid "errors.invalid-email"
msgstr "Saisis une adresse courriel valide s'il te plaît"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "La confirmation de l'adresse courriel doit correspondre"
@@ -1547,11 +1678,11 @@ msgstr "Cette invitation peut avoir été annulée ou est expirée."
msgid "errors.ldap-disabled"
msgstr "L'authentification LDAP est désactivée."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Tu as atteint le quota « %s ». Contacte le support technique."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Le nombre maximal (%s) de courriels invitables en une seule requête a été "
@@ -1569,21 +1700,21 @@ msgstr "Le contenu de l'image ne correspond pas avec l'extension du fichier."
msgid "errors.media-type-not-allowed"
msgstr "Cette image n'est pas valide."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Le profil invité a tu ses courriels (selon les rapports de pourriels ou un "
"haut taux de rebond)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migration en cours"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Seul le créateur de la version peut la vérouiller"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Seul le créateur de la version peut la déverrouiller"
@@ -1595,7 +1726,7 @@ msgstr "Un problème est survenu en quittant l'organisation. Merci de réessayer
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Le propriétaire de l'organisation ne peut pas la quitter."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Cette organisation n'existe pas"
@@ -1607,7 +1738,7 @@ msgstr "La confirmation du mot de passe doit correspondre"
msgid "errors.password-too-short"
msgstr "Le mot de passe doit contenir au moins 8 caractères"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Données invalide dans le presse-papiers"
@@ -1615,7 +1746,7 @@ msgstr "Données invalide dans le presse-papiers"
msgid "errors.profile-blocked"
msgstr "Le profil est blocké"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Ton profil a éteint les courriels (rapports de pourriel ou haut taux de "
@@ -1625,21 +1756,32 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "L'enregistrement est actuellement désactivé."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:700
+msgid "errors.save-failed"
+msgstr ""
+"La sauvegarde automatique ne fonctionne pas dû à une erreur. Contacter le "
+"support pour la rapporter et rafraîchir pour continuer à partir de la "
+"dernière version sauvegardée."
+
+#: src/app/main/data/persistence.cljs:447
+msgid "errors.save-retrying"
+msgstr "Connexion interrompue. Nouvelle tentative de sauvegarde des modifications."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "Le SVG est invalide ou malformé"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Fonctionnalité incompatible détectée « %s »"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Il n'y a pas assez de membres pour quitter l'équipe. Tu veux probablement "
"la supprimer."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Le membre que tu tentes d'assigner n'existe pas."
@@ -1647,7 +1789,7 @@ msgstr "Le membre que tu tentes d'assigner n'existe pas."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Seul le propriétaire de l'organisation peut la supprimer."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Le propriétaire ne peut pas quitter l'équipe. Tu dois assigner le rôle de "
@@ -1663,13 +1805,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Une collection du même nom existe déjà"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Impossible de déplacer la collection. Une collection du même nom existe "
"déjà à cet emplacement."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Un thème du même nom existe déjà"
@@ -1681,13 +1823,13 @@ msgstr "Le thème fait référence à des ensembles non-existants : %s"
msgid "errors.tokens.circular-reference"
msgstr "Le token a une référence cirulaire"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"La hauteur de ligne dépend de la taille de police. Ajouter une taille de "
"police pour obtenir la valeur calculée."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Ce champ ne peut être vide"
@@ -1707,13 +1849,13 @@ msgstr "Erreur d'importation :"
msgid "errors.tokens.invalid-color"
msgstr "Valeur de couleur invalide : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr ""
"Valeur de token invalide : seuls les tokens de type famille de police "
"peuvent être référés"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valeur de graisse invalide : utiliser une valeur numérique (100-950) ou les "
@@ -1735,43 +1877,43 @@ msgstr ""
"Les noms de tokens doivent contenir seulement des lettres et des chiffres "
"séparés par le caractère . et ne doivent pas commencer par le symbole $."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr ""
"Type d'ombre invalide : seuls « innerShadow » ou « dropShadow » sont "
"acceptés"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valeur de token invalid : seuls none, uppercase, lowercase ou capitalize "
"sont acceptés"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Valeur de token invalide : seuls none, underline ou strike-through sont "
"acceptés"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Valeur de token invalide : doit faire référence à un token d'ombre composé."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr ""
"Valeur de token invalide : doit faire référence à un token typographique "
"composé."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valeur de token invalide : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Références de token manquantes : "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"Le nom de groupe %s entre en conflit avec un token du même nom dans un "
@@ -1785,31 +1927,31 @@ msgstr "Aucun token, ensemble ou thème n'a été trouvé dans ce fichier."
msgid "errors.tokens.number-too-large"
msgstr "Valeur de token invalide. La valeur résultante est trop grande : %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "L'opacité doit être entre 0 et 100 % ou 0 et 1 (ex. 50 % ou 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Le token s'autoréférence"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Le flou de l'ombre doit être plus grand ou égal à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "L'étalement de l'ombre doit être plus grand ou égal à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "La largeur du contour doit être plus grande ou égale à 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valeur invalide : %s n'est pas permis."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valeur invalide : les unités ne sont pas permises."
@@ -1817,55 +1959,84 @@ msgstr "Valeur invalide : les unités ne sont pas permises."
msgid "errors.unexpected-error"
msgstr "Une erreur inattendue s'est produite."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token inconnu"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Cette version est verrouillée"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Cette version est verrouillée et ne peut pas être supprimée par d'autres"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Le fichier est d'une version incompatible"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/auth/recovery.cljs:44, src/app/main/ui/auth/register.cljs:125, src/app/main/ui/settings/password.cljs:42
+msgid "errors.weak-password"
+msgstr "Le mot de passe ne remplit pas les exigences"
+
+#: src/app/main/ui/auth/recovery.cljs:37, src/app/main/ui/auth/register.cljs:119, src/app/main/ui/settings/password.cljs:35
+#, backend
+msgid "errors.weak-password.insufficient-digits"
+msgstr "Au moins 1 chiffre"
+
+#: src/app/main/ui/auth/recovery.cljs:38, src/app/main/ui/auth/register.cljs:120, src/app/main/ui/settings/password.cljs:36
+#, backend
+msgid "errors.weak-password.insufficient-lowercase"
+msgstr "Au moins 1 lettre minuscule"
+
+#: src/app/main/ui/auth/recovery.cljs:40, src/app/main/ui/auth/register.cljs:122, src/app/main/ui/settings/password.cljs:38
+#, backend
+msgid "errors.weak-password.insufficient-special"
+msgstr "Au moins 1 caractère spécial"
+
+#: src/app/main/ui/auth/recovery.cljs:39, src/app/main/ui/auth/register.cljs:121, src/app/main/ui/settings/password.cljs:37
+#, backend
+msgid "errors.weak-password.insufficient-uppercase"
+msgstr "Au moins 1 lettre majuscule"
+
+#: src/app/main/ui/auth/recovery.cljs:36, src/app/main/ui/auth/register.cljs:118, src/app/main/ui/settings/password.cljs:34
+#, backend
+msgid "errors.weak-password.too-short"
+msgstr "Au moins 8 caractères"
+
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL a arrêté de fonctionner. Recharger la page pour le réinitialiser"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oups! Le contexte du canevas a été perdu"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Erreur de connexion, l'URL n'est pas atteignable"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "Erreur de validation de l'URL."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Erreur lors du dernier envoi."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Erreur de validation SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Délai d'attente dépassé"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Erreur innantendue de validation"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Statut inattendu %s"
@@ -1885,17 +2056,17 @@ msgstr "Description"
msgid "feedback.description-placeholder"
msgstr "Raison du commentaire"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Nous sommes heureux que tu sois ici. Si tu as besoin d'aide, merci de "
"chercher avant de poster."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Communauté Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Autres moyens de nous contacter"
@@ -1917,11 +2088,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contacte-nous"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Ici pour répondre à tes questions techniques."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Compte de support X"
@@ -1941,15 +2112,39 @@ msgstr "Suggestion"
msgid "feedback.type.issue"
msgstr "Problème"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Télécharger les fichiers"
+#: src/app/main/ui/exports/files.cljs:431
+msgid "files-export-modal.options.detach-libraries.message"
+msgstr "Les atouts des bibliothèques liées ne seront pas inclus dans le fichier."
+
+#: src/app/main/ui/exports/files.cljs:425
+msgid "files-export-modal.options.detach-libraries.title"
+msgstr "Traiter les atouts comme des objets de base"
+
+#: src/app/main/ui/exports/files.cljs:429
+msgid "files-export-modal.options.include-libraries.message"
+msgstr ""
+"Les fichiers avec des bibliothèques liées seront inclus dans l'export et "
+"maintiendront leurs liens. "
+
+#: src/app/main/ui/exports/files.cljs:423
+msgid "files-export-modal.options.include-libraries.title"
+msgstr "Exporter fichier + bibliothèques"
+
+#: src/app/main/ui/exports/files.cljs:432
+msgid "files-export-modal.options.link-later.message"
+msgstr ""
+"À l'import, il sera possible de lier des bibliothèques existantes qui ont "
+"le même nom."
+
+#: src/app/main/ui/exports/files.cljs:426
+msgid "files-export-modal.options.link-later.title"
+msgstr "Lier les bibliothèques correspondantes à l'import"
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "Une erreur s'est produite"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Appliquer"
@@ -1997,7 +2192,7 @@ msgstr "Aperçu de l'image de remplissage"
msgid "inspect.attributes.shadow"
msgstr "Ombre"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Taille et position"
@@ -2005,43 +2200,31 @@ msgstr "Taille et position"
msgid "inspect.attributes.stroke"
msgstr "Contour"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centré"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Intérieur"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Extérieur"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typographie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Famille de polices"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Taille de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Style de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Hauteur de ligne"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Polices de caractères variées"
@@ -2057,11 +2240,11 @@ msgstr "trait barré"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Souligné"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Première lettre en majuscule"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minuscules"
@@ -2073,7 +2256,7 @@ msgstr "Aucune"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Aucune"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Majuscules"
@@ -2199,23 +2382,23 @@ msgstr "Valeur résultante :"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Propriétés des variantes"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Créer un nouveau token d'accès"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Clique le bouton « Créer un nouveau token d'accès » pour en générer un."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Aucun token."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Tokens d'accès personnel"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Les tokens d'accès personnel fonctionnent comme une alternative au système "
@@ -2300,53 +2483,53 @@ msgstr "La clé MCP expire le %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "La clé MCP n'a pas de date d'expiration"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Le serveur MCP de Penpot permet aux clients MCP d'interagir directement "
"avec les fichiers design Penpot."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Comment configurer les clients MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Ceci est l'URL serveur nécessaire pour configurer ton client MCP afin qu'il "
"se connecte au serveur MCP Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Regénérer la clé MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "Clé MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "La clé MCP est nécessaire à la configuration du client MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Statut"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Désactivé"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Activé"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"La clé MCP utilisée pour se connecter au serveur MCP a expiré. Donc, une "
"connexion n'a pu être établie."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Merci de regénérer la clé MCP et mettre ta configuration client à jour avec "
@@ -2356,10 +2539,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "Serveur MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Bêta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Nom"
@@ -2410,7 +2589,7 @@ msgstr "Régénérer la clé MCP"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "Clé MCP régénérée"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Intégrations"
@@ -2428,47 +2607,47 @@ msgstr "Ce token expire le %s"
msgid "integrations.token.will-not-expire"
msgstr "Ce token n'a pas de date d'expiration"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Tout marquer comme lu"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Raccourcis"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "À propos de Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Accepter"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Actif"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Ajouter"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Ajouter police de caractères"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Ajout en cours..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Tous"
@@ -2476,17 +2655,17 @@ msgstr "Tous"
msgid "labels.and"
msgstr "et"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Retour"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Merci d'attendre un peu et réessayer. Nous réalisons des travaux de "
"maintenance des serveurs."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Passerelle invalide"
@@ -2498,15 +2677,15 @@ msgstr "Flouter"
msgid "labels.blur-effects"
msgstr "Effets de flou"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Annuler"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Fermer"
@@ -2514,7 +2693,7 @@ msgstr "Fermer"
msgid "labels.code"
msgstr "Code"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Réduire"
@@ -2526,15 +2705,15 @@ msgstr "Couleur"
msgid "labels.comment"
msgstr "Commentaire"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Commentaires"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Communauté"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Communauté et contributions"
@@ -2546,19 +2725,19 @@ msgstr "Calculé"
msgid "labels.confirm-password"
msgstr "Confirmer le mot de passe"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contacter le support"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contacte-nous"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuer"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Tu peux continuer avec un compte Penpot"
@@ -2570,23 +2749,23 @@ msgstr "Copier"
msgid "labels.copy-color"
msgstr "Copier couleur"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copier lien"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "© Kaleidos, depuis 2019"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Créer"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Créer une nouvelle équipe"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Nom de l'équipe"
@@ -2594,7 +2773,7 @@ msgstr "Nom de l'équipe"
msgid "labels.current"
msgstr "Valeur actuelle"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Survol"
@@ -2602,7 +2781,7 @@ msgstr "Survol"
msgid "labels.default"
msgstr "Valeur par défaut"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Supprimer"
@@ -2614,7 +2793,7 @@ msgstr "Supprimer commentaire"
msgid "labels.delete-comment-thread"
msgstr "Supprimer le fil"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Supprimer l'invitation"
@@ -2622,39 +2801,35 @@ msgstr "Supprimer l'invitation"
msgid "labels.delete-multi-files"
msgstr "Supprimer %s fichiers"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Vraiment supprimer la photo de profil?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Supprimer la photo de profil"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Supprimés"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Développeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Rejeter"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Télécharger %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Télécharger"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Téléchargement du fichier…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Brouillons"
@@ -2662,19 +2837,19 @@ msgstr "Brouillons"
msgid "labels.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Modifier"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Éditeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Vide"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Erreur"
@@ -2682,11 +2857,11 @@ msgstr "Erreur"
msgid "labels.exit"
msgstr "Quitter"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expirée"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exporter"
@@ -2698,7 +2873,7 @@ msgstr "Rétroactions désactivées"
msgid "labels.feedback-sent"
msgstr "Rétroaction envoyée"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2706,63 +2881,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Remplissage"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Disposition flex"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Famille de polices de caractères"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Styles"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Police de caractères"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Répertoire Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Partage ton avis"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Retour"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Design graphique"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Disposition en grille"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centre d'aide"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Aide et formation"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Cacher"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Cacher les commentaires résolus"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importer"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactif"
@@ -2770,51 +2945,51 @@ msgstr "Inactif"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Polices installées"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Intégrations"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Une erreur s'est produite."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "Tu peux réessayer ou contacter le support pour rapporter l'erreur."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Erreur interne"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitations"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Langue"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Mise en page"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centre de formation"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliothèques et modèles"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Chargement…"
@@ -2822,7 +2997,7 @@ msgstr "Chargement…"
msgid "labels.lock"
msgstr "Verrouiller"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Se connecter ou s'inscrire"
@@ -2830,19 +3005,19 @@ msgstr "Se connecter ou s'inscrire"
msgid "labels.login"
msgstr "Se connecter"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Se déconnecter"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membre"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membres"
@@ -2854,25 +3029,25 @@ msgstr "Mentionner"
msgid "labels.new-password"
msgstr "Nouveau mot de passe"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Suivant"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot est temporairement indisponible dû à une erreur système. Réessayer "
"plus tard."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Tu es à jour! Les notifications de nouveaux commentaires apparaîtront ici."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Aucune invitation en attente."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Réunis ton monde et construisez de grandes choses ensemble."
@@ -2880,27 +3055,27 @@ msgstr "Réunis ton monde et construisez de grandes choses ensemble."
msgid "labels.no-matches"
msgstr "Aucun résultat"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifications"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fichier"
msgstr[1] "%s fichiers"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tableau"
msgstr[1] "%s tableaux"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projet"
@@ -2910,43 +3085,43 @@ msgstr[1] "%s projets"
msgid "labels.old-password"
msgstr "Ancien mot de passe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Ouvrir"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Options"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Autre (spécifier)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Autre"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Propriétaire"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Mot de passe"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "En attente"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Journal des modifications de Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Centre Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Projets épinglés"
@@ -2954,31 +3129,31 @@ msgstr "Projets épinglés"
msgid "labels.post"
msgstr "Envoyer"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Précédent"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Conception de produit ou UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestion de produit"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profile"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projets"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Récents"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Référence"
@@ -2986,27 +3161,27 @@ msgstr "Référence"
msgid "labels.refresh"
msgstr "Rafraîchir"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notes de version"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Recharger la page"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Retirer"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Supprimer le membre"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Renommer"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Renommer l'équipe"
@@ -3030,11 +3205,11 @@ msgstr "nouvelle réponse"
msgid "labels.reply.thread"
msgstr "Répondre"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Renvoyer"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Renvoyer l'invitation"
@@ -3042,43 +3217,43 @@ msgstr "Renvoyer l'invitation"
msgid "labels.restore"
msgstr "Restaurer"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Réessayer"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rôle"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Enregistrer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Rechercher"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Recherche une police"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Choisir une option"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Envoyer"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Envoi…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Nous sommes en période prévue de maintenance des systèmes."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Le service est indisponible"
@@ -3086,55 +3261,55 @@ msgstr "Le service est indisponible"
msgid "labels.sets"
msgstr "Collections"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Paramètres"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Ombre"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Partager"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliothèques"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Afficher"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Afficher tous les commentaires"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Afficher la liste des commentaires"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Afficher seulement tes mentions"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Afficher seulement tes commentaires"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Sources"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Démarrer"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Statut"
@@ -3142,7 +3317,7 @@ msgstr "Statut"
msgid "labels.stroke"
msgstr "Contour"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Étudiant ou enseignant"
@@ -3154,7 +3329,7 @@ msgstr "Styles"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Basculer"
@@ -3162,19 +3337,19 @@ msgstr "Basculer"
msgid "labels.text"
msgstr "Texte"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Thèmes"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriels"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typographie"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Erreur inconnue"
@@ -3186,35 +3361,31 @@ msgstr "Déverrouiller"
msgid "labels.unpublish-multi-files"
msgstr "Dépublier %s fichiers"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Modifier"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Enregistrer le nom d'équipe"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Téléverser"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Téléverser des polices personnalisées"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Téléversement…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Téléversement du fichier…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variant"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Notes de la version %s"
@@ -3222,7 +3393,7 @@ msgstr "Notes de la version %s"
msgid "labels.view-only"
msgstr "Lecture seule"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visionneur"
@@ -3236,7 +3407,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s avertissement"
msgstr[1] "%s avertissements"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Liens de rappel (webhooks)"
@@ -3244,11 +3415,11 @@ msgstr "Liens de rappel (webhooks)"
msgid "labels.write-new-comment"
msgstr "Écrire un nouveau commentaire"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(toi)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ton compte"
@@ -3393,7 +3564,7 @@ msgstr ""
"Tu es le seul membre de certaines équipes. Ces équipes, ainsi que leurs "
"projets et fichiers, seront supprimées."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "AVANT DE QUITTER L'ORGANISATION"
@@ -3401,80 +3572,80 @@ msgstr "AVANT DE QUITTER L'ORGANISATION"
msgid "modals.before-leave-organization.warning"
msgstr "Toute équipe dont tu es le seul membre sera supprimée."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grande pichenotte"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Répéter le nouveau courriel"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Nous allons envoyer un courriel à l'adresse actuelle « %s » pour vérifier "
"ton identité."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nouveau courriel"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Changer l'adresse courriel"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Changer d'adresse courriel"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Créer le lien de rappel"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Créer un lien de rappel (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL destinataire"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://exemple.com/receptionpost"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Annuler et conserver mon compte"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Oui, supprimer mon compte"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Si tu supprimes ton compte, tu vas perdre tous tes projets et fichiers."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Cette action est irréversible. Ton compte, abonnement et organisations "
"seront supprimés immédiatement. L'accès aux projets et fichiers courants "
"sera perdu."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organisations qui seront supprimées"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s membres"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s équipes"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Vraiment supprimer ton compte?"
@@ -3534,23 +3705,23 @@ msgstr "Vraiment supprimer %s fichiers?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Suppression de %s fichiers"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"Vraiment supprimer ce style de police? Il ne chargera pas si il est utilité "
"dans un fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Supprimer un style de police"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Vraiment supprimer cette police? Elle ne chargera pas si elle est utilisée "
"dans un fichier."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Suppression de la police"
@@ -3558,19 +3729,19 @@ msgstr "Suppression de la police"
msgid "modals.delete-organization-team-confirm.message"
msgstr "Vraiment supprimer cette équipe qui fait partie de l'organisation %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Vraiment supprimer cette page?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Supprimer la page"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Vraiment supprimer les pages sélectionnées ?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Suppression de pages"
@@ -3586,31 +3757,31 @@ msgstr "Vraiment supprimer ce projet?"
msgid "modals.delete-project-confirm.title"
msgstr "Supprimer le projet"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Supprimer le fichier"
msgstr[1] "Supprimer les fichiers"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Activé dans aucun projet"
msgstr[1] "Activés dans aucun projet"
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Cette bibliothèque est active ici : "
msgstr[1] "Ces bibliothèques sont actives ici : "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Vraiment supprimer ce fichier?"
msgstr[1] "Vraiment supprimer ces fichiers?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Suppression d'un fichier"
@@ -3630,19 +3801,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Suppression de l'équipe"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Supprimer le membre"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Vraiment supprimer ce membre de l'équipe?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Supprimer le membre d'équipe"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3652,23 +3823,23 @@ msgstr[1] ""
"Les atouts déjà en usage dans ces fichiers demeureront là (aucun design ne "
"sera brisé)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Supprimer le lien de rappel"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Vraiment supprimer ce lien de rappel?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Supprimer un lien de rappel"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Modifier le lien de rappel"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Modifier un lien de rappel"
@@ -3686,15 +3857,15 @@ msgstr "Importer des tokens"
msgid "modals.import-library-tokens.title"
msgstr "Importer des tokens depuis la bibliothèque?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Envoyer l'invitation"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Adresses courriel, séparées par des virgules"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Certains courriels font déjà partie de l'équipe. Nous inviterons les "
@@ -3717,99 +3888,99 @@ msgstr ""
"équipe et ils sont tous déjà membres. Pour plus d'informations, contacter "
"le propriétaire de l'organisation."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Adresses qui ne recevront pas d'invitation"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Annuler"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Seuls les membres actuels de l'organisation peuvent être invités."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Envoyer les invitations"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Certaines invitations n'ont pu être envoyées"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Certaines personnes de la liste ne recevront pas d'invitation."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Tu peux inviter des membre à l'équipe pour leur donner accès à ce fichier "
"et à tous les fichiers de l'équipe."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Inviter des membres à l'équipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Comme tu es le seul membre de cette équipe, l'équipe sera supprimée ainsi "
"que tous ses projets et fichiers."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Vraiment quitter l'équipe %s ?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Tu ne peux quitter l'équipe s'il n'y a aucun autre membre pour en devenir "
"propriétaire. Tu peux toutefois supprimer l'équipe."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Tu es le propriétaire de cette équipe. Sélectionne un autre membre pour en "
"devenir propriétaire avant de quitter."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promouvoir et quitter"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Choisir un membre à promouvoir"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Avant de quitter"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Quitter l'équipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Vraiment quitter cette équipe?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Quitter l'équipe"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Tu es propriétaire de certaines équipes de cette organisation. Sélectionner "
"un autre membre afin de les promouvoir au rôle de propriétaire."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Tu es membre unique de certaines équipes. Ces équipes ainsi que leurs "
"projets et fichiers seront supprimés."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"De plus, tu es propriétaire de certaines équipes de cette organisation. "
@@ -3829,57 +4000,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Quitter l'organisation %s?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Déplacer"
msgstr[1] "Déplacer"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Vraiment déplacer cette bibliothèque?"
msgstr[1] "Vraiment déplacer ces bibliothèques?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Déplacer une bibliothèque"
msgstr[1] "Déplacer des bibliothèques"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Taille de pichenotte"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transférer la propriété"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Si tu transfères la propriété, ton rôle deviendra « Admin » et tu perdras "
"des permissions sur cette équipe. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Tu es le propriétaire actuel de cette équipe. Vraiment transférer la "
"propriété de l'équipe à « %s » ?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nouveau propriétaire d'équipe"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publier"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Ta bibliothèque est vide. Vraiment la publier?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publier une bibliothèque vide"
@@ -3901,23 +4072,23 @@ msgstr "Vraiment retirer l'équipe « %s » de l'organisation « %s »?"
msgid "modals.remove-team-organization.title"
msgstr "RETIRER L'ÉQUIPE DE L'ORGANISATION"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Petite pichenotte"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Dépublier"
msgstr[1] "Dépublier"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Vraiment dépublier cette bibliothèque?"
msgstr[1] "Vraiment dépublier ces bibliothèques?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Dépublier bibliothèque"
@@ -3995,38 +4166,38 @@ msgstr "Activer"
msgid "nitrate.code-activation.title"
msgstr "Activer Nitrate"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Contacter les ventes"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Pour basculer à cet abonnement, merci de contacter l'équipe des ventes. "
"Nous t'aiderons à mettre à jour l'abonnement et faire en sorte que tout "
"soit bien configuré."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Ton organisation sera supprimée."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Le stockage total, l'historique des versions automatiques et la période de "
"recouvrement des fichiers seront limités."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Les équipes, projets et fichiers ne feront partie d'aucune organisation "
"mais resteront disponibles."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Lors de la mise à niveau inférieure :"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Passer au forfait %s?"
@@ -4044,15 +4215,15 @@ msgstr "Contacte-nous pour faire l'essai d'Enterprise pour 14 jours :"
msgid "nitrate.form.contact-upgrade"
msgstr "Contacte-nous pour mettre à niveau vers Enterprise :"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Contacte-nous pour faire l'essai du forfait Entreprise pour 14 jours :"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Contacte-nous pour une mise à niveau au forfait Entreprise :"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Tu ne seras pas chargé maintenant. Le paiement sera prélevé à la fin de la "
@@ -4074,7 +4245,7 @@ msgstr ""
"La pleine liberté du code source libre, avec la gouvernance dont ton "
"organisation a besoin"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr ""
"Tout ce dont les équipes ont besoin pour travailler de manière sécuritaire "
@@ -4084,7 +4255,7 @@ msgstr ""
msgid "nitrate.form.enterprise.price"
msgstr "par membre par mois"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Essai gratuit de 14 jours"
@@ -4100,7 +4271,7 @@ msgstr "Démarrer avec Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "S'abonner avec un code d'activation"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Déverrouille des fonctionnalités Enterprise"
@@ -4112,7 +4283,7 @@ msgstr "Essai gratuit de 14 jours"
msgid "nitrate.modal-success.title"
msgstr "Bienvenue à Entreprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Actif jusqu'au %s"
@@ -4120,23 +4291,23 @@ msgstr "Actif jusqu'au %s"
msgid "nitrate.subscription.renew-success"
msgstr "Ton abonnement Nitrate a été renouvelé."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Annuler l'abonnement"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Pour annuler l'abonnement Nitrate, merci de nous contacter au :"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Renouveler avec code d'activation"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Cette page n'existe pas"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Erreur 404"
@@ -4156,11 +4327,11 @@ msgstr ""
"Vérifie tes courriels et clique sur le lien pour créer un nouveau mot de "
"passe."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "S'inscrire gratuitement"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Et commence à utiliser Penpot en quelques secondes!"
@@ -4168,67 +4339,67 @@ msgstr "Et commence à utiliser Penpot en quelques secondes!"
msgid "not-found.made-with-love"
msgstr "Fait avec AMOUR et du code source libre"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Tu as déjà demandé l'accès à ce fichier."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Tu as déjà demandé l'accès à ce fichier ou d'autres fichiers ou projets de "
"cette équipe."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Tu as déjà demandé l'accès à ce projet ou d'autres projets ou fichiers de "
"cette équipe."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Tu as déjà demandé l'accès à ce projet."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "DEMANDER L'ACCÈS"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Souviens-toi que si le propriétaire le permet, tu joindras l'équipe."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Ta demande a bien été envoyée!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Tu n'as pas accès à ce fichier."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Aller à ton Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Si le propriétaire le permet, tu joindras l'équipe."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Fichier Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Tu n'as pas accès à ce projet."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJET"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Pour accéder à ce fichier, tu peux demander au propriétaire de l'équipe."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Pour accéder à ce projet, tu peux demander au propriétaire de l'équipe."
@@ -4242,33 +4413,33 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Une nouvelle version est disponible."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Cette invitation n'est plus disponible."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invitation supprimée"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invitation envoyée"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Lien d'invitation copié"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Tu ne peux pas supprimer ton profile. Réassigne tes équipe avant de "
"continuer."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profile enregistré!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Courriel de vérification envoyé à %s. Va voir tes courriels!"
@@ -4306,7 +4477,7 @@ msgstr "Nom de l'équipe"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Créer l'équipe"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Inviter des membres"
@@ -4316,98 +4487,98 @@ msgstr ""
"Dévelopeurs, designers, gestionnaires... tous sont bienvenus. Tu pourras "
"inviter des gens plus tard."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Inviter avec le rôle :"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Commençons!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Générer du vrai code à partir de designs"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Créer un système design"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototyper"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Concevoir le UI et UX d'une appli"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Maquettes en fil de fer"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Pour quoi utiliseras-tu Penpot ?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Parle-nous un peu de toi pour que nous puissions adapter Penpot à tes "
"besoins. Tes réponses nous aident à prioriser les nouvelles fonctionnalités "
"et t'orienter dans ton parcours d'utilisation."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Aide-nous à te connaître"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Lequel de ces outils utilises-tu le plus ?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Quel genre de travail fais-tu ?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Parle-nous de ta job"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Où aimerais-tu commencer ?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1 001 à 5 000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 à 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 à 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 à 1 000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Seulement moi"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5 001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Éducation"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personnel"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Travail"
@@ -4489,11 +4660,11 @@ msgstr "Restaurer la configuration par défaut"
msgid "restore-shortcuts.restore"
msgstr "Restaurer"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Détacher"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Multiple"
@@ -4505,35 +4676,35 @@ msgstr "Supprimer la couleur"
msgid "settings.select-this-color"
msgstr "Sélectionner les éléments avec ce style"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Commentaires"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Aligner en bas"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Aligner au centre horizontal"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Aligner à gauche"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Aligner à droite"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Aligner en haut"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Aligner au centre vertical"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Créer un tableau à partir de la sélection"
@@ -4541,55 +4712,55 @@ msgstr "Créer un tableau à partir de la sélection"
msgid "shortcuts.bold"
msgstr "Basculer la graisse"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Soustraction booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusion booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Intersection booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Union booléenne"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Envoyer à l'arrière-plan"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Envoyer vers l'arrière"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Emmener vers l'avant"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Emmener à l'avant-plan"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Vider l'historique d'actions"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copier"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copier le lien"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copier les propriétés"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Créer composant / variant"
@@ -4597,55 +4768,55 @@ msgstr "Créer composant / variant"
msgid "shortcuts.create-new-project"
msgstr "Créer nouveau projet"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Couper"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zoom arrière"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Supprimer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Supprimer un nœud"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Détacher un composant"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Désactiver raccourci"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Désactivés"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Raccourci désactivé"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Flèche"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Courbe"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tableau"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Ligne"
@@ -4653,67 +4824,67 @@ msgstr "Ligne"
msgid "shortcuts.draw-nodes"
msgstr "Dessiner un chemin"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Chemin"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectangle"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texte"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr ""
"Cette combination sert à « %s ». Enregistrer celle-ci annulera le raccourci "
"existant."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "À l'enregistrement ce raccourci reviendra à sa valeur d'origine :"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr ""
"Cette combinaison de touches est disponible et peut être assignée sans "
"conflits."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Personaliser les raccourcis"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Annuler"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exporter les éléments"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Trouver"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zoom cadrant tout"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Retourner horizontalement"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Retourner verticalement"
@@ -4737,27 +4908,27 @@ msgstr "Accéder aux bibliothèques partagées"
msgid "shortcuts.go-to-search"
msgstr "Recherche"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grouper"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuer horizontalement"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Afficher / cacher l'interface utilisateur"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Importer/Exporter"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zoom avant"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Insérer une image"
@@ -4765,11 +4936,11 @@ msgstr "Insérer une image"
msgid "shortcuts.italic"
msgstr "Basculer l'italique"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Joindre des nœuds"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Appuyer sur la combinaison de touches"
@@ -4777,39 +4948,39 @@ msgstr "Appuyer sur la combinaison de touches"
msgid "shortcuts.line-through"
msgstr "Basculer la biffure"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Convertir en coin"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Convertir en courbe"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Masquer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fusionner des nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Déplacer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Grand déplacement vers le bas"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Grand déplacement vers la gauche"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Grand déplacement vers la droite"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Grand déplacement vers le haut"
@@ -4817,379 +4988,379 @@ msgstr "Grand déplacement vers le haut"
msgid "shortcuts.move-nodes"
msgstr "Déplacer un nœud"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Déplacement vers le bas"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Déplacement vers la gauche"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Déplacement vers la droite"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Déplacement vers le haut"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Tableau suivant"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "Aucun raccourci désactivé"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Aller à Tout pour personnaliser les raccourcis"
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "Aucun raccourci correspondant à ce terme"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Aucun raccourci trouvé"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Opacité 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Opacité 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Opacité 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Opacité 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Opacité 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Opacité 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Opacité 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Opacité 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Opacité 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Opacité 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Sélecteur de couleurs"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Accéder aux commentaires visionneur"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Accéder au tableau de bord"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Accéder à l'inspection visionneur"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Accéder aux intéractions visionneur"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Accéder au mode visionneur"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Accéder à l'espace de travail"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ou "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Ce raccourci a été réassigé à %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Page des raccourcis"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Coller"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Coller les propriétés"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Coller et remplacer"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Personalisés"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Gestionnaire de plugiciels"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tableau précédent"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Rétablir"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Après avoir modifié un raccourci, recharger l'onglet Penpot pour appliquer "
"les changements."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Renommer"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Rétablir à la valeur par défaut"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Rétablir le zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Mettre à l'échelle"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "De base"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Tableau de bord"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visionneuse"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Espace de travail"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Tout sélectionner"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Sélectionner le calque suivant"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Sélectionner le calque parent"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Sélectionner le calque précédent"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Séparer des nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Afficher les mesures"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Afficher / masquer la grille pixel"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Afficher / masquer les raccourcis"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Accrochage de nœuds"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Accrochage à la grille pixel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Commencer l'édition"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alignement"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Édition"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Général"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modification des calques"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panneaux"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Tracés"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formes"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Textes"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Outils"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Définir l'imagette"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Raccourcis clavier"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Basculer l'alignement dynamique"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Basculer les atouts"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Basculer la palette de couleurs"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Basculer la visibilité des commentaires"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Basculer le mode focus"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Basculer plein écran"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Afficher / masquer les guides"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Basculer l'historique"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Basculer les calques"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Ajouter / retirer disposition flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Ajouter / retirer mise en page grille"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Verrouiller / déverrouiller"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Verrouiller les proportions"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Afficher / masquer les règles"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Accrochage aux guides"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "S'accrocher aux règles"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Basculer la palette de texte"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Changer de thème"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Afficher / masquer"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Basculer le style de zoom"
@@ -5197,31 +5368,31 @@ msgstr "Basculer le style de zoom"
msgid "shortcuts.underline"
msgstr "Basculer le souligné"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Annuler"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Dégrouper"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Démasquer"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuer verticalement"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Lentille zoom avant"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Lentille zoom arrière"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoomer à la sélection"
@@ -5240,7 +5411,7 @@ msgstr "Voir Enterprise à l'action"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5252,7 +5423,7 @@ msgstr "Enterprise (Essai)"
msgid "subscription.current-plan.professional"
msgstr "Professionnel"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Ton abonnement"
@@ -5385,284 +5556,284 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Inviter des gens sur le forfait illimité"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Le paiement ne s'est pas complété. Essayer de nouveau."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"Le paiement n'a pas été complété. Essayer de nouveau. Si le problème "
"persiste, contacte-nous : support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonnement"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Saisir le code d'activation"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Ajoute une méthode de paiement pour continuer après la période d'essai"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Console admin"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Tous les bénéfices du forfait professionnel et :"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Tous les bénéfices du forfait illimité et :"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Tous les avantages du forfait Illimité, plus :"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s éditeurs)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Entreprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Entreprise (essai)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Sauvegarde automatique des versions et recouvrement de fichiers de 90 jours"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Taux fixe mensuel"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Contrôle avancé :"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Sécurité Entreprise :"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Gestion multi-organisation :"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"SAML/SSO natif et journaux complets de piste d'audit pour le rapportage de "
"compliance."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Liste d'autorisation granulaire des plugiciels, incluant notre serveur MCP "
"pour la connectivité IA."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr ""
"Compatibilité pour les équipes à hiérarchies complexes et "
"sous-organisations séparées."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Stockage illimité"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gérer l'abonnement"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Ajouter les informations de paiement"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Ajoute tes infos de paiement maintenant pour conserver ton forfait après "
"l'essai et continue d'encourager notre projet à code source ouvert. Tu ne "
"seras pas facturé pour l'instant."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Sauter pour l'instant et commencer la période d'essai"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Aide-nous à croitre et à rendre ton essai plus facile"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Actuellement, tu as %s personne à travers tes équipes qui peuvent éditer."
msgstr[1] "Actuellement, tu as %s personnes à travers tes équipes qui peuvent éditer."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Attention : changer vers un forfait inférieur signifie moins de stockage et "
"une durée plus courte des copies de sécurité et de l'historique des "
"versions."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Éditeurs"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Propriétaires, admins et éditeurs. Les visionneurs ne comptent pas comme "
"éditeurs.)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Tu ne peux pas réduire le nombre d'éditeurs. Dans les paramètres d'équipe, "
"change le rôle (éditeur / admin à visionneur) pour les gens qui n'éditent "
"pas les fichiers."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Facturé après l'essai. Aucune carte de crédit n'est requise pour l'instant."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**%s $** / mois"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Activer le forfait %s pour tes équipes"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Astuce : tu peux augmenter le nombre de sièges pour devancer les "
"invitations. Avec plus de 25 éditeurs à travers tes équipes, tu peux "
"profiter d'un tarif fixe de 175 $ / mois."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Membre Penpot depuis : %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "En savoir plus"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "membre d'organisation / mois"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Autres forfaits Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organisation par mois"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "usager / mois"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professionnel"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7 jours de sauvegarde de versions et recouvrement de fichier"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr ""
"Toutes les fonctionnalités de design et de prototypage, avec l'assistance "
"de la communauté."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Contrôle complet sur les données et l'infrastructure."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Usagers, équipes et fichiers illimités."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 Go de stockage"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Équipes illimitées. Jusqu'à 8 éditeurs à travers tes équipes."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Recommandé"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Ton abonnement"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Commencer l'essai gratuit"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "S'abonner"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Tu utilises le forfait %s depuis %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Tu peux changer de forfait en tout temps à partir de la page « Abonnement » "
"de ton compte."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Profite bien de ton forfait!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Merci d'avoir choisi le forfait Penpot %s!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Tu es %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Essaye gratuitement pour 14 jours"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Illimité"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Illimité (essai)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30 jours de sauvegarde de versions et recouvrement de fichier"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Tarif mensuel fixe de 175 $"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 Go de stockage"
@@ -5687,45 +5858,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Si tu aimerais augmenter cette limite, [bonifie ton forfait|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invitation sélectionnée"
msgstr[1] "%s invitations sélectionnées"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Fournisseurs de polices - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Polices - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projets - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Recherche - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Bibliothèques partagées - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Design libre pour les équipes"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Faire une rétroaction - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Intégrations - Penpot"
@@ -5733,7 +5904,7 @@ msgstr "Intégrations - Penpot"
msgid "title.settings.notifications"
msgstr "Notifications - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Paramètres - Penpot"
@@ -5741,27 +5912,27 @@ msgstr "Paramètres - Penpot"
msgid "title.settings.password"
msgstr "Mot de passe - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profile - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitations - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membres - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Paramètres - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Liens de rappel HTTP - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Mode visionnement - Penpot"
@@ -5773,51 +5944,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Détacher du token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Aucun tableau sur cette page."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Aucun tableau trouvé."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Commentaires (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Ne pas afficher les interactions"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Plein écran"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspecter (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interactions"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interactions (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copier le lien"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Afficher les interactions"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Afficher les interactions au clic"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Plan de site"
@@ -5854,67 +6025,67 @@ msgstr "Consulte notre "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "guide de dépannage WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "Rendu WebGL désactivé"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "Rendu WebGL activé"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "Le contexte WebGL a été perdu"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "Le contexte WebGL a été récupéré"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Le dernier envoi a réussi."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Aligner horizontalement au centre (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuer l'espace horizontalement (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Aligner à gauche (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Aligner à droite (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Aligner en bas (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Aligner verticalement au centre (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuer l'espace verticalement (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Aligner en haut (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Ajouter une bibliothèque"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Tous les atouts"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Couleurs"
@@ -5926,7 +6097,7 @@ msgstr "Ajouter couleur"
msgid "workspace.assets.component-group-options"
msgstr "Options du groupe de composants"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Composants"
@@ -5934,7 +6105,7 @@ msgstr "Composants"
msgid "workspace.assets.components.add-component"
msgstr "Ajouter un composant"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s variants"
@@ -5942,13 +6113,13 @@ msgstr "%s variants"
msgid "workspace.assets.create-group"
msgstr "Créer un groupe"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Les éléments seront renommés « nom de groupe / nom d'élément » "
"automatiquement"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Supprimer"
@@ -5956,11 +6127,11 @@ msgstr "Supprimer"
msgid "workspace.assets.delete-group"
msgstr "Supprimer le groupe"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Supprimer ces pages"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Dupliquer"
@@ -5968,39 +6139,39 @@ msgstr "Dupliquer"
msgid "workspace.assets.duplicate-main"
msgstr "Dupliquer composant principal"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Éditer"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtrer"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Vue grille"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grouper"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nom du groupe"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Vue liste"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "bibliothèque locale"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gérer la bibliothèque"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Aucun atout trouvé"
@@ -6008,7 +6179,7 @@ msgstr "Aucun atout trouvé"
msgid "workspace.assets.open-library"
msgstr "Ouvrir fichier bibliothèque"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Renommer"
@@ -6016,11 +6187,11 @@ msgstr "Renommer"
msgid "workspace.assets.rename-group"
msgstr "Renommer le groupe"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Recherche d'atout"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Bibliothèque partagée"
@@ -6030,43 +6201,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 composant"
msgstr[1] "%s composants"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Ordonner"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typographies"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Ajouter typographie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Taille"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Style de police"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Accéder au fichier de la bibliothèque du style pour éditer"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Interligne"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformation du texte"
@@ -6074,15 +6245,15 @@ msgstr "Transformation du texte"
msgid "workspace.assets.ungroup"
msgstr "Dégrouper"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Copie de l'image…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Image copiée au presse-papiers"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Erreur de copie de l'image"
@@ -6090,85 +6261,85 @@ msgstr "Erreur de copie de l'image"
msgid "workspace.colorpicker.color-tokens"
msgstr "Tokens de couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Les composants ne peuvent pas être imbriqués dans eux-mêmes."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Certaines copies n'ont pu être interchangées. Les composants ne peuvent pas "
"être imbriqués dans eux-mêmes."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Créer une zone"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Copier les colonnes"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Copier les rangées"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Créer un tableau"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Fusionner les cellules"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Coller"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Ajouter 1 colonne à droite"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Ajouter 1 colonne à gauche"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Supprimer la colonne"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Supprimer la colonne et les formes"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Dupliquer la colonne"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Ajouter 1 colonne dessous"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Ajouter 1 colonne dessus"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Supprimer la rangée"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Supprimer la rangée et les formes"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Dupliquer la rangée"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Couleur du guide"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Supprimer le guide"
@@ -6176,15 +6347,15 @@ msgstr "Supprimer le guide"
msgid "workspace.debug.title"
msgstr "Outils de débogage"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Mode focus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Désactiver mode focus"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Activer mode focus"
@@ -6196,243 +6367,243 @@ msgstr "Dégradé linéaire"
msgid "workspace.gradients.radial"
msgstr "Dégradé radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Désactiver l'alignement dynamique"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Désactiver la mise à l'échelle proportionnelle"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Désactiver l'accrochage aux guides"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Désactiver l'accrochage aux pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Désactiver l'accrochage aux guides règles"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Désactiver le rendu WebGL (bêta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Activer l'alignement dynamique"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Activer la mise à l'échelle proportionnelle"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Accrochage aux guides"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Activer l'accrochage aux pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Accrochage aux règles guides"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Activer le rendu WebGL (bêta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Recherche"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Masquer le nom des tableaux"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Masquer les commentaires"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Masquer les guides"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Masquer la palette de couleurs"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Masquer la grille pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Masquer les règles"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Masquer la palette de polices"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Verrouiller les guides"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Connecter"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Déconnecter"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Gérer (statut : désactivé)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Gérer (statut : activé)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Éditer"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fichier"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Aide et info"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "Serveur MCP"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Préférences"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Affichage"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Rétablir"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Tout sélectionner"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Afficher le nom des tableaux"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Afficher les commentaires"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Afficher les guides"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Afficher la palette de couleurs"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Afficher la grille pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Afficher les règles"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Afficher la palette des polices"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Basculer au mode sombre"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Basculer au mode clair"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Basculer au thème du système"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Défaire"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Déverrouiller les guides"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Réinitialiser"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Erreur de sauvegarde"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Sauvegardé"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Sauvegarde en cours"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Partager"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Mode visionnement (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Remplir l'écran"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ajuster aux dimensions"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoom cadrant tout"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Plein écran"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom à la sélection"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Éditer la grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Quitter"
@@ -6440,7 +6611,7 @@ msgstr "Quitter"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Marge interne du bas"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Afficher la marge interne des 4 côtés"
@@ -6476,37 +6647,37 @@ msgstr "Terminé"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Situer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Situer la mise en page grille"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 couleur"
msgstr[1] "%s couleurs"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Ajouter couleur à la bibliothèque"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Aucun style de couleur dans la bibliothèque"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Aucune couleur récente"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Aucun style de typographie dans la bibliothèque"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Bibliothèque du fichier"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Couleurs récentes"
@@ -6518,75 +6689,75 @@ msgstr "RVBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Enregistrer le style de couleur"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Basculer la palette de couleurs"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 composant"
msgstr[1] "%s composants"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Connecté à"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Ou ajoute celles-ci pour tester :"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "Aucune bibliothèque partagée dans ton équipe, tu peux chercher"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "des modèles ici"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Bibliothèque du fichier"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 graphisme"
msgstr[1] "%s graphismes"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTHÈQUES DANS CE FICHIER"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTHÈQUES"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "MISES À JOUR DE BIBLIOTHÈQUES"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Chargement…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Aucune bibliothèque partagée ne requiert de mise à jour"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Aucun résultat trouvé pour « %s »"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Recherche des bibliothèques partagées"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTHÈQUES PARTAGÉES"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Connecter une bibliothèque"
@@ -6610,25 +6781,25 @@ msgstr "Délier tous les atouts"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Détacher tous les tokens"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 typographie"
msgstr[1] "%s typographies"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Déconnecter la bibliothèque"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Mettre à jour"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "voir tous les changements"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "MISES À JOUR"
@@ -6694,117 +6865,117 @@ msgstr "Afficher/masquer plus d'options"
msgid "workspace.options.canvas-background"
msgstr "Arrière-plan du canevas"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Rogner le contenu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Composant"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copier"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Créer une annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Éditer l'annotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principal"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Permuter composant"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Aucun atout dans cette bibliothèque"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Non-lié"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Localiser les variants en conflit"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Ce composant a des variants en conflit. Assure-toi que chaque variant "
"possède des valeurs de propriétés uniques."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Localiser les doublons"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Certains variants ont des propriétés et valeurs identiques"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Ces variants ont des propriétés et valeurs identiques. Ajuster les valeurs "
"pour qu'elles puissent être trouvées."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Ce variant a des propriétés et valeurs identiques à un autre variant. "
"Ajuster les valeurs pour qu'elles puissent être trouvées."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Certains variants ont des propriétés et valeurs identiques. Ajuster les "
"valeurs pour qu'elles puissent être trouvées."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Ce composant a des variants avec des noms invalides. Chaque variant doit "
"suivre la structure correcte."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Localiser les variants invalides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Certains variants ont des noms invalides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Localiser les variants invalides"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Ces variants ont des noms invalides."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Ce variant a un nom invalide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Certains variants ont des noms invalides."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[propriété]=[valeur], [propriété]=[valeur]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Utilise la structure suivante :"
@@ -6842,7 +7013,7 @@ msgstr "Ont le même niveau de hiérarchie."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Les groupes, tableaux et mises en page sont considérés équivalents."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Comment les variants demeurent connectés"
@@ -6890,11 +7061,11 @@ msgstr "Haut et bas"
msgid "workspace.options.convert-to-typography"
msgstr "Créer un style de typographie"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exporter"
@@ -6902,37 +7073,37 @@ msgstr "Exporter"
msgid "workspace.options.export-multiple"
msgstr "Exporter la sélection"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Ajouter une exportation"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Supprimer l'exportation"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffixe"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportation complétée"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "En cours d'exportation…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "L'exportation a échoué"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Exportation inopinément lente"
@@ -6952,7 +7123,7 @@ msgstr "Supprimer le remplissage"
msgid "workspace.options.fill.section"
msgstr "Remplir la section"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Redimensionner le tableau au contenu"
@@ -6976,67 +7147,67 @@ msgstr "Départs de parcours"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Colonnes"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Gouttière"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Hauteur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marge"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Définir par défaut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Bas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centre"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Gauche"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Droite"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Étirer"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Haut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Utiliser la valeur par défaut"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Largeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rangées"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Carrée"
@@ -7048,7 +7219,7 @@ msgstr "Remplissage du groupe"
msgid "workspace.options.group-stroke"
msgstr "Contour du groupe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Ajouter un guide"
@@ -7056,19 +7227,19 @@ msgstr "Ajouter un guide"
msgid "workspace.options.guides.remove-guide"
msgstr "Supprimer le guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guides"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Basculer le guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Hauteur"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspection"
@@ -7284,115 +7455,115 @@ msgstr "Interactions"
msgid "workspace.options.interactions.add-interaction"
msgstr "Ajouter une interaction"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Couleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Densité couleur +"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Densité couleur -"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Obscurcir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Différence"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Lumière crue"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Teinte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Éclaircir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosité"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Produit"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Incrustation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturation"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Superposition"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Lumière tamisée"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Section du menu des calques"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Basculer la visibilité du calque"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Hauteur max."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Largeur max."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Hauteur min."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Largeur min."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Plus de couleurs"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Plus de couleurs de bibliothèque"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Plus de tokens de couleur"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Aucun taille prédéfinie correspondante"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacité"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototype"
@@ -7428,23 +7599,23 @@ msgstr "Section du rayon du contour"
msgid "workspace.options.radius.show-single-corners"
msgstr "Afficher les rayons indépendants"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Récentes"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Relancer"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotation"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Recherche de police"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Rechercher une taille prédéfinie"
@@ -7454,11 +7625,11 @@ msgstr ""
"Sélectionner une forme, un tableau ou un groupe pour ensuite glisser une "
"connexion à un autre tableau."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Couleurs de la sélection"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Section des couleurs de sélection"
@@ -7526,55 +7697,55 @@ msgstr "Basculer l'ombre"
msgid "workspace.options.show-fill-on-export"
msgstr "Afficher dans l'exportation"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Afficher en mode visionnement"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Taille"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Tailles prédéfinies"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Verrouiller les proportions"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Déverrouiller les proportions"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cercle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Flèche"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Aucun"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Arrondi"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Carré"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectangle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangle"
@@ -7582,31 +7753,31 @@ msgstr "Triangle"
msgid "workspace.options.stroke-color"
msgstr "Couleur du contour"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Trait"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Gouttière"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Largeur du contour"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Bas (block end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Gauche (inline start)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Droite (inline end)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Haut (block start)"
@@ -7614,49 +7785,49 @@ msgstr "Haut (block start)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Ajouter un contour"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centre"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tirets"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Pointillés"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Intérieur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixte"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Extérieur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Contour par côté"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"Les contours par côté sont seulement disponibles sous le nouveau moteur de "
"rendu."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Supprimer le contour"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Plein"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Basculer le contour"
@@ -7692,11 +7863,11 @@ msgstr "Largeur automatique"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fixe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Interlettrage"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Hauteur de ligne"
@@ -7744,208 +7915,208 @@ msgstr "Souligné (%s)"
msgid "workspace.options.use-play-button"
msgstr "Utiliser le bouton de lecture dans le menu du haut pour voir le prototype."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Largeur"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Axe X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Axe Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Dessiner des nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Connecter les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Convertir en coin (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Convertir en courbe (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Fusionner les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Déplacer les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Séparer les nœuds (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "S'accrocher aux nœuds (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Ouvrir"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Découvrir [d'autres plugiciels](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Aucun plugiciel installé"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Le manifeste du plugiciel est invalide."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Tu dois être un éditeur pour utiliser ce plugiciel"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Le plugiciel n'existe pas ou l'URL est invalide."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installer"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Plugiciels installés"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Gestionnaire de plugiciels"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugiciels"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "MISE À JOUR DU PLUGICIEL"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Ce plugiciel a été modifié depuis sa dernière ouverture. Des accès "
"supplémentaires sont demandés :"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Démarrer des téléchargements."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Stocker des données dans le navigateur."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Lire les contenus du presse-papiers."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Lire et écrire au presse-papiers."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Lire tes commentaires et réponses."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Lire et modifier tes commentaires et répondre en ton nom."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Lire le contenu de fichiers auxquels des usagers ont accès."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Lire et modifier le contenu de fichiers auxquels des usagers ont accès."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Noter que ce plugiciel a été créé par une tierce partie. S'assurer d'y "
"faire confiance avant de permettre l'accès. La confidentialité des données "
"est importante pour nous. Merci de contacter le support en cas de question."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Lire tes bibliothèques et atouts."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Lire et modifier tes bibliothèques et atouts."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "LE PLUGICIEL « %s » DEMANDE D'ACCÉDER À :"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Lire l'information de l'usager actuel."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Liste des plugiciels"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Supprimer le plugiciel"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Inscrire l'URL d'un plugiciel"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugiciels"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "PAS MAINTENANT"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Tu veux jetter un coup d'œil ? Ça ouvrira un nouveau brouillon dans ton "
"équipe actuelle. (Autrement, tu peux accéder aux plugiciels installés dans "
"n'importe quel fichier.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "LE PLUGICIEL « %s » EST INSTALLÉ POUR TON USAGER!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "ESSAYER LE PLUGICIEL"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Ajouter une disposition flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Ajouter une disposition en grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Ajouter une disposition"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Créer un variant"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Ajouter une propriété"
@@ -7957,11 +8128,11 @@ msgstr "Envoyer à l'arrière-plan"
msgid "workspace.shape.menu.backward"
msgstr "Envoyer vers l'arrière"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Effacer les guides des tableaux"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combiner comme variants"
@@ -7969,7 +8140,7 @@ msgstr "Combiner comme variants"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Les composants doivent être sur la même page"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copier"
@@ -8013,27 +8184,27 @@ msgstr "Copier en texte"
msgid "workspace.shape.menu.create-annotation"
msgstr "Créer une annotation"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Entableauter la sélection"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Créer un composant"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Créer plusieurs composants"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Couper"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Supprimer"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Supprimer le début de parcours"
@@ -8045,7 +8216,7 @@ msgstr "Détacher l'instance"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Détacher les instances"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Différence"
@@ -8053,15 +8224,15 @@ msgstr "Différence"
msgid "workspace.shape.menu.duplicate"
msgstr "Dupliquer"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Modifier"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exclusion"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Aplatir"
@@ -8073,7 +8244,7 @@ msgstr "Retourner horizontalement"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Retourner verticalement"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Début de parcours"
@@ -8085,31 +8256,31 @@ msgstr "Emmener vers l'avant"
msgid "workspace.shape.menu.front"
msgstr "Emmener à l'avant-plan"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grouper"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Masquer"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Afficher / cacher l'interface utilisateur"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersection"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Verrouiller"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Utiliser comme masque"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Coller"
@@ -8117,27 +8288,27 @@ msgstr "Coller"
msgid "workspace.shape.menu.paste-props"
msgstr "Coller les propriétés"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Opérations de chemin"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Supprimer la disposition flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Supprimer la disposition grille"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Supprimer la disposition"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Supprimer la propriété"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Le variant doit avoir au moins une propriété"
@@ -8161,11 +8332,11 @@ msgstr "Restaurer le variant"
msgid "workspace.shape.menu.select-layer"
msgstr "Sélectionner le calque"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Afficher"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Afficher dans le panneau d'atouts"
@@ -8173,7 +8344,7 @@ msgstr "Afficher dans le panneau d'atouts"
msgid "workspace.shape.menu.show-main"
msgstr "Afficher le composant principal"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Contour à chemin"
@@ -8185,19 +8356,19 @@ msgstr "Supprimer l'imagette"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Définir en tant qu'imagette"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Dégroupper"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Union"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Déverrouiller"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Retirer le masque"
@@ -8213,79 +8384,79 @@ msgstr "Réduire le panneau latéral"
msgid "workspace.sidebar.expand"
msgstr "Afficher le panneau latéral"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historique"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Calques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Composants"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtrer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Tableaux"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Groupes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Images"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Aucun résultat"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Tout remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Remplacer avec…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Recherche de calques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Rechercher et remplacer"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Contenu texte"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Noms des calques"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textes"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Attributs SVG importés"
@@ -8297,7 +8468,7 @@ msgstr "Pages"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Ajouter une page"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Plan du site"
@@ -8325,7 +8496,7 @@ msgstr "Ajouter un ensemble à ce groupe"
msgid "workspace.tokens.add-token"
msgstr "Ajouter un token : %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Appliqué à"
@@ -8345,7 +8516,7 @@ msgstr "Taille de police de base"
msgid "workspace.tokens.base-font-size.error"
msgstr "La taille de police de base doit être une valeur en pixels ou sans unité."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Couleur"
@@ -8357,7 +8528,7 @@ msgstr "Copier le chemin du token"
msgid "workspace.tokens.create-new-theme"
msgstr "Crée le premier thème dès maintenant."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "En créer un."
@@ -8381,7 +8552,7 @@ msgstr "Dupliquer le token"
msgid "workspace.tokens.duplicate-group"
msgstr "Dupliquer le groupe de tokens"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copier"
@@ -8405,7 +8576,7 @@ msgstr "Édition du token %s"
msgid "workspace.tokens.enter-token-name"
msgstr "Entrer le nom du token %s"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr ""
"Il n'est pas possible d'appliquer un token pendant l'édition du texte. "
@@ -8435,7 +8606,7 @@ msgstr "Aperçu :"
msgid "workspace.tokens.export.single-file"
msgstr "Un seul fichier"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Taille de police ou {alias}"
@@ -8445,7 +8616,7 @@ msgstr ""
"Erreur de configuration de la graisse/style de la police. Ce style de "
"police n'existe pas pour la police courante"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Graisse de police (300, gras italique, etc.) ou un {alias}"
@@ -8485,7 +8656,7 @@ msgstr ""
"En un fichier JSON seul. Les clés de premier niveau doivent être les noms "
"des ensembles de tokens."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importation de tokens"
@@ -8493,17 +8664,17 @@ msgstr "Importation de tokens"
msgid "workspace.tokens.import-warning"
msgstr "Importer des tokens écrasera tous les tokens, ensembles et thèmes."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactif"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Cet ensemble n'est pas actif. Change de thème ou active cet ensemble pour "
"voir les changements dans l'espace de travail"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Tokens individuels"
@@ -8523,11 +8694,11 @@ msgstr "Thème"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Ajouter un thème (ex. Clair)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Interlettrage ou {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Hauteur de ligne (multiplicateur, px, %) ou {alias}"
@@ -8543,11 +8714,11 @@ msgstr "Taille max."
msgid "workspace.tokens.min-size"
msgstr "Taille min."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Référence manquante"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Clic droit pour voir les options"
@@ -8563,7 +8734,7 @@ msgstr "Aucun thème actif"
msgid "workspace.tokens.no-permisions-set"
msgstr "Tu dois être un éditeur pour activer / désactiver des ensembles"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Tu dois être un éditeur pour utiliser les thèmes"
@@ -8575,7 +8746,7 @@ msgstr "Aucun ensemble n'est défini. Crée-en un pour les assigner à un thème
msgid "workspace.tokens.no-sets-yet"
msgstr "Aucun ensemble n'existe."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Aucun thème n'existe."
@@ -8591,7 +8762,7 @@ msgstr "Ne pas remapper"
msgid "workspace.tokens.num-active-sets"
msgstr "%s ensembles actifs"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valeur d'origine : %s"
@@ -8603,17 +8774,17 @@ msgstr "Marges intérieures"
msgid "workspace.tokens.radius"
msgstr "Rayon"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr ""
"La référence dans {%s} est invalide ou ne fait partie d'aucun ensemble "
"actif."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Entrer un alias de token typographique"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Entrer un alias de token d'ombre"
@@ -8653,7 +8824,7 @@ msgstr "Renommer le groupe de tokens"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Les tokens seront automatiquement renommés à %s.(suffixe).(nomDeToken)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valeur calculée : %s"
@@ -8691,27 +8862,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Paramètres des tokens"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Ajouter une ombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Flou"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Position de l'ombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Supprimer l'ombre"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Étalement"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "La valeur de flou ne peut être négative"
@@ -8719,11 +8890,11 @@ msgstr "La valeur de flou ne peut être négative"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "La valeur d'étalement ne peut être négative"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8731,11 +8902,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Taille"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize ou {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through ou {alias}"
@@ -8753,31 +8924,31 @@ msgstr "Liste des thèmes"
msgid "workspace.tokens.token-description"
msgstr "Description"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Sélectionner une famille de polices de caractères"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Famille de polices"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Famille de police ou liste de polices séparées par une virgule (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nom"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Un token existe déjà au chemin : %s"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Le nom doit être au moins 1 caractère"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" n'est pas un nom de token valide.\n"
@@ -8788,11 +8959,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valeur"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Entrer une valeur ou un alias avec {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -8808,15 +8979,15 @@ msgstr "L'importation a réussi. Certains tokens n'ont pas été inclus."
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Le type « %s » n'est pas supporté (%s)"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Utiliser une référence"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "La valeur n'est pas valide"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Flèche (%s)"
@@ -8824,75 +8995,71 @@ msgstr "Flèche (%s)"
msgid "workspace.toolbar.assets"
msgstr "Atouts"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Palette de couleurs (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Commentaires (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Courbe (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tableau (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Image (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Ligne (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Se connecter ici"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP connecté"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Déplacer (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Barre de palettes"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Chemin (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugiciels (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectangle (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Texte (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typographies (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Basculer la barre d'outils"
@@ -8913,11 +9080,11 @@ msgstr "Rendu indisponible. Recharger la page pour restaurer l'édition."
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Recharger"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Il n'y a aucun changement à l'historique"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "par %s"
@@ -9057,19 +9224,19 @@ msgstr "typographie"
msgid "workspace.undo.entry.unknown"
msgstr "Opération sur %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ignorer"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Plus d'info"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Mises à jour dans les bibliothèques partagées"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Mettre à jour"
@@ -9159,3 +9326,355 @@ msgstr ""
#: src/app/main/ui/workspace/sidebar/versions.cljs:462
msgid "workspace.versions.warning.text"
msgstr "Les versions auto-sauvegardées seront conservées pendant %s jours."
+
+#: src/app/main/ui/dashboard/sidebar.cljs:228
+msgid "dashboard.clear-search"
+msgstr "Effacer la recherche"
+
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
+msgid "dashboard.fonts.delete-variant"
+msgstr "Supprimer le style de police"
+
+#: src/app/main/ui/dashboard/import.cljs:625
+msgid "dashboard.import.check.message"
+msgstr ""
+"Nous nous assurons que chaque fichier peut être importé. Ça ne prend qu'un "
+"moment."
+
+#: src/app/main/ui/dashboard/import.cljs:624
+msgid "dashboard.import.check.title"
+msgstr "Vérification des fichiers..."
+
+#: src/app/main/ui/dashboard/import.cljs:600
+msgid "dashboard.import.importing.done"
+msgid_plural "dashboard.import.importing.done"
+msgstr[0] "1 complété"
+msgstr[1] "%s complétés"
+
+#: src/app/main/ui/dashboard/import.cljs:637
+msgid "dashboard.import.importing.message"
+msgstr "Reconstruction des pages, composants et atouts de ton projet."
+
+#: src/app/main/ui/dashboard/import.cljs:598
+msgid "dashboard.import.importing.title"
+msgid_plural "dashboard.import.importing.title"
+msgstr[0] "Importation de 1 fichier"
+msgstr[1] "Importation de %s fichiers"
+
+#: src/app/main/ui/dashboard/import.cljs:634
+msgid "dashboard.import.queued.message"
+msgstr ""
+"Les fichiers sont téléversés. L'importation commencera dès qu'un espace se "
+"libère."
+
+#: src/app/main/ui/dashboard/import.cljs:633
+msgid "dashboard.import.queued.title"
+msgstr "En attente de commencer..."
+
+#: src/app/main/ui/dashboard/import.cljs:628
+msgid "dashboard.import.ready.message"
+msgstr "Les fichiers peuvent être importés. Continue de les téléverser."
+
+#: src/app/main/ui/dashboard/import.cljs:627
+msgid "dashboard.import.ready.title"
+msgstr "Fichiers prêts"
+
+#: src/app/main/ui/dashboard/import.cljs:331
+msgid "dashboard.import.status.ready"
+msgstr "Prêt"
+
+#: src/app/main/ui/dashboard/import.cljs:568
+msgid "dashboard.import.steps.check"
+msgstr "Vérification"
+
+#: src/app/main/ui/dashboard/import.cljs:570
+msgid "dashboard.import.steps.import"
+msgstr "Importation"
+
+#: src/app/main/ui/dashboard/import.cljs:573
+msgid "dashboard.import.steps.label"
+msgstr "Étapes d'importation"
+
+#: src/app/main/ui/dashboard/import.cljs:569
+msgid "dashboard.import.steps.upload"
+msgstr "Téléversement"
+
+#: src/app/main/ui/dashboard/import.cljs:1130
+msgid "dashboard.import.title"
+msgstr "Importer un fichier"
+
+#: src/app/main/ui/dashboard/import.cljs:631
+msgid "dashboard.import.upload.message"
+msgstr ""
+"Envoi des fichiers. Garder cette boîte de dialogue ouverte jusqu'à ce que le "
+"téléversement soit terminé."
+
+#: src/app/main/ui/dashboard/import.cljs:630
+msgid "dashboard.import.upload.title"
+msgstr "Téléversement des fichiers..."
+
+#: src/app/main/data/exports/assets.cljs:64, src/app/main/data/exports/assets.cljs:93
+msgid "errors.export-failed"
+msgstr "L'exportation a échoué. Réessaye de nouveau."
+
+#: src/app/main/data/exports/assets.cljs:372
+msgid "errors.export-too-large"
+msgstr "Trop grand pour être exporté, essaye une échelle plus petite"
+
+#: src/app/main/errors.cljs:886
+msgid "errors.profile-props-too-large"
+msgstr ""
+"La configuration de ton profil est trop lourde pour sauvegader. Supprime des "
+"plugiciels et essaye à nouveau."
+
+#: src/app/main/errors.cljs:691
+msgid "errors.save-still-retrying"
+msgstr ""
+"Les changements n'ont pu être sauvegardés car Penpot ne peut joindre le "
+"serveur. Ils seront maintenus et Penpot tentera de les sauvegarder. "
+"Maintiens cet onglet ouvert jusqu'à ce qu'ils soient sauvegardés."
+
+#: src/app/main/data/workspace/tokens/errors.cljs:62
+msgid "errors.tokens.division-by-zero"
+msgstr "Valeur de token invalide : division par zéro"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:74
+msgid "errors.tokens.function-argument-out-of-range"
+msgstr "Valeur de token invalide : l'argument %s() est hors de portée"
+
+#: src/app/main/ui/jobs/progress.cljs:32
+msgid "jobs.progress.stage.manifest"
+msgstr "Lecture de l'archive"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:66
+msgid "errors.tokens.incompatible-units"
+msgstr "Valeur de token invalide : les unités %s ne peuvent être combinées"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:70
+msgid "errors.tokens.unknown-function"
+msgstr "Valeur de token invalide : fonction inconnue %s"
+
+#: src/app/main/ui/exports/files.cljs:392
+msgid "files-download-modal.unsaved-changes"
+msgstr ""
+"Quelques-uns des derniers changements ne sont pas encore sauvegardés, alors "
+"ce téléchargement ne les inclura pas."
+
+#: src/app/main/ui/exports/files.cljs:467
+msgid "files-export-modal.cancel-export"
+msgstr "Annuler l'exportation"
+
+#: src/app/main/ui/exports/files.cljs:471
+msgid "files-export-modal.done"
+msgstr "Terminé"
+
+#: src/app/main/ui/exports/files.cljs:210
+msgid "files-export-modal.export-error"
+msgstr "Impossible d'exporter : %s"
+
+#: src/app/main/ui/exports/files.cljs:246
+msgid "files-export-modal.exported.message"
+msgstr "Vérifier le dossier des téléchargements."
+
+#: src/app/main/ui/exports/files.cljs:239
+msgid "files-export-modal.exported.title"
+msgid_plural "files-export-modal.exported.title"
+msgstr[0] "1 fichier exporté"
+msgstr[1] "%s fichiers exportés"
+
+#: src/app/main/ui/exports/files.cljs:245
+msgid "files-export-modal.exporting.message"
+msgstr "Chaque fichier se télécharge dès qu'il est prêt."
+
+#: src/app/main/ui/exports/files.cljs:238
+msgid "files-export-modal.exporting.title"
+msgid_plural "files-export-modal.exporting.title"
+msgstr[0] "Exportation de 1 fichier"
+msgstr[1] "Exportation de %s fichiers"
+
+#: src/app/main/ui/exports/files.cljs:430
+msgid "files-export-modal.options.merge-libraries.message"
+msgstr ""
+"Le fichier sera exporté avec toutes les bibliothèques d'atouts externes "
+"intégrés au fichier."
+
+#: src/app/main/ui/exports/files.cljs:424
+msgid "files-export-modal.options.merge-libraries.title"
+msgstr "Inclure les bibliothèques d'atouts dans le fichier"
+
+#: src/app/main/ui/exports/files.cljs:179
+msgid "files-export-modal.status.exported"
+msgstr "Exporté"
+
+#: src/app/main/ui/exports/files.cljs:186
+msgid "files-export-modal.status.waiting"
+msgstr "En attente"
+
+#: src/app/main/ui/exports/files.cljs:381
+msgid "files-export-modal.title"
+msgstr "Exporter fichier"
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:113
+msgid "import-shortcuts.imported"
+msgstr "Importé"
+
+#: src/app/main/ui/settings/shortcuts.cljs:511, src/app/main/ui/settings/shortcuts.cljs:513
+msgid "import-shortcuts.invalid-file"
+msgstr "Ce fichier n'est pas une exportation de raccourcis valide."
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:153
+msgid "import-shortcuts.skipped-entries"
+msgstr ""
+"Ces entrées ne peuvent être importées : elles ne correspondent à aucun "
+"raccourci Penpot ou combinaison de touches réservées."
+
+#: src/app/main/ui/inspect/code.cljs:322, src/app/main/ui/inspect/code.cljs:365
+msgid "inspect.code.expand-panel"
+msgstr "Agrandir le panneau"
+
+#: src/app/main/ui/exports/files.cljs:223
+msgid "jobs.export-cancelled"
+msgstr "Exportation annulée"
+
+#: src/app/main/data/imports.cljs:376
+msgid "jobs.import-cancelled"
+msgstr "Importation annulée"
+
+#: src/app/main/ui/jobs/progress.cljs:26
+msgid "jobs.progress.stage.colors"
+msgstr "Traitement des couleurs"
+
+#: src/app/main/ui/jobs/progress.cljs:25
+msgid "jobs.progress.stage.components"
+msgstr "Traitement des composants"
+
+#: src/app/main/ui/jobs/progress.cljs:21
+msgid "jobs.progress.stage.files"
+msgstr "Traitement des fichiers"
+
+#: src/app/main/ui/jobs/progress.cljs:23
+msgid "jobs.progress.stage.media"
+msgstr "Traitement des médias"
+
+#: src/app/main/ui/jobs/progress.cljs:31
+msgid "jobs.progress.stage.metadata"
+msgstr "Lecture des métadonnées"
+
+#: src/app/main/ui/jobs/progress.cljs:22
+msgid "jobs.progress.stage.pages"
+msgstr "Traitement des pages"
+
+#: src/app/main/ui/jobs/progress.cljs:30
+msgid "jobs.progress.stage.relations"
+msgstr "Traitement des relations de bibliothèque"
+
+#: src/app/main/ui/jobs/progress.cljs:29
+msgid "jobs.progress.stage.storage-objects"
+msgstr "Traitement des objets de stockage"
+
+#: src/app/main/ui/jobs/progress.cljs:24
+msgid "jobs.progress.stage.thumbnails"
+msgstr "Traitement des imagettes"
+
+#: src/app/main/ui/jobs/progress.cljs:28
+msgid "jobs.progress.stage.tokens"
+msgstr "Traitement des tokens"
+
+#: src/app/main/ui/jobs/progress.cljs:27
+msgid "jobs.progress.stage.typographies"
+msgstr "Traitement des polices de caractères"
+
+#: src/app/main/ui/jobs/progress.cljs:34
+msgid "jobs.progress.stage.unknown"
+msgstr "Travail en cours"
+
+#: src/app/main/ui/jobs/progress.cljs:33
+msgid "jobs.progress.stage.upload"
+msgstr "Téléversement du fichier…"
+
+#: src/app/main/ui/dashboard/import.cljs:328, src/app/main/ui/exports/files.cljs:103
+#, unused
+msgid "jobs.queued"
+msgstr "En attente d'un créneau de travail"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:546
+msgid "labels.check-for-updates"
+msgstr "Vérifier pour une mise à jour"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:545
+msgid "labels.checking-for-updates"
+msgstr "Vérification d'une mise à jour…"
+
+#: src/app/main/ui/viewer/thumbnails.cljs:96
+msgid "labels.expand"
+msgstr "Agrandir"
+
+#: src/app/main/ui/static.cljs:367
+msgid "labels.nitrate-not-configured.desc-message"
+msgstr ""
+"Cette instance nécessite une étape de configuration incluse avec la dernière "
+"version."
+
+#: src/app/main/ui/static.cljs:370
+msgid "labels.nitrate-not-configured.learn-more"
+msgstr "Va voir nos"
+
+#: src/app/main/ui/static.cljs:365
+msgid "labels.nitrate-not-configured.main-message"
+msgstr "Penpot ne peut pas encore démarrer."
+
+#: src/app/main/ui/static.cljs:375
+msgid "labels.nitrate-not-configured.technical-guide"
+msgstr "guide technique"
+
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Sauter"
+
+#: src/app/main/ui/static.cljs:562
+msgid "labels.sso-error.desc-message"
+msgstr ""
+"La connexion via le fournisseur d'identité n'a pu se compléter. Il est "
+"possible que le fournisseur soit indisponible ou que le compte ne figure pas "
+"encore au répertoire."
+
+#: src/app/main/ui/static.cljs:563
+msgid "labels.sso-error.retry"
+msgstr "Réessayer"
+
+#: src/app/main/ui/static.cljs:561
+msgid "labels.sso-error.title"
+msgstr "Connexion impossible %s"
+
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
+msgid "labels.team-management"
+msgstr "Gestion des équipes"
+
+#: src/app/main/ui/mcp_authorize.cljs:155
+msgid "mcp.oauth.access"
+msgstr ""
+"Ce client peut lire et modifier les designs via les connexions MCP établies "
+"depuis Penpot."
+
+#: src/app/main/ui/mcp_authorize.cljs:153
+msgid "mcp.oauth.account"
+msgstr "Tu es connecté en tant que %s."
+
+#: src/app/main/ui/mcp_authorize.cljs:162
+msgid "mcp.oauth.approve"
+msgstr "Autoriser l'accès"
+
+#: src/app/main/ui/mcp_authorize.cljs:133
+msgid "mcp.oauth.cancelled"
+msgstr "Connexion annulée"
+
+#: src/app/main/ui/mcp_authorize.cljs:157
+msgid "mcp.oauth.enable"
+msgstr ""
+"Autoriser l'accès permet à l'intégration MCP et crée un token MCP au besoin."
+
+#: src/app/main/ui/mcp_authorize.cljs:137
+msgid "mcp.oauth.failed"
+msgstr ""
+"Cette requête a expiré, a déjà été utilisée ou n'a pu être complétée. "
+"Démarrer la connexion de nouveau à partir du client MCP."
diff --git a/frontend/translations/gl.po b/frontend/translations/gl.po
index e65047bed4..40041c532a 100644
--- a/frontend/translations/gl.po
+++ b/frontend/translations/gl.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Xa tes unha conta?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Esqueciches o teu contrasinal?"
@@ -37,27 +37,27 @@ msgstr "Esqueciches o teu contrasinal?"
msgid "auth.fullname"
msgstr "Nome completo"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Entra aquí"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "Gitlab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "Perfil sen verificar, valida o perfil antes de continuar."
msgid "auth.notifications.recovery-token-sent"
msgstr "Enviouse ó teu correo electrónico un enlace co que recuperar o contrasinal."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Unícheste ao equipo"
@@ -109,11 +109,11 @@ msgstr "Esqueceches o teu contrasinal?"
msgid "auth.recovery-submit"
msgstr "Cambiar o teu contrasinal"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ainda non tes unha conta?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Crea unha conta"
@@ -121,109 +121,109 @@ msgstr "Crea unha conta"
msgid "auth.register-title"
msgstr "Crea unha conta"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Condicións de servizo"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todas as persoas usuarias de Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Seguro que queres eliminar esta ligazón? Se o fas, non estará dispoñible "
"para ninguén"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(actual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Eliminar ligazón"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obter ligazón"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "A ligazón copiouse correctamente"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Xestionar permisos"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 páxina compartida"
msgstr[1] "% páxinas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Poden comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Poden ver o código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Calquera persoa ca ligazón terá acceso"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páxinas compartidas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "A ligazón para compartir aparecerá aquí"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Só membros do equipo"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartir prototipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Seleccionar todas"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Cancelar publicación"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Xestión do equipo"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot está deseñado para equipos. Convida a persoas coas que trallar en "
"proxectos e ficheiros"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Engadir como Biblioteca Compartida"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Cambiar correo electrónico"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Crear novo equipo"
@@ -231,11 +231,11 @@ msgstr "Crear novo equipo"
msgid "dashboard.default-team-name"
msgstr "O teu Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Eliminar equipo"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Descargar ficheiro Penpot (.penpot)"
@@ -251,59 +251,59 @@ msgstr "Duplicar % ficheiros"
msgid "dashboard.export-binary-multi"
msgstr "Descargar %s ficheiros Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportar marcos a PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportar a PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "% de % elementos seleccionados"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Podes engadir axustes na exportación aos elementos dende as propiedades do "
"deseño (parte inferior da barra lateral dereita)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Información sobre como configurar as exportacións en Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Non hai elementos con configuración de exportación."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportar selección"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Fonte eliminada"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Desbotar todas"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Aínda non instalaches as túas propas fontes."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
"Podes cargar fontes cos seguintes formatos: **TTF, OFT e WOFF** (só se "
"precisa un)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -322,75 +322,47 @@ msgstr ""
"[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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Cargar todas"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importar archivos de Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Vaia! Non se puido importar o ficheiro"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "% ficheiros importáronse correctamente."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Algúns ficheiros contiñan obxectos non válidos que foron eliminados."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Procesando cores"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Procesando compoñentes"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Procesando medios"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Procesando páxina: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Procesando fontes"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Enviando datos ao servidor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Enviando ficheiro: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invitar ao equipo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Abandonar o equipo"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotecas e Modelos"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explora máis e descubre como contribuír"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotecas compartidas"
@@ -398,7 +370,7 @@ msgstr "Bibliotecas compartidas"
msgid "dashboard.loading-files"
msgstr "cargando os teus ficheiros …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "cargando as túas fontes …"
@@ -414,35 +386,35 @@ msgstr "Mover % ficheiros a"
msgid "dashboard.move-to-other-team"
msgstr "Mover a outro equipo"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Novo ficheiro"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Novo ficheiro"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Novo proxecto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Novo proxecto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Non se atoparon resultados para “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Os proxectos fixados aparecerán aquí"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Actualizouse a túa dirección de correo"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Verificouse a túa dirección de correo"
@@ -450,7 +422,7 @@ msgstr "Verificouse a túa dirección de correo"
msgid "dashboard.notifications.password-saved"
msgstr "Contrasinal gardado correctamente!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s integrantes"
@@ -458,7 +430,7 @@ msgstr "%s integrantes"
msgid "dashboard.open-in-new-tab"
msgstr "Abrir ficheiro nunha nova lapela"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opcións"
@@ -466,35 +438,35 @@ msgstr "Opcións"
msgid "dashboard.password-change"
msgstr "Cambiar contrasinal"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Proxectos"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Queres borrar a túa conta?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Gardar configuración"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Buscar…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Procurando “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Escolle idioma da interface"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Escolle un tema"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Mostra todos os ficheiros"
@@ -514,7 +486,7 @@ msgstr "Duplicouse o ficheiro"
msgid "dashboard.success-duplicate-project"
msgstr "Duplicouse o proxecto"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Moveuse o ficheiro"
@@ -526,47 +498,47 @@ msgstr "Movéronse os ficheiros"
msgid "dashboard.success-move-project"
msgstr "Moveuse o proxecto"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Información do equipo"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Integrantes do equipo"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Proxectos do equipo"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema da interface"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Resultados da procura"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Escribe algo para procurar"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Cancelar publicación da Biblioteca"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Actualizar configuración"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "A túa conta"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Correo electrónico"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Nome"
@@ -582,7 +554,7 @@ msgstr "Atención"
msgid "ds.component-subtitle"
msgstr "Compoñentes para actualizar:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancelar"
@@ -634,18 +606,6 @@ msgstr "Sombra"
msgid "inspect.attributes.stroke"
msgstr "Bordo"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centro"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Interior"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Exterior"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografía"
@@ -706,19 +666,19 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Texto"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Atallos do teclado"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Aceptar"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administración"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Todo"
@@ -726,15 +686,15 @@ msgstr "Todo"
msgid "labels.and"
msgstr "e"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Volver"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancelar"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Pechar"
@@ -742,51 +702,51 @@ msgstr "Pechar"
msgid "labels.code"
msgstr "Código"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentarios"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuar"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Crear"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Panel"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Eliminar"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Borradores"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editar"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Caducada"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportar"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Estilos"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fontes"
@@ -794,107 +754,107 @@ msgstr "Fontes"
msgid "labels.info"
msgstr "Información"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitacións"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Lingua"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Pechar sesión"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Integrante"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Integrantes"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Vaia!"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Contrasinal"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pendente"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Perfil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Proxectos"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Retirar"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Mudar o nome"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Volver tentar"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Gardar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Enviar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Enviando…"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configuración"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotecas"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Estado"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Titoriales"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Actualizar"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Cargar"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Cargando…"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visor"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(ti)"
@@ -906,51 +866,51 @@ msgstr "Actualizar"
msgid "modals.update-remote-component.cancel"
msgstr "Cancelar"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comentarios"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copiar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Cortar"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Eliminar"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Taboleiro"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Ruta"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectángulo"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicar"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancelar"
@@ -958,149 +918,149 @@ msgstr "Cancelar"
msgid "shortcuts.go-to-search"
msgstr "Buscar"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Agrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Máscara"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mover"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Pegar"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Refacer"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Básicos"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Panel"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visor"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Espazo de traballo"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Aliñamento"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editar"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Xenérico"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navegación"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneis"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Ruta"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formas"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Ferramentas"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Desfacer"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Dispersar"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Quitar máscara"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interaccións"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa do sitio"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Cores"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Compoñentes"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Eliminar"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Mudar o nome"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografías"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Tamaño"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
@@ -1108,27 +1068,27 @@ msgstr "Ag"
msgid "workspace.assets.ungroup"
msgstr "Dispersar"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Ficheiro"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferencias"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Restablecer"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Gardado"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Gardando"
@@ -1136,19 +1096,19 @@ msgstr "Gardando"
msgid "workspace.libraries.colors.rgba"
msgstr "RGBA"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Actualizar"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "Actualizacións"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Compoñente"
@@ -1184,11 +1144,11 @@ msgstr "Enriba"
msgid "workspace.options.constraints.topbottom"
msgstr "Enriba e Embaixo"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Deseño"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportar"
@@ -1196,25 +1156,25 @@ msgstr "Exportar"
msgid "workspace.options.export-multiple"
msgstr "Exportar selección"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufixo"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportación completada"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportando…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Erro na exportación"
@@ -1226,35 +1186,35 @@ msgstr "Recheo"
msgid "workspace.options.grid.auto"
msgstr "Automático"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Columna"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marxe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Embaixo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Esquerda"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Dereita"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Enriba"
@@ -1266,15 +1226,15 @@ msgstr "Ningún"
msgid "workspace.options.interaction-pos-center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Ningún"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editar"
diff --git a/frontend/translations/ha.po b/frontend/translations/ha.po
index 6382d0fa45..21ca5eb381 100644
--- a/frontend/translations/ha.po
+++ b/frontend/translations/ha.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Alejandro Alonso \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Hausa "
" \n"
"Language: ha\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "ka na da taska?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "ka manta lambar tsaro?"
@@ -37,27 +37,27 @@ msgstr "ka manta lambar tsaro?"
msgid "auth.fullname"
msgstr "cikakken suna"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "shiga nan"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "matattarar manazarta"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "wurin nazari"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Gugul"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "shaidar buxewa"
@@ -77,7 +77,7 @@ msgstr "ba a tantance bayananka ba,sai an tantance a ci gaba."
msgid "auth.notifications.recovery-token-sent"
msgstr "an aika maka da saqon matakan da za a bi domin dawo da lambar tsaronka."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "ka zama dan tawaga"
@@ -105,109 +105,109 @@ msgstr "canza lambar tsaro"
msgid "auth.register-title"
msgstr "qirqiri sabon kundi"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "dokokin aiki"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "wallafawa"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "duk fenfot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "ka tabbata ka na son rufe wannan hanyar? idan ka rufe ba mai iya sake bi"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(yanzu)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "tarwatsa hanya"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "samun hanya"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "an samo kwafi"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "amincewar shugaba"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "tura shafi 1"
msgstr[1] "%s an tura shafi"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "sharhi"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "iya bincka lamba"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "duk wanda ya mallaki mataki,za ya iya shiga"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "tura shafuka"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "hanya mai kyau za ta bayyana a nan"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "memba kaxai"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "fenfot"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "zavi duka"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "maras wallafa"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "shuwagabannin tawaga"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "fenfot ta menbobin tawaga ce. kirawo kowa domin yin aiki tarekundaye"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "haxin guiwa!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "tura tamkar fenfot"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "canza imel"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kwafi)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "yi sabuwar tawaga"
@@ -215,11 +215,11 @@ msgstr "yi sabuwar tawaga"
msgid "dashboard.default-team-name"
msgstr "manhajar fenfot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "goge tawaga"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "sauke manhajar fenfot(.manhajar fenfot)"
@@ -235,59 +235,59 @@ msgstr "kwafi %s kundaye"
msgid "dashboard.export-binary-multi"
msgstr "sauke %s kundayen manhajar fenfot(.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Allon fitarwa na PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Fitarwa a PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s of %s tubullan da aka zava"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Fitarwa"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"za ka iya daidaita kayan zanenka ta hanyar (amfani da madannin qasa sashen "
"dama)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "bayanin yadda ake fitarwa daga fenfot"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "ba wasu abubuwan da ake daidaitawa wajen tsara fitarwa."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Fitar da zavi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "rashin font"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "goge duka"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "fonts da ka xora nan za ya bayyana."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -296,7 +296,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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -305,11 +305,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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "xora duka"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -319,73 +319,45 @@ msgstr ""
"mun aminta da amfani da [taransifota](https://taransifota.org/) domin samo "
"webfonts da adana kurakurai. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "shigo da kundin fenfot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "kash! mun gaza shigo da kundinka"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "wasu kundayen na dauke da abubuwan da ba su da amfani."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "aikin rini"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "aikin sassa"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "kammala aiki"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "fejin kasuwar duniya: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "kula da rubutu"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "xora bayani akan sabis (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "xora kundaye: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "neman mutane"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "fita tawaga"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "taska da shaidar kamfanoni"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "taskoki"
@@ -393,7 +365,7 @@ msgstr "taskoki"
msgid "dashboard.loading-files"
msgstr "aikin dora kundaye …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "xora abin adonka …"
@@ -409,35 +381,35 @@ msgstr "tura %s kundaye a"
msgid "dashboard.move-to-other-team"
msgstr "tura ma sauran tawaga"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ sabon kundi"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "sabon kundi"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ sabon aiki"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "sabon aiki"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "ba wanda ya yi daidai da “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "nan za a ga bayanin aiki"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "ka zamanantar da adireshinka na imel"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "an tantance adireshinka na imel"
@@ -445,7 +417,7 @@ msgstr "an tantance adireshinka na imel"
msgid "dashboard.notifications.password-saved"
msgstr "an tsare maka shaidar tsaro!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s memba"
@@ -453,7 +425,7 @@ msgstr "%s memba"
msgid "dashboard.open-in-new-tab"
msgstr "buxe kundi a sabon wurin buxewa"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "zavi"
@@ -461,39 +433,39 @@ msgstr "zavi"
msgid "dashboard.password-change"
msgstr "sauya lambar tsaro"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "rufewa/buxewa"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "aiki"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "ka na son cire taskarka?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "wurin ajiyar saiti"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "nema …"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "neman “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "zavavven harshen UI"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "zaven batu"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "duk kundaye"
@@ -517,7 +489,7 @@ msgstr[1] "an kwafi kundayenka"
msgid "dashboard.success-duplicate-project"
msgstr "an kwafi aikinka"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "an tura aikinka"
@@ -529,81 +501,81 @@ msgstr "an tura kundayenka"
msgid "dashboard.success-move-project"
msgstr "an tura aikinka"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "bayanin tawaga"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "mambobin tawaga"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "aiyukan tawaga"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "batun UI"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "neman sakamako"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "rubuta neman sakamako"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "wallafa taska"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "zamanartarwa wurin gyara"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "ya na amfani"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "idan an sami sauyi a nan ake kawo shi"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "irin ra'ayi"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "yin webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "an gina Webhook."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks hanyar sanar da manhajoji da addireshi intanet idan wani ya faru a "
"Penpot. za a tura maka da saqon talla URLs ka samar da."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "danna qasa \"sanya webhook\" qara xaya."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "ba a gina wani webhooks ba."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "gidanka"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "imel"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "sunanka"
@@ -619,7 +591,7 @@ msgstr "natsu"
msgid "ds.component-subtitle"
msgstr "zamanantar da sassa:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "goge"
@@ -635,15 +607,15 @@ msgstr "ka tabbata?"
msgid "errors.auth-provider-not-configured"
msgstr "manhajar tantancewar ba ta tsaru ba."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "lokacin ya qare ko ba a tantance ka ba."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "ba za a iya xora fonts %s ba"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "ba za a iya xora fonts %s ba"
@@ -651,15 +623,15 @@ msgstr "ba za a iya xora fonts %s ba"
msgid "errors.cannot-upload"
msgstr "kasa xora xan aiken kundi."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "manhajar binciken nan ba ta iya yin wannan aikin"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "an yi amfani da imel"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "an farfaxo da imel."
@@ -667,25 +639,25 @@ msgstr "an farfaxo da imel."
msgid "errors.email-as-password"
msgstr "ba za ka iya amfani da imel ba a matsayin lambar tsaro ba"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "imel «%s» na da bayanan matsaloli na dindindin."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "saqonni marasa amfani na imel «%s»."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"tamkar ka buxe wani kundi da ke da muhimmanci '%s' bayar da dama qarin da "
"ka yi ma fenfot xinka bai karbu ba ko ba zai yi aiki ba."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "sassa '%s' ba za su yi aiki ba."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "wata matsala ta faru."
@@ -697,7 +669,7 @@ msgstr "launin bai yi ba"
msgid "errors.invalid-email"
msgstr "sanya imel mai amfani"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "tabbata imel xinka ya yi daidai"
@@ -717,7 +689,7 @@ msgstr "za a iya soke gayyata ko ta ki aiki."
msgid "errors.ldap-disabled"
msgstr "LDAP ya gaza tantancewa."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "kammala adadin '%s' madogara. gyara."
@@ -733,7 +705,7 @@ msgstr "hoton da aka sanya bai yi daidai da kundin da ake son faxaxawa ba."
msgid "errors.media-type-not-allowed"
msgstr "wannan hoton ba ya aiki."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "bayanan da ka nema imel din su ya suma (bayanan matsaloli)."
@@ -749,7 +721,7 @@ msgstr "lambar tsaro dole ta kai yawan alamu 8"
msgid "errors.profile-blocked"
msgstr "bayanan a rufe suke"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "bayananka su na da imel maras motsi (baiyana matsaloli)."
@@ -757,15 +729,15 @@ msgstr "bayananka su na da imel maras motsi (baiyana matsaloli)."
msgid "errors.registration-disabled"
msgstr "rigitar ba ta yi ba."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "ba sauran masu fita daga tawaga, ba bu tabbacin gogewa."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "mamban da ka ke son sanyawa ba ya a ciki."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "mai abu ba ya barin tawaga, dole adubi matsayin mai abu."
@@ -773,35 +745,35 @@ msgstr "mai abu ba ya barin tawaga, dole adubi matsayin mai abu."
msgid "errors.unexpected-error"
msgstr "afkuwar kuskuren da ba a zata ba."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "tukuicin da ba a san da shi ba"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "hadin bai yi ba, ba a iya samun URL"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL bai gyaru ba."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "saqon qarshe bai je ba."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "kuskure kan farfaxo da SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "dakatarwa"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "matsalar da ba zata ba lokacin farfaxowa"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "matsayin da ba zato %s"
@@ -817,13 +789,13 @@ msgstr "tsohuwar lambar tsaro ba daidai ba ce"
msgid "feedback.description"
msgstr "bayani"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"mun yi farin ciki da samunka a nan. idan ka na da buqatar taimako sai ka "
"tuntuvi na gaba da kai matsayi."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "dangin fenfot"
@@ -837,11 +809,11 @@ msgstr ""
"bayyana dalilin imel dinka, faiyace idan akwai matsala, an shawarwari ko "
"hasashe. tawaga ko mamba za a kula da kai."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "tambayoyin da ke buqatar amsa."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "wurin karvar qorafin tiwita"
@@ -873,7 +845,7 @@ msgstr "sauke hanyar hoto"
msgid "inspect.attributes.shadow"
msgstr "inuwa"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "wurin daxa girma"
@@ -881,39 +853,27 @@ msgstr "wurin daxa girma"
msgid "inspect.attributes.stroke"
msgstr "yankewa"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "tsakiya"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "daga ciki"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "daga waje"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "tsara rubutu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "gidan salo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "girman salo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "tsarin salo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "tazarar harafi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "tsawon layi"
@@ -925,11 +885,11 @@ msgstr "babu"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "jan layi"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "yadda ake rubuta batu"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "qananan baqaqe"
@@ -937,7 +897,7 @@ msgstr "qananan baqaqe"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "babu"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "manyan baqaqe"
@@ -997,31 +957,31 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "rubutu"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "yanke"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "karva"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "mai amfani"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "inganta font"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "shugaba"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "duk"
@@ -1029,29 +989,29 @@ msgstr "duk"
msgid "labels.and"
msgstr "da"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "baya"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"ka jinkirta kaxan sannan ka qara gwadawa; mu na aiki daidai domin tattala "
"aikinmu."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "akwai matsala"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "sokewa"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "rufewa"
@@ -1059,11 +1019,11 @@ msgstr "rufewa"
msgid "labels.code"
msgstr "lamba"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "yabo"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "matattara"
@@ -1071,35 +1031,35 @@ msgstr "matattara"
msgid "labels.confirm-password"
msgstr "tabbatar da lambar tsaro"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "ci gaba"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "za ka iya ci gaba a idanka na fenfot"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "kwafar hanya"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "yi"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "yi sabuwar tawaga"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "shigar da sabon sunan tawaga"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "dashbod"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "goge"
@@ -1111,7 +1071,7 @@ msgstr "goge yabo"
msgid "labels.delete-comment-thread"
msgstr "goge rubutu"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "goge gayyata"
@@ -1119,31 +1079,31 @@ msgstr "goge gayyata"
msgid "labels.delete-multi-files"
msgstr "goge %s kundaye"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "ma su qirqira"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "vatar"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "adana"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "gyara"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "maigyara"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "daina aiki"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "fitarwa"
@@ -1155,43 +1115,43 @@ msgstr "kasa samun bayani"
msgid "labels.feedback-sent"
msgstr "aika bayani"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "ire-iren font"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "salo"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Font"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "taskar rubuce-rubuce"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "bada bayani"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "koma baya"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "sashen taimako"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "voye saqon da aka buxa"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "maras amfani"
@@ -1199,47 +1159,47 @@ msgstr "maras amfani"
msgid "labels.info"
msgstr "bayani"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "sanya fenfot"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "kuskuren ciki"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "teburin aiki"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "gayyata"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "harshe"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "taskoki & allunan talla"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "yi ko shiga"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "fita"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "kasuwanci"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "mamba"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "mambobi"
@@ -1247,35 +1207,35 @@ msgstr "mambobi"
msgid "labels.new-password"
msgstr "sabuwar lambar tsaro"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "na gaba"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "an dakatar da kai duka! Alamar sabon sharhi za ta fito nan."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "ba saqon da ba a buxa ba."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "alama!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "kundi 1"
msgstr[1] "kundaye %s"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "allo 1"
msgstr[1] "alluna %s"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "aiki"
@@ -1285,135 +1245,135 @@ msgstr[1] "aiyuka %s"
msgid "labels.old-password"
msgstr "tsohuwar lambar tsaro"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "idan akwai qari (bayyana)"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "mai"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "lambar tsaro"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "tukuna"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "can baya"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "shugaban aiki"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "kundi"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "aiyuka"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "bayar da bayani"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "cire"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "cire mamba"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "sake suna"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "sake suna tawaga"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "sake aika saqon gayyata"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "sake gwadawa"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "matsayi"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "ajiye"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "neman font"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "dauki wanda kake so"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "aika"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "aikawa…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "mu na cikin kula a tsarinka."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "ba sabis"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "gyara"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "taskoki"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "fito da yabo"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "jerin ire-iren yabo"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "bayyana na ka ra’ayin"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "zana"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "fara"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "daraja"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "malami ko dalibi"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "koyarwa"
@@ -1421,23 +1381,23 @@ msgstr "koyarwa"
msgid "labels.unpublish-multi-files"
msgstr "kundayen da ba a wallafa ba %s"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "sabunta"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "sabunta tawaga"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "xorawa"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Upload custom fonts"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "ana dorawa…"
@@ -1445,11 +1405,11 @@ msgstr "ana dorawa…"
msgid "labels.view-only"
msgstr "gani kaxai"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "ma su kallo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -1457,11 +1417,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "rubuta s abon yabo"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(kai)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "fagenka"
@@ -1489,61 +1449,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "qara “%s†xakin ajiya"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "jan hankali"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "tantance sabon imel"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"za mu aika maka da imel ta wannan imel xin “%s†domin tantance "
"shaidarka."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "sabon imel"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "sake imel"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "sake imel xinka"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "qirqirar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "qirqirar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "farashin URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://misali.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "ajiye asusu da soke shi"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "haka, goge asusu"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "idan ka cire asusunka za ka iya rasa aikin da ka kammala."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "ka tabbata ka na son goge asusunka?"
@@ -1591,31 +1551,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "goge salon font"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "goge font"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "ka tabbata kana son goge wannan shafin?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "goge shafi"
@@ -1631,31 +1591,31 @@ msgstr "ka tabbata kana son goge wannan aikin?"
msgid "modals.delete-project-confirm.title"
msgstr "goge aikin"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "goge kundi"
msgstr[1] "goge kundaye"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "ba zai yi aiki a kowane kundi ba."
msgstr[1] "ba za su yi aiki a kowane kundi ba."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "za a iya buxe wannan taskirar a nan: "
msgstr[1] "za a iya buxe taskirorin nan a nan: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "ka tabbata kana son goge wannan kundin?"
msgstr[1] "ka tabbata kana son goge waxannan kundayen?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "goge kundi"
@@ -1675,19 +1635,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "gogewar tawaga"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "goge memba"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "ka tabbata kana son cire wannan memban a wannan tawaar?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "cire memban tawaga"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -1697,141 +1657,141 @@ msgstr[1] ""
"duk aikin da aka yi a waxancan kundayen, can za a same su (ba zane da za "
"iya tsinkawa)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "goge webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "ka tabbata ka na son goge webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "gogewa webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "gyara webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "gyara webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "aika saqon"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "imel, rabawar waqafi"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"waxansu imel daga membobin qungiyar na yanzu. ba za a aikawa da gayyatarsu "
"ba ."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "gayyato membobi zuwa ga tawaga"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"ka tabbata memban tawaga kaxai, za ya iya goge tawaga tare da aikinta da "
"kundaye."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "ka tabbata ka na son fita daga %s tawaga?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Webhooks hanyar sanar da manhajoji da addireshi intanet idan wani ya faru a "
"Penpot. za a tura maka da saqon talla URLs ka samar da."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"kai ne mai wannan tawagar. zabi wani memba da za ya iya inganta wa mai shi "
"kafin ka fita."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "inganta sannan ka bari"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "zavi memba domin havakawa"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "kafin ka fita"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "barin tawaga"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "ka tabbata ka na son barin wannan tawagar?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "barin tawaga"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "adadin jan hankali"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "canza wurin mallaka"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"idan ka canza wurin mallaka, ba za ka iya sauya matsayin shugaba ba, "
"gazawar wasu dokokin wannan tawaagar. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "kai ke da wannan tawagar yanzu. ka tabbata kana son yin %s sabon mai tawaga?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "mallakar tawaga"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "wallafa"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "ba komai a taskarka. ka na son wallafa ta?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "wallafa taska maras komai"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "qaramin jan hankali"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "maras wallafa"
msgstr[1] "maras wallafa"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "ka tabbata ka na son rufe taskar nan?"
msgstr[1] "ka tabbata ka na son rufe taskokin nan?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "rufe taska"
@@ -1859,23 +1819,23 @@ msgstr "sabunta sashe a babbar taska"
msgid "notifications.by-code.upgrade-version"
msgstr "akwai sabon yayi."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "an aika da saqon"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "kwafar hanyar gayya"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "ba za ka iya goge kundin ba. ka jira umarnin tawaga ka fin ka ci gaba."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "an ajiye bayanai!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "an aika da imel din tantancewa %s. bincika imel xinka!"
@@ -1891,15 +1851,15 @@ msgstr "barka da zuwa fenfot!"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "bayan ka yi wa tawagarka suna, za ka iya gaiyato mutane ku hadu."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "gayyato mambobi"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "gayyata tare da bayar da matsayi:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "za mu fara!"
@@ -1945,43 +1905,43 @@ msgstr "fara tsarawa"
msgid "profile.recovery.go-to-login"
msgstr "je ka hanyar shiga"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "cire"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "gauraya"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Bayyana Ra'ayi"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "tsarin kasa"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "tsarin tsakiya ko ina"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "tsarin hagu"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "tsarin dama"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "tsarin sama"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "tsarin tsakiya a tsaye"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "kirkiri allo daga zabi"
@@ -1989,43 +1949,43 @@ msgstr "kirkiri allo daga zabi"
msgid "shortcuts.bold"
msgstr "fito da shi barobaro"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "ma'auni mabanbanci"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "kebentaccan ma'auni"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "ma'aunin abubuwa daban daban"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "ma'auni hadaka"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "tura zuwa baya"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "komawa baya"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "tura gaba"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "kawo zuwa gaba"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "goge sake"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "kwafi"
@@ -2033,35 +1993,35 @@ msgstr "kwafi"
msgid "shortcuts.create-new-project"
msgstr "samar da sabo abu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "cire"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "fito da shi waje"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "goge"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "fita da ga cikin net wok"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "rarraba abubuwan da su ke a ware"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Ratse"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "siffar kwai"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Allo"
@@ -2069,39 +2029,39 @@ msgstr "Allo"
msgid "shortcuts.draw-nodes"
msgstr "samar da hanya"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Hanya"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Ractangula"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "rubutaccan sako"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "maimaita"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "kubuta"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "samar da sabbabbin abubuwa"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "fitar da abubuwan da zai dace da ko wane abu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "kifa shi dai dai"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "kifa ta tsaye"
@@ -2125,23 +2085,23 @@ msgstr "ta fi zuwa rabbabben ma'ajiya"
msgid "shortcuts.go-to-search"
msgstr "gajeran sako"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "rukuni"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "raba ta tsaye"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "fito / boye UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "zuko ciki"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "sa hoto"
@@ -2149,7 +2109,7 @@ msgstr "sa hoto"
msgid "shortcuts.italic"
msgstr "juya zuwa kwantaccen rubuyu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "hada abubuwan"
@@ -2157,39 +2117,39 @@ msgstr "hada abubuwan"
msgid "shortcuts.line-through"
msgstr "danna layin duk"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "kirkiri kwana"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "kirkiri lankwasa"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "takunkumi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "hada da kauri"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "matsa"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Matsa kasa da sauri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Matsa hagu da sauri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "matsa dama da sauri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Matsa sama da sauri"
@@ -2197,293 +2157,293 @@ msgstr "Matsa sama da sauri"
msgid "shortcuts.move-nodes"
msgstr "matsa a hade"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Matsa da sashin kasa"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Matsa da sashin hagu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Matsa da sashin dama"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Matsa da sashin samu"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "wani tsari"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "babu gajeriyar hanya"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Saita dishi dishi zuwa kashi 100"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "saita dishi dishi zuwa kashi 10"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Saita dishi dishi zuwa kashi 20"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Seta dashi dashi zuwa kashi 50"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Saita dishi dishi zuwa kashi 40"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Saita dishi dishi zuwa kashi 50"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Saita dishi dishi zuwa kashi 60"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Saita dishi dishi zuwa kashi 70"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "seta dishi dishin zuwa kashi 8o"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Seta dish dishi zuwa 90"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "abin daukan kala"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "tafi inda 'yan kallo za su bayyana ra'ayi"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "tafi gaban allon"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "tafi sashin da 'yan kallo za su duba"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "tafi sashin da masu kallo suke hulda"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "tafi sashin da masu kallo suke hulda"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "tafi fagen aiki"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ko "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "manna"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "allon da ya gabata"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "gyara"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "zake zukowa"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "shikashikai"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "allon kallo"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Dankallo"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "fagen aiki"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "zabi duka"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "zabi wani shafi"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "zabi ainihin shafi"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "zabi shafin da ya gabata"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "raba kauri"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "nuna / boye akwatin pixel"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "nuna / boye yanken"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "yanke kauri"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "yanke zuwa ga akwatin pixel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "fara gyarawa"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "kwaskwarima"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Tace"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "gamayya"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Babbar kumshiya"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "gyara shimfida"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "shawagi"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "shawagi"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "shawagi"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "allon sarrarfav naura"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Hanya"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Siffa"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Rubutu"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Kayan aiki"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zukowa"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zukowa"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "saita babban yatsa"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "allon harufa yanke"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Danna a jere"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Danna kadara"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Danna launukan kala"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Danna yanayin maida hankali"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Danna fuskar ta cika duka"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Danna tarihi"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Danna shimfida"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Tara/fitar da lankwasashhiyar shimfida"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Rufe/bude"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Rufe rabo"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Juya zuwa launukan rubutu"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Nuna/boye"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Danna salon zukowa"
@@ -2491,67 +2451,67 @@ msgstr "Danna salon zukowa"
msgid "shortcuts.underline"
msgstr "Danna ta layi a kasa"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Cire"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Fita daka rukuni"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Cire takunkumi"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Rarraba ta tsaye"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Zuko raguwar ido"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Zuko karuwar ido"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zuko wanda aka zaba"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Tukunyar aje biro"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "samar da jerin harufa - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "jerin harufa - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "tsare tsare - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "nema - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Rababban dakin karatu- %s - Mazubin biruka"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Mazubin biruka - Tsara yanci ga tawaga"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "bada martani - Mazubin biruka"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Saiti - Mazubin biruka"
@@ -2559,27 +2519,27 @@ msgstr "Saiti - Mazubin biruka"
msgid "title.settings.password"
msgstr "Nambobin sirri - Mazubin biruka"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Karin bayani - Mazubin biruka"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Gayyata - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Yan kungiya - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Saiti - %s - Mazubin biruka"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "gidan yanar gizo - %s - Mazubin biruka"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - duba kumburi - Mazubin biruka"
@@ -2587,99 +2547,99 @@ msgstr "%s - duba kumburi - Mazubin biruka"
msgid "title.workspace"
msgstr "%s - Mazubin biruka"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Babu allon da aka samu a wannan fejin."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Ba'a sami allon ba."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Bayyana ra'ayi(%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Karka/ki nuna hulda"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Cika fuskar"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Duba (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Hulda"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Hulda (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kwafi mahada"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Nuna hulda"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Nuna hulda da an danna"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "taswirar wuri"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Sakon karshe ya isa."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Daidaita tsakiya a kwance (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "rarraba filin kwance (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Daidaita hagu (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Daidaita dama (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Daidaita kasa (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Daidaita a kwance tsakiya (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "rarraba filin tsaye (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Daidaita sama(%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "duka kadara"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "kala"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Bangarori"
@@ -2687,15 +2647,15 @@ msgstr "Bangarori"
msgid "workspace.assets.create-group"
msgstr "kirkiri rukuni"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "goge"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "maimaita"
@@ -2703,23 +2663,23 @@ msgstr "maimaita"
msgid "workspace.assets.duplicate-main"
msgstr "maimaita ainihin"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "tace"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "rukuni"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "sunan kungiya"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "dakin karatun gida"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "ba'a samu kadara ba"
@@ -2727,7 +2687,7 @@ msgstr "ba'a samu kadara ba"
msgid "workspace.assets.open-library"
msgstr "bude fiyal din dakin karatu"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "sake suna"
@@ -2735,43 +2695,43 @@ msgstr "sake suna"
msgid "workspace.assets.rename-group"
msgstr "sake sunan kungiyar"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "nemo kadarar"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "rababben dakin karatu"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "rubutun rubutu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "girma"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "tsarin salo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "fili a tsakanin haruffa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "tsawon layi"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "canja rubutu"
@@ -2779,15 +2739,15 @@ msgstr "canja rubutu"
msgid "workspace.assets.ungroup"
msgstr "kashe daga kungiya"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "tsarin maida hankali"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "karka maida hankali"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "maida hankali"
@@ -2799,151 +2759,151 @@ msgstr "a layi mikakke"
msgid "workspace.gradients.radial"
msgstr "a da'ira"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "kashe daidaitawa mai canjawa"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "kashe sikelin rabo"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "kashe tsinkewa zuwa mai jagora"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "kashe tsinkewa zuwa pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "bada damar daidaitawa mai canjawa"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "bada damar sikelin rabo"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Tsinke zuwa mai jagora"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Bda damar tsinkewa zuwa akwatin pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Boye allom suna"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "farantin launuka"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "boye pixel akwati"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "boye ma'auni"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "boye launukan yanayin tsarin rubutu"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Tace"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "fayil"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "taimako & bayani"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "fifiko"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "gani"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "sake"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "zabi duka"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Nuna sunayen allo"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "nuna launukan kala"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Nuna akwatin pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Nuna ma'auni"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Nuna launukan tsarin rubutu"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Cire"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Kara saitawa"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "an samu kuskure wajen adanawa"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "An adana"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Adanawa"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "yanayin kallo (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zuko"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "cike - cika sikeli"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "dace - ja sikeli ya dace da shi"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "zuko yayi daidai da ko'ina"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Cika allon"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "zuko zababbe"
@@ -2951,19 +2911,19 @@ msgstr "zuko zababbe"
msgid "workspace.layout-grid.editor.title"
msgstr "tace akwati"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Babu salon kaloli a ma'ajiya yanzu"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Babu rubutun rubutu a ma'ajiya yanzu"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "F"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "kalar yanzu"
@@ -2975,47 +2935,47 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Adana salon kala"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Ma'adanar fiyal"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "Ma'adana a wanna fiyal"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "ma'adanai"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "sabunta ma'adana"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Babu rabben ma'adanai da suke bukatar sabuntawa"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Babu daidaituwa da aka samu na “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Duba rabbaun ma'adanai"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "Rabban ma'adanai"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Sabuntawa"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "Aga duka canjin"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "sabuntawa"
@@ -3035,31 +2995,31 @@ msgstr "zabin dishi dishi"
msgid "workspace.options.canvas-background"
msgstr "bayan zane"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Matse abun ciki"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Bangarori"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Yin sharhin rubutu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kwafa"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Kirkiri sharhin rubuta"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Tace sharhin rubutu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Ainahin"
@@ -3103,11 +3063,11 @@ msgstr "sama"
msgid "workspace.options.constraints.topbottom"
msgstr "sama & kasa"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "zane"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "fitarwa"
@@ -3115,29 +3075,29 @@ msgstr "fitarwa"
msgid "workspace.options.export-multiple"
msgstr "Fitar da zababbun"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Kari na bayan baki"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "An gama fitarwa"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Ana fitarwa"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "An gaza fitarwa"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Fitarwa ba tsammani ta sami tsaiko"
@@ -3161,67 +3121,67 @@ msgstr "gudun farko"
msgid "workspace.options.grid.auto"
msgstr "da kanshi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "shafi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Kala"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "mahada"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "tsawo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "gefe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "saita a tsoho"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Kasa"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Tsakiya"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Hagu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Dama"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "mikewa"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "sama"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "yi amfani da tsoho"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "fadi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "layuka"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "murabba'i"
@@ -3233,11 +3193,11 @@ msgstr "Cika rukuni"
msgid "workspace.options.group-stroke"
msgstr "Ja layi a rukuni"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Tsawo"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Duba"
@@ -3449,99 +3409,99 @@ msgstr "yayin dannawa"
msgid "workspace.options.interactions"
msgstr "yayin hulda"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "kala"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "kala konanniya"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "kala gudajjiya"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "kara masa duhu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "banbanci"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "warewa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Haske mai muya"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Haske haske"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "kara masa haske"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "warewa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "sau"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "na kullum"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "mai rufi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "jikewa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "allo"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "haske mai sauki"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "tsawo mafi yawa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "fadi mafi yawa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "tsawo mafi kankanta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "fadi mafi kankanta"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "kaloli masu yawa"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Ma'ajiyar kaloli masu yawa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "dishi dishi"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "samfur"
@@ -3565,19 +3525,19 @@ msgstr "saman hagu"
msgid "workspace.options.radius-top-right"
msgstr "saman dama"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "da dimi dimi"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "sake"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "juyawa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "nemo jerin harufa"
@@ -3585,7 +3545,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "zababbabbin kaloli"
@@ -3641,47 +3601,47 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "fito da kaurin sosai"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "girma"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "yanayin girman yanayin"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "da'ira"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "mai daraja"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "mashi"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "ba komai"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "da'ira"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "murabba'i"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rectangle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangle"
@@ -3689,35 +3649,35 @@ msgstr "Triangle"
msgid "workspace.options.stroke-color"
msgstr "gigciye kalar"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "gigciye fadin"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "tsakiya"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "layin raba abu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "digo digo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "ciki"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "gauraya"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "waje"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "mai tauri"
@@ -3753,11 +3713,11 @@ msgstr "sarrafaffen fadi"
msgid "workspace.options.text-options.grow-fixed"
msgstr "dasa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "tazarar harafi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "tsahon layi"
@@ -3801,55 +3761,55 @@ msgstr "ja layi (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "fadi"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X layi"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y layi"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "zane da kauri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "hada kauri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "ta kwana (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Ta lankwasa (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "hade kauri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "tafi da kauri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "raba kauri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "tsinke kauri (%s)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "kara sassaukan tsarit"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "kara akwatin tsari"
@@ -3861,7 +3821,7 @@ msgstr "tura zuwa baya"
msgid "workspace.shape.menu.backward"
msgstr "tura zuwa baya"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "kwafi"
@@ -3869,27 +3829,27 @@ msgstr "kwafi"
msgid "workspace.shape.menu.create-annotation"
msgstr "kirkiri hoto mai motsi"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "zababban allo"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "kirkiri abubuwa"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "kirkiri abubuwa da yawa"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "cire"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "goge"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "goge kwararar farko"
@@ -3901,7 +3861,7 @@ msgstr "raba yanayin abin"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "raba yanayin abin"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "bambanci"
@@ -3909,15 +3869,15 @@ msgstr "bambanci"
msgid "workspace.shape.menu.duplicate"
msgstr "maimaita"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "tace"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "kebe"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "mikad da abu"
@@ -3929,7 +3889,7 @@ msgstr "kifa ta tsaye"
msgid "workspace.shape.menu.flip-vertical"
msgstr "kifa ta kwance"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "fara malala"
@@ -3941,39 +3901,39 @@ msgstr "kawo ta gaba"
msgid "workspace.shape.menu.front"
msgstr "kawo zuwa gaba"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "rukuni"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "boye"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "nuna / boye UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "mahada"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "kulle"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "takunkumik"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "manna"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "hanya"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "cire sassaukan tsari"
@@ -3989,11 +3949,11 @@ msgstr "saita ainihin wurin"
msgid "workspace.shape.menu.select-layer"
msgstr "zabi shimfida"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "nuna"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "nuna ta kusuwar kadara"
@@ -4009,19 +3969,19 @@ msgstr "cire girman babban danyatsa"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "kara kamar girman babban yatsa"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "raba rukunin"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "hadakan"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "bude"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "bude takunkumi"
@@ -4037,47 +3997,47 @@ msgstr "ruguza a'ajiyar bayani"
msgid "workspace.sidebar.expand"
msgstr "kara yankin ma'agiyar bayani"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "labari"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "shafi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "bangare"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "allo"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "rukuni"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "hoto"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "takunkumi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "nemo shimfida"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Siffa"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "rubutu"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "shigo da shi SVG halaye"
@@ -4085,7 +4045,7 @@ msgstr "shigo da shi SVG halaye"
msgid "workspace.sidebar.sitemap"
msgstr "shafi"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "taswirar wuri"
@@ -4093,51 +4053,51 @@ msgstr "taswirar wuri"
msgid "workspace.toolbar.assets"
msgstr "kadara"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "farantin kala (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "ra'ayi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "kwana(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "siffar kwai (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "allo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "hoto (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "motsa (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "hanya (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectangle (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "rubutu (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "rubutub rubutu (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "babu labaran da su ka canja a yanzu"
@@ -4277,18 +4237,18 @@ msgstr "rubutun rubuta kadara"
msgid "workspace.undo.entry.unknown"
msgstr "yanayi fiye da %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "watsar"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "bayanai masu yawa"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "a kwai na zamani a rababban ma'ajiya"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "sabintawas"
diff --git a/frontend/translations/he.po b/frontend/translations/he.po
index 38e7e83532..f038e49e7d 100644
--- a/frontend/translations/he.po
+++ b/frontend/translations/he.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Hebrew "
" \n"
"Language: he\n"
@@ -10,9 +10,9 @@ msgstr ""
"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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "כבר יש לך חשבון?"
@@ -32,7 +32,7 @@ msgstr "יצירת חשבון הדגמה"
msgid "auth.demo-warning"
msgstr "זה שירות ניסיוני, לא להשתמש בו לעבודה אמתית, המיזמים יימחקו מדי פעם בפעם."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "שכחת סיסמה?"
@@ -40,35 +40,35 @@ msgstr "שכחת סיסמה?"
msgid "auth.fullname"
msgstr "שם מלא"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "כניסה לחשבון שלי"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "כניסה מכאן."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot הוא כלי בקוד פתוח לשיתוף עיצוב וקוד"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID Connect"
@@ -76,7 +76,7 @@ msgstr "OpenID Connect"
msgid "auth.new-password"
msgstr "נא להקליד סיסמה חדשה"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "חברת אל %s"
@@ -92,7 +92,7 @@ msgstr "הפרופיל לא עבר אימות, נא לאמת את הפרופיל
msgid "auth.notifications.recovery-token-sent"
msgstr "קישור לשחזור סיסמה נשלח לתיבת הדוא״ל הנכנס שלך."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "הצטרפת לצוות בהצלחה"
@@ -124,7 +124,7 @@ msgstr "שכחת סיסמה?"
msgid "auth.recovery-submit"
msgstr "החלפת הסיסמה שלך"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "אין לך חשבון עדיין?"
@@ -136,7 +136,7 @@ msgstr "איך נפנה אליך בלוח הבקרה ובהודעות בדוא״
msgid "auth.register-account-title"
msgstr "השם שלך"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "יצירת חשבון"
@@ -149,7 +149,7 @@ msgstr "יצירת חשבון"
msgid "auth.terms-and-privacy-agreement"
msgstr "[תנאי השירות](%s) ו[מדיניות הפרטיות](%s) מקובלים עליי."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "תנאי השירות"
@@ -171,39 +171,39 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "לא נמצאו אנשים עבור @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "פרסום"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "כל משתמשי Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "להסיר את הקישור הזה? ביצוע פעולה זו תמנע מכולם לגשת אליו"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(נוכחי)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "השמדת קישור"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "קבלת קישור"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "הקישור הועתק בהצלחה"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "ניהול הרשאות"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "עמוד שותף"
@@ -211,51 +211,51 @@ msgstr[1] "%s עמודים שותפו"
msgstr[2] "%s עמודים שותפו"
msgstr[3] "%s עמודים שותפו"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "הרשאות תגובה"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "הרשאות לחקירת הקוד"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "כל מי שיש לו את הקישור יכול לגשת"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "עמודים ששותפו"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "הקישור לשיתוף יופיע כאן"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "רק חברי צוות"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "שיתוף אבות טיפוס"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "בחירה בהכול"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "ביטול פרסום"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "ניהול צוות"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot מיועד לצוותים. אפשר להזמין חברים כדי לעבוד ביחד על מיזמים וקבצים"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "להתגבש כקבוצה!"
@@ -271,47 +271,47 @@ msgstr "שחזור קובץ"
msgid "dashboard.add-file"
msgstr "הוספת קובץ"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "הוספת ספרייה משותפת"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "החלפת דוא״ל"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "העברת צוות"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "העברה אל:"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "בחירת ארגון"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "החלפת ארגון הצוות"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "פינוי האשפה"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(עותק)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "יצירת ארגון חדש"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "יצירת צוות חדש"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "נעיצת הגרסה הזאת"
@@ -319,7 +319,7 @@ msgstr "נעיצת הגרסה הזאת"
msgid "dashboard.default-team-name"
msgstr "ה־Penpot שלך"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr "למחוק את כל המיזמים והקבצים שלך לצמיתות? זאת פעולה בלתי הפיכה."
@@ -327,41 +327,41 @@ msgstr "למחוק את כל המיזמים והקבצים שלך לצמיתות
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "למחוק את %s לצמיתות? זאת פעולה בלתי הפיכה."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s קבצים נמחקו בהצלחה."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "מחיקה לצמיתות"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "מחיקת מיזם"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"למחוק את המיזם %s לצמיתות? הפעולה הזאת תמחק לצמיתות את כל הקבצים שבו. זאת "
"פעולה בלתי הפיכה."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s נמחק בהצלחה."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "מחיקת צוות"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "האשפה שלך ריקה. קבצים ומיזמים שנמחקו יופיעו כאן."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "%s יימחק"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "הורדת קובץ Penpot (.penpot)"
@@ -373,19 +373,19 @@ msgstr "שכפול"
msgid "dashboard.duplicate-multi"
msgstr "שכפול %s קבצים"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "כשאחד או אחת מחברי הצוות יוצרים טיוטה, היא תוצג כאן."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "אין טיוטות עדיין."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "כשחבר או חברה במיזם יוצרים קובץ, הוא יופיע כאן."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "אין קבצים עדיין."
@@ -432,23 +432,23 @@ msgstr "ייבוא קובץ .penpot"
msgid "dashboard.empty-project.start"
msgstr "נתחיל לבנות דברים מדהימים"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "אירעה שגיאה במחיקת הקבצים."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "אירעה שגיאה במחיקת המיזם %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "אירעה שגיאה בשחזור הקובץ %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "אירעה שגיאה בשחזור הקבצים."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "אירעה שגיאה בשחזור המיזם %s עם הקבצים שלו."
@@ -456,35 +456,35 @@ msgstr "אירעה שגיאה בשחזור המיזם %s עם הקבצים של
msgid "dashboard.export-binary-multi"
msgstr "הורדת %s קובצי Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "ייצוא לוחות אומנות כ־PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "ייצוא כ־PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "נבחרו %s מתוך %s רכיבים"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "ייצוא"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr "אפשר להוסיף הגדרות ייצוא לרכיבים ממאפייני העיצוב (מתחתית הסרגל שמשמאל)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "מידע על הגדרות ייצוא ב־Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "אין רכיבים עם הגדרות ייצוא."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "ייצוא הבחירה"
@@ -512,27 +512,27 @@ msgstr "תצוגת רשת"
msgid "dashboard.files-layout.list"
msgstr "תצוגת רשימה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "הגופן נמחק"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "להתעלם מהכול"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "גופנים שהעלית יופיעו כאן."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "אין גופנים מותאמים אישית עדיין."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "לאחר העלאת גופן בהתאמה אישית על ידי חברים, הוא יוצג כאן."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "נוסף גופן"
@@ -540,7 +540,7 @@ msgstr[1] "נוספו 2 גופנים"
msgstr[2] "נוספו %s גופנים"
msgstr[3] "נוספו %s גופנים"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -549,7 +549,7 @@ msgstr ""
"גופנים יחידה**. ניתן להעלות גופנים מהסוגים הבאים: **TTF, OTF ו־WOFF** (אחד "
"הסוגים יספיק)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -557,11 +557,11 @@ msgstr ""
"על כך מידע נוסף בסעיף זכויות התוכן של [תנאי השירות של Penpot](%s). אפשר גם "
"לקרוא גם על [רישוי גופנים](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "להעלות הכול"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -570,15 +570,15 @@ msgstr ""
"[זה]](https://vertical-metrics.netlify.app/). בנוסף, המלצתנו היא להשתמש "
"ב־[Transfonter](https://transfonter.org/) כדי לייצר גופני רשת ולתקן שגיאות. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "מעבר למסוף הניהול"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "ייבוא קובצי Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "אופס! לא הצלחנו לייבא את הקובץ הזה"
@@ -586,31 +586,31 @@ msgstr "אופס! לא הצלחנו לייבא את הקובץ הזה"
msgid "dashboard.import.bad-url"
msgstr "הייבוא נכשל. כתובת התבנית שגויה"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "לא הצלחנו לאמת את הקובץ הזה."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "נראה שהקובץ הזה פגום."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "לא כל הקבצים יובאו"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "בקבצים הבאים יש שגיאות:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "קבצים עם שגיאות לא יועברו."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "משהו השתבש בעת עיבוד הקובץ הזה."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "קובץ יובא בהצלחה."
@@ -618,7 +618,7 @@ msgstr[1] "%s קבצים יובאו בהצלחה."
msgstr[2] "%s קבצים יובאו בהצלחה."
msgstr[3] "%s קבצים יובאו בהצלחה."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "חלק מהקבצים הכילו פריטים שגויים שהוסרו."
@@ -626,55 +626,27 @@ msgstr "חלק מהקבצים הכילו פריטים שגויים שהוסרו.
msgid "dashboard.import.no-perms"
msgstr "אין לך הרשאה לייבא לצוות הזה"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "עיבוד צבעים"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "עיבוד רכיבים"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "עיבוד מדיה"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "עיבוד עמוד: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "עיבוד טיפוגרפיות"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "הנתונים נשלחים לשרת (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "נשלח קובץ: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "תימחקנה ההזמנות שמיועדות אל:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "תישלחנה מחדש ההזמנות שמיועדות אל:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "מחיקת הזמנות"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "שליחת הזמנות מחדש"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr "אין לך הרשאה להזמין אנשים להצטרף לצוות הזה או לערוך או למחוק הזמנות."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "הזמנת אנשים"
@@ -686,27 +658,27 @@ msgstr "עזיבת הארגון"
msgid "dashboard.leave-organization.toast"
msgstr "הורחקת מהארגון %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "עזיבת הצוות"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "ספריות ותבניות"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "כאן יש כמה ספריות ותבניות שאפשר להוסיף למיזם שלך"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "עיון ביותר כאלה והסברים כיצד לתרום להן"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "אירעה שגיאה בייבוא התבנית והיא לא ייובאה."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "ספריות משותפות"
@@ -714,7 +686,7 @@ msgstr "ספריות משותפות"
msgid "dashboard.loading-files"
msgstr "הקבצים שלך נטענים…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "הגופנים שלך נטענים…"
@@ -734,59 +706,59 @@ msgstr "העברה של %s קבצים אל"
msgid "dashboard.move-to-other-team"
msgstr "העברה לצוות אחר"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ קובץ חדש"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "קובץ חדש"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ מיזם חדש"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "מיזם חדש"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "לא נמצאו תוצאות לחיפוש אחר „%s”"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "אין לך הרשאות להוסיף צוותים לאף אחד מהארגונים שלך."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr "אסור לך ליצור צוותים בארגון %s. למידע נוסף, נא ליצור קשר עם בעלי הארגון."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"אסור לך למחוק צוותים שהם חלק מהארגון %s. למידע נוסף, נא ליצור קשר עם בעלי "
"הארגון."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"אסור לך להעביר צוותים שהם חלק מהארגון %s. למידע נוסף, נא ליצור קשר עם בעלי "
"הארגון."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "מיזמים נעוצים יופיעו כאן"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "התראות"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "כתובת הדוא״ל שלך עודכנה בהצלחה"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "כתובת הדוא״ל שלך אומתה בהצלחה"
@@ -798,11 +770,11 @@ msgstr "הגדרות ההתראות עודכנו"
msgid "dashboard.notifications.password-saved"
msgstr "הסיסמה נשמרה בהצלחה!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "הצגת התראות"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s חברים"
@@ -810,19 +782,19 @@ msgstr "%s חברים"
msgid "dashboard.open-in-new-tab"
msgstr "פתיחת קובץ בלשונית חדשה"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "אפשרויות"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "סידור לפי תפקיד"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "סידור לפי מצב"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "הארגון %s נמחק."
@@ -846,7 +818,7 @@ msgstr "מונית לבעלי הצוות הזה."
msgid "dashboard.permissions-change.viewer"
msgstr "מונית לצפות בצוות הזה."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "נעיצה/שחרור"
@@ -862,27 +834,27 @@ msgstr "לא ניתן לפענח את המניפסט/מצהר של התוסף"
msgid "dashboard.plugins.try-plugin"
msgstr "התנסות התוסף: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "קבצים נמחקים…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "קבצים משוחזרים…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "המחיקה איטית להחריד"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "השחזור איטי להחריד"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "מיזמים"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "להסיר את החשבון שלך?"
@@ -890,99 +862,99 @@ msgstr "להסיר את החשבון שלך?"
msgid "dashboard.removed-from-team"
msgstr "נגרעת מהצוות „%s”."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "הפעולה הזאת תשחזר את כל המיזמים והקבצים שלך. זאת פעולה שיכולה לארוך זמן מה."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "שחזור כל המיזמים והקבצים"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "לשחזר הכול"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s קבצים שוחזרו בהצלחה."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "שחזור מיזם"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "הפעולה הזאת תשחזר את המיזם %s ואת כל הקבצים שבו."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "שחזור מיזם"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s שוחזר בהצלחה."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "שמירת ההגדרות"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "חיפוש…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "מתבצע חיפוש אחר „%s”…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "ארגונים"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "צוותים"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "הוספה לארגון"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "בחירת ארגון:"
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "הזמנות ממתינות למשתמשים חיצוניים תבוטלנה."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr "כאן אפשר למצוא את כל הארגונים שלך שבהם מותר לך ליצור או להוסיף צוותים."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "בחירת ארגון"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "הוספת צוות לארגון"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "בחירת שפת מנשק משתמש"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "בחירת ערכת עיצוב"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot כהה (ברירת מחדל)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot בהיר"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "סגנון המערכת"
@@ -1046,11 +1018,11 @@ msgstr "עדכון הגדרות"
msgid "dashboard.settings.notifications.title"
msgstr "התראות"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "הצגת כל הקבצים"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "היסטוריית גרסאות"
@@ -1078,7 +1050,7 @@ msgstr[3] "הקבצים שלך שוכפלו בהצלחה"
msgid "dashboard.success-duplicate-project"
msgstr "המיזם שלך שוכפל בהצלחה"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "הקובץ שלך הועבר בהצלחה"
@@ -1090,179 +1062,179 @@ msgstr "הקבצים שלך הועברו בהצלחה"
msgid "dashboard.success-move-project"
msgstr "המיזם שלך הועבר בהצלחה"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s שייך מעתה ל־%s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "פרטי הצוות"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "חברי הצוות"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s לא שייך יותר ל־%s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "ארגון הצוות"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "הוספה לארגון"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "אין לך הרשאה להוסיף את הצוות הזה לאף אחד מהארגונים שלך."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "החלפת ארגון הצוות"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "אפשר להזמין רק אנשים מהארגון שלך."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "הצוות הזה אינו חלק מאף ארגון"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "הסרת צוות מארגון"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "מיזמי הצוות"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "הוספה למיזם שלך"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "ערכת עיצוב מנשק משתמש"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "תוצאות חיפוש"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "קבצים שנמחקו יישארו באשפה למשך"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s ימים. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "לאחר מכן, הם יימחקו לצמיתות."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr "אם התחרטת, אפשר לשחזר אותם או למחוק אותם לצמיתות מהתפריט של כל אחד מהקבצים."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "נא להקליד כדי לחפש"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "ביטול פרסום ספרייה"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "עדכון הגדרות"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "נושלת מחברות בארגון %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "בטא"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"תיצוג WebGL יכול לשפר את הביצועים אבל הוא בשלב בטא (התנסות) ועלול להיות "
"פחות יציב. חלק מההבדלים החזותיים עלולים להופיע בין משטח הציור, החומרים "
"המיוצאים (SVG/PDF) ומצב התצוגה."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "כבוי"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "פעיל"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "שליחת משוב"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "מצב"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "תיצוג עם WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "פעילה"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "כאשר ההתליה הזאת מופעלת פרטי האירוע יישלחו"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "אפשר למחוק או לשנות את ההתליות שיצרת."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "סוג תוכן"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "יצירת התליית רשת"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "התליית הרשת נוצרה בהצלחה."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"התליות רשת הן דרך פשוטה לאפשר לאתרים אחרים לקבל הודעות כשאירועים מסוימים "
"מתרחשים ב־Penpot. אנו נשלח בקשת POST לכל אחת מהכתובות שתצויינה."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "לחיצה על הכפתור „הוספת התליית רשת” תוסיף אחת."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "לא נוצרו התליות רשת עדיין."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "החשבון שלך"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "דוא״ל"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "שמך"
@@ -1278,11 +1250,11 @@ msgstr "תשומת לב"
msgid "ds.component-subtitle"
msgstr "רכיבים לעדכון:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "לאפשר"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "ביטול"
@@ -1302,7 +1274,7 @@ msgstr "אין אסימונים תקפים בערכות או בערכות העי
msgid "ds.inputs.numeric-input.no-matches"
msgstr "לא נמצאו תוצאות."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "פתיחת רשימת אסימונים"
@@ -1318,15 +1290,15 @@ msgstr "ספק האימות לא מורשה לפרופיל הזה"
msgid "errors.auth-provider-not-configured"
msgstr "לא מוגדר ספק אימות."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "נראה שלא עברת אימות או שתוקף ההפעלה פג."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "לא ניתן לטעון את הגופן %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "לא ניתן לטעון את הגופנים %s"
@@ -1338,57 +1310,57 @@ msgstr "לא ניתן להעלות את קובץ המדיה."
msgid "errors.character-limit-exceeded"
msgstr "הגעת למגבלת כמות התווים"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "אי אפשר להוסיף ספרייה: תיווצר תלות מעגלית בעקבות זאת"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"ה־API של לוח הגזירים לא זמין. יש לארח את Penpot דרך HTTPS כדי להפעיל גישה "
"ללוח גזירים"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "הדפדפן שלך לא יכול לבצע את הפעולה הזאת"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"הגישה ללוח הגזירים נדחתה. נא לספק הרשאה לוח הגזירים בדפדפן שלך כדי להדביק "
"תוכן"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "אירעה שגיאה עם ההערה"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"זה קובץ ישן שמשתמש בסוג של משאבי Penpot שאינם נתמכים עוד ואי אפשר לפתוח "
"אותו, מתנצלים."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "כדי שנוכל לעזור לך."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "למרות ש־Penpot לא תומך יותר בסוג המשאבים הזה, אפשר"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "ליצור איתנו קשר"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "לא ניתן לגרור סדרת הורה לתוך נתיב צאצא של עצמה."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "כתובת הדוא״ל כבר בשימוש"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "כתובת הדוא״ל כבר אומתה."
@@ -1400,29 +1372,29 @@ msgstr "אין לך אפשרות להשתמש בכתובת הדוא״ל שלך
msgid "errors.email-does-not-match-invitation"
msgstr "כתובת הדוא״ל לא תואמת את ההזמנה."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "שם התחום לא מורשה"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "לכתובת הדוא״ל „%s” יש יותר מדי דוחות החזרה קבועים."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "כתובת הדוא״ל „%s” דווחה כספאם או שההודעות תוקפצנה לצמיתות."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"נראה שניסית לפתוח קובץ בו פעילה היכולת ‚%s’ אבל מנשק ה־Penpot שלך לא תומך "
"בה או שהיא מושבתת."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "אין תמיכה ביכולת ‚%s’."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "חייב להכיל עד %s תווים."
@@ -1430,7 +1402,7 @@ msgstr "חייב להכיל עד %s תווים."
msgid "errors.field-min-length"
msgstr "חייב להיות באורך של תו אחד לפחות."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "שדה ריק"
@@ -1438,23 +1410,23 @@ msgstr "שדה ריק"
msgid "errors.field-not-all-whitespace"
msgstr "השם חייב לכלול כמה אותיות למעט רווח."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"נראה שאין התאמ בין היכולות הפעילות לבין הקובץ שניסית לפתוח. יש להחיל הסבות "
"עבור ‚%s’ לפני שיתאפשר לפתוח את הקובץ הזה."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"שם משפחת הגופן יכולה להכיל רק אותיות, מספרים, רווחים, מינוסים, קווים תחתיים "
"ונקודות."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "קרה משהו לא טוב."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "משהו השתבש עם מנגנון הדפדפן."
@@ -1470,7 +1442,7 @@ msgstr "נתונים שגויים"
msgid "errors.invalid-email"
msgstr "נא למלא כתובת דוא״ל תקפה בבקשה"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "כתובת הדוא״ל לאימות חייבת להיות תואמת"
@@ -1504,11 +1476,11 @@ msgstr "ההזמנה כנראה בוטלה או שתוקפה פג."
msgid "errors.ldap-disabled"
msgstr "אימות מול LDAP הושבת."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "הגעת למיכסת ה־‚%s’. נא ליצור קשר עם התמיכה."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "הגעת למספר הכתובות המרבי (%s) שאפשר להזמין בבקשה אחת"
@@ -1524,19 +1496,19 @@ msgstr "נראה כי תוכן התמונה לא תואם לסיומת הקוב
msgid "errors.media-type-not-allowed"
msgstr "נראה כי זאת תמונה שגויה."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "הודעות הדוא״ל לפרופיל שהזמנת מושתקות (דיווחים על דואר זבל או הרבה החזרות)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "מתבצעת הסבה"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "רק יוצר או יוצרת הגרסה יכולים לנעול אותה"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "רק יוצר או יוצרת הגרסה יכולים לשחרר את הנעילה שלה"
@@ -1548,7 +1520,7 @@ msgstr "אירעה תקלה בעזיבת הארגון. נא לנסות שוב."
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "בעלי הארגון לא יכולים לעזוב את הארגון."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "הארגון הזה לא קיים"
@@ -1560,7 +1532,7 @@ msgstr "סיסמת האימות חייבת להיות תואמת"
msgid "errors.password-too-short"
msgstr "הסיסמה חייבת להיות באורך 8 תווים לפחות"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "נתונים שגויים בלוח הגזירים"
@@ -1568,7 +1540,7 @@ msgstr "נתונים שגויים בלוח הגזירים"
msgid "errors.profile-blocked"
msgstr "הפרופיל חסום"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "הודעות הדוא״ל לפרופיל שלך מושתקות (דיווחי דואר זבל או הרבה החזרות)."
@@ -1576,19 +1548,19 @@ msgstr "הודעות הדוא״ל לפרופיל שלך מושתקות (דיוו
msgid "errors.registration-disabled"
msgstr "ההרשמה מושבתת כרגע."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "ה־SVG שגוי או פגום"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "התגלתה יכולת לא תואמת ‚%s’"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "אין מספיק חברים כדי לעזוב את הצוות, כנראה יהיה עליך למחוק אותו."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "החבר שניסית להקצות לא קיים."
@@ -1596,7 +1568,7 @@ msgstr "החבר שניסית להקצות לא קיים."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "רק בעלי הצוות יכולים למחוק אותו."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "הבעלים לא יכולים לעזוב את הקבוצה, עליך להעביר את תפקיד הבעלות."
@@ -1608,11 +1580,11 @@ msgstr "שם הצוות לא יכול להכיל אף אחת מהאותיות ה
msgid "errors.token-set-already-exists"
msgstr "כבר קיימת סדרה בשם הזה"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "לא ניתן להשלים את החיתוך, כבר קיימת סדרה באותו השם בנתיב."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "כבר קיימת אפשרות ערכת עיצוב באותו השם"
@@ -1624,11 +1596,11 @@ msgstr "ערכת העיצוב מתייחס לכל מיני ערכות שאינן
msgid "errors.tokens.circular-reference"
msgstr "לאסימון יש הפניה מעגלית"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr "גובה השורה תלוי בגודל הגופן. יש להוסיף גודל גופן כדי לקבל את הערך הפתור."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "השדה הזה לא יכול להישאר ריק"
@@ -1648,11 +1620,11 @@ msgstr "שגיאת ייבוא:"
msgid "errors.tokens.invalid-color"
msgstr "ערך צבע שגוי: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "ערך אסימון שגוי: אפשר להפנות לאסימון font-family (משפחת גופנים) בלבד"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"ערך משקל גופן שגוי: יש להשתמש בערכים מספריים (100-950) או שמות תקניים "
@@ -1674,31 +1646,31 @@ msgstr ""
"שמות האסימונים יכולים להכיל אותיות וספרות מופרדים בתווי . ואסור שיתחילו "
"בדולר ($)."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "סוג הצללה שגוי: רק ‚innerShadow’ או ‚dropShadow’ מורשים"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr "ערך אסימון שגוי: רק none, Uppercase, Lowercase או Capitalize מורשים"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "ערך אסימון שגוי: מותר רק none, underline ו־strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "ערך שגוי: יש להפנות לאסימון הצללה מורכבת."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "ערך שגוי: חייב להפנות לאסימון טיפוגרפיה מרוכב."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "ערך אסימון שגוי: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "חסרות הפניות אסימונים: "
@@ -1710,31 +1682,31 @@ msgstr "לא נמצאו אסימונים, סדרות או ערכות עיצוב
msgid "errors.tokens.number-too-large"
msgstr "ערך אסימון שגוי. הערך הפתור גדול מדי: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "שקיפות צריכה להיות בין 0 ל־100% או 0 ו־1 (כלומר 50% או 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "לאסימון יש הפניה עצמית"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "טשטוש הצל חייב להיות גדול או שווה ל־0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "התפרסות ההצללה חייב להיות גדולה או שווה ל־0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "עובי הקו חייב להיות גדול או שווה ל־0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "ערך שגוי: אסור %."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "ערך שגוי: אסור יחידות."
@@ -1742,55 +1714,55 @@ msgstr "ערך שגוי: אסור יחידות."
msgid "errors.unexpected-error"
msgstr "אירעה שגיאה בלתי צפויה."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "אסימון בלתי ידוע"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "הגרסה הזאת כבר נעולה"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "הגרסה הזאת נעולה ואחרים לא יכולים למחוק אותה"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "מספר גרסת הקובץ לא תואם"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL הפסיק לעבוד. נא לרענן את העמוד כדי לאפס אותו"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "אופס! הקשר לוח הציור אבד"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "שגיאת תקשורת, הכתובת אינה נגישה"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "הכתובת לא מעבירה תיקוף."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "ההעברה האחרונה לא הצליחה."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "שגיאה בתיקוף SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "תום זמן המתנה"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "שגיאה לא צפויה בעת תיקוף"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "המצב %s לא צפוי"
@@ -1810,15 +1782,15 @@ msgstr "תיאור"
msgid "feedback.description-placeholder"
msgstr "נא לתאר את הסיבה למשוב שלך"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "אנחנו שמחים שהצטרפת אלינו. לקבלת עזרה, נא לחפש בטרם פרסום הודעה."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "קהילת Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "דרכים אחרות ליצור איתנו קשר"
@@ -1840,11 +1812,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "ליצור איתנו קשר"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "כאן כדי לסייע בסוגיות טכניות."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "חשבון תמיכה ב־X"
@@ -1864,10 +1836,6 @@ msgstr "רעיון"
msgid "feedback.type.issue"
msgstr "בעיה"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "הורדת קבצים"
-
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "אירעה שגיאה"
@@ -1904,7 +1872,7 @@ msgstr "תצוגה מקדימה של תמונת מילוי הצורה"
msgid "inspect.attributes.shadow"
msgstr "צל"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "גודל ומיקום"
@@ -1912,43 +1880,31 @@ msgstr "גודל ומיקום"
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 "בחוץ"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "טיפוגרפיה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "משפחת גופנים"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "גודל גופן"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "סגנון גופן"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "ריווח תווים"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "גובה שורה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "משפחות גופנים מעורבבות"
@@ -1960,11 +1916,11 @@ msgstr "ללא"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "קו תחתי"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "ראשונות גדולות"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "אותיות קטנות"
@@ -1976,7 +1932,7 @@ msgstr "ללא"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "ביטול הגדרה"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "אותיות גדולות"
@@ -2096,23 +2052,23 @@ msgstr "ערך פתור:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "מאפייני הגוון"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "יצירת אסימון גישה חדש"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "לחיצה על הכפתור „יצירת אסימון גישה חדש” תיצור אחד."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "אין לך אסימון נכון לעכשיו."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "אסימוני גישה אישית"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"אסימוני גישה אישית מתנהגים כמו חלופה למערכת האימות באמצעות שם משתמש/סיסמה "
@@ -2194,45 +2150,45 @@ msgstr "מפתח ה־MCP יפוג ב־%s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "למפתח ה־MCP אין תאריך תפוגה"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr "שרת ה־MCP של Penpot מפעיל לקוחות MCP לתפעול ישיר של קובצי עיצוב של Penpot."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "איך להגדיר לקוחות MCP"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"זאת כתובת השרת שצריך להגדיר בלקוח ה־MCP שלך כדי שיוכל להתחבר לשרת ה־MCP של "
"Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "יצירת מפתח MCP מחדש"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "מפתח MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "מפתח ה־MCP נחוץ להקמת לקוח ה־MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "מצב"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "כבוי"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "פעיל"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr "התוקף של מפתח MCP המשמש לחיבור לשרת MCP פג. לכן, לא ניתן לתקשר."
@@ -2240,51 +2196,47 @@ msgstr "התוקף של מפתח MCP המשמש לחיבור לשרת MCP פג.
msgid "integrations.mcp-server.title"
msgstr "שרת MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "בטא"
-
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "לסמן הכול כנקרא"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "קיצורי דרך"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "על Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "מקובל"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "פעיל"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "הוספה"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "הוספת גופן משלך"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "מתווסף…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "ניהול"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "הכול"
@@ -2292,17 +2244,17 @@ msgstr "הכול"
msgid "labels.and"
msgstr "וגם"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "חזרה"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"נראה כאילו עליך להמתין מעט ולנסות שוב, אנו מבצעים עבודות תחזוקה פשוטות "
"בשרתים שלנו."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "שער גישה שגוי"
@@ -2310,15 +2262,15 @@ msgstr "שער גישה שגוי"
msgid "labels.blur"
msgstr "טשטוש"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "ביטול"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "סגירה"
@@ -2326,7 +2278,7 @@ msgstr "סגירה"
msgid "labels.code"
msgstr "קוד"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "צמצום"
@@ -2338,15 +2290,15 @@ msgstr "צבע"
msgid "labels.comment"
msgstr "הערה"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "הערות"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "קהילה"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "קהילה ותרומות"
@@ -2358,19 +2310,19 @@ msgstr "מחושב"
msgid "labels.confirm-password"
msgstr "אישור סיסמה"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "יצירת קשר עם התמיכה"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "יצירת קשר איתנו"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "להמשיך"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "אפשר להמשיך עם חשבון Penpot"
@@ -2382,31 +2334,31 @@ msgstr "העתקה"
msgid "labels.copy-color"
msgstr "העתקת צבע"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "העתקת קישור"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-עכשיו"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "יצירה"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "יצירת צוות חדש"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "נא למלא שם לצוות החדש"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "לוח בקרה"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "מחיקה"
@@ -2418,7 +2370,7 @@ msgstr "מחיקת הערה"
msgid "labels.delete-comment-thread"
msgstr "מחיקת שרשור"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "מחיקת הזמנה"
@@ -2426,23 +2378,23 @@ msgstr "מחיקת הזמנה"
msgid "labels.delete-multi-files"
msgstr "מחיקת %s קבצים"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "נמחקה"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "פיתוח"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "התעלמות"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "הורדת %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "טיוטות"
@@ -2450,27 +2402,27 @@ msgstr "טיוטות"
msgid "labels.duplicate"
msgstr "שכפול"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "עריכה"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "עורך"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "ריקה"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "שגיאה"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "התוקף פג"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "ייצוא"
@@ -2482,7 +2434,7 @@ msgstr "המשוב הושבת"
msgid "labels.feedback-sent"
msgstr "המשוב נשלח"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2490,55 +2442,55 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "מילוי"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "משפחת גופנים"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "סגנונות"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "גופנים"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "מאגר GitHub"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "הגשת משוב"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "חזרה"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "עיצוב גרפי"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "מרכז העזרה"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "עזרה ולמידה"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "הסתרה"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "הסתרת הערות שנפתרו"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "ייבוא"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "בלתי פעיל"
@@ -2546,51 +2498,51 @@ msgstr "בלתי פעיל"
msgid "labels.info"
msgstr "פירוט"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "גופנים מותקנים"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "שילובים"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "משהו גרוע התרחש."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "אפשר לנסות לבצע את הפעולה שוב או ליצור קשר עם התמיכה כדי לדווח על השגיאה."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "שגיאה פנימית"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "הזמנות"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "שפה"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "פריסה"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "מרכז הלמידה"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "ספריות ותבניות"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "בטעינה…"
@@ -2598,7 +2550,7 @@ msgstr "בטעינה…"
msgid "labels.lock"
msgstr "נעילה"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "כניסה או הרשמה"
@@ -2606,19 +2558,19 @@ msgstr "כניסה או הרשמה"
msgid "labels.login"
msgstr "כניסה"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "יציאה"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "שיווק"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "חבר"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "חברים"
@@ -2630,23 +2582,23 @@ msgstr "אזכור"
msgid "labels.new-password"
msgstr "סיסמה חדשה"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "הבאה"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr "Penpot לא זמין באופן זמני עקב תקלת מערכת. נא לנסות שוב בהקדם."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "עברת על הכול! התראות על הערות חדשות תופענה כאן."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "אין הזמנות ממתינות."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "אוספים יחד את האנשים ויוצרים דברים מדהימים."
@@ -2654,15 +2606,15 @@ msgstr "אוספים יחד את האנשים ויוצרים דברים מדהי
msgid "labels.no-matches"
msgstr "אין תוצאות"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "אופס!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "התראות"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "קובץ"
@@ -2670,7 +2622,7 @@ msgstr[1] "%s קבצים"
msgstr[2] "%s קבצים"
msgstr[3] "%s קבצים"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "לוח"
@@ -2678,7 +2630,7 @@ msgstr[1] "%s לוחות"
msgstr[2] "%s לוחות"
msgstr[3] "%s לוחות"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "מיזם"
@@ -2690,43 +2642,43 @@ msgstr[3] "%s מיזמים"
msgid "labels.old-password"
msgstr "סיסמה ישנה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "פתוח"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "אפשרויות"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "אחר (נא לפרט)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "אחר"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "בעלים"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "סיסמה"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "בהמתנה"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "יומן השינויים של Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "המרכז של Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "מיזמים נעוצים"
@@ -2734,31 +2686,31 @@ msgstr "מיזמים נעוצים"
msgid "labels.post"
msgstr "רשומה"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "הקודמת"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "עיצוב מוצר או חוויית לקוח"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "ניהול מוצר"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "פרופיל"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "מיזמים"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "אחרונות"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "הפניה"
@@ -2766,27 +2718,27 @@ msgstr "הפניה"
msgid "labels.refresh"
msgstr "ריענון"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "הודעות מהדורה"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "ריענון העמוד"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "הסרה"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "הסרת חבר"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "שינוי שם"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "שינוי שם לצוות"
@@ -2810,11 +2762,11 @@ msgstr "תגובה חדשה"
msgid "labels.reply.thread"
msgstr "תגובה"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "שליחה מחדש"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "שליחת ההזמנה מחדש"
@@ -2822,43 +2774,43 @@ msgstr "שליחת ההזמנה מחדש"
msgid "labels.restore"
msgstr "שחזור"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "ניסיון חוזר"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "תפקיד"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "שמירה"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "חיפוש"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "חיפוש גופן"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "בחירת אפשרות"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "שליחה"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "מתבצעת שליחה…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "אנחנו בהפוגת תחזוקה מתוכננת של המערכות שלנו."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "השירות אינו זמין"
@@ -2866,55 +2818,55 @@ msgstr "השירות אינו זמין"
msgid "labels.sets"
msgstr "סדרות"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "הגדרות"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "צל"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "שיתוף"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "ספריות משותפות"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "הצגה"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "הצגת כל ההערות"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "הצגת רשימת הערות"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "הצגת האזכורים שלך בלבד"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "הצגת ההערות שלך בלבד"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "מקורות"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "התחלה"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "מצב"
@@ -2922,7 +2874,7 @@ msgstr "מצב"
msgid "labels.stroke"
msgstr "קו מתאר"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "סטודנט/ית או מרצה"
@@ -2934,7 +2886,7 @@ msgstr "סגנונות"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "החלפה"
@@ -2942,19 +2894,19 @@ msgstr "החלפה"
msgid "labels.text"
msgstr "טקסט"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "ערכות עיצוב"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "מדריכים"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "טיפוגרפיה"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "שגיאה לא ידועה"
@@ -2966,35 +2918,31 @@ msgstr "שחרור נעילה"
msgid "labels.unpublish-multi-files"
msgstr "ביטול פרסום קובצי %s"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "עדכון"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "עדכון צוות"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "העלאה"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "העלאת גופנים משלך"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "מתבצעת העלאה…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "קובץ נשלח…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "הגוון"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "הערות לגרסה %s"
@@ -3002,7 +2950,7 @@ msgstr "הערות לגרסה %s"
msgid "labels.view-only"
msgstr "תצוגה בלבד"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "מציג"
@@ -3018,7 +2966,7 @@ msgstr[1] "שתי אזהרות"
msgstr[2] "%s אזהרות"
msgstr[3] "%s אזהרות"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "התליות"
@@ -3026,11 +2974,11 @@ msgstr "התליות"
msgid "labels.write-new-comment"
msgstr "כתיבת הערה חדשה"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(אני)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "החשבון שלך"
@@ -3170,7 +3118,7 @@ msgstr ""
"בחלק מהצוותים אין עוד חברים מלבדך. הצוותים האלה יימחקו על המיזמים והקבצים "
"שלהם."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "לפני עזיבת הארגון"
@@ -3178,77 +3126,77 @@ msgstr "לפני עזיבת הארגון"
msgid "modals.before-leave-organization.warning"
msgstr "כל צוות שבו אין עוד חברים מלבדך יימחק."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "הינד גדול"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "אישור כתובת דוא״ל חדשה"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "נשלח הודעה לכתובת הדוא״ל הנוכחית שלך „%s” כדי לאמת את הזהות שלך."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "כתובת דוא״ל חדשה"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "החלפת כתובת דוא״ל"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "החלפת כתובת הדוא״ל שלך"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "יצירת התליה"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "יצירת התליה"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "כתובת מטען"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "ביטול ושמירה על החשבון שלי"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "כן, למחוק את החשבון שלי"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "הסרת החשבון שלך תוביל לאיבוד כל המיזמים והארכיונים הקיימים שלך."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"זאת פעולה בלתי הפיכה. החשבון, המינויים והארגונים שלך יימחקו מיידית. גם "
"הגישה למיזמים ולקבצים הנוכחיים שלך תאבד."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "ארגונים שיימחקו"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s חברים"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s צוותים"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "למחוק את החשבון שלך?"
@@ -3300,19 +3248,19 @@ msgstr "למחוק %s קבצים?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "%s קבצים נמחקים"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "למחוק את סגנון הגופן הזה? הוא לא ייטען אם נעשה בו שימוש בקובץ."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "סגנון גופן נמחק"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "למחוק את הגופן הזה? הוא לא ייטען אם נעשה בו שימוש בקובץ."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "גופן נמחק"
@@ -3320,19 +3268,19 @@ msgstr "גופן נמחק"
msgid "modals.delete-organization-team-confirm.message"
msgstr "למחוק את הצוות הזה שהוא חלק מהארגון %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "למחוק את העמוד הזה?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "מחיקת עמוד"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "למחוק את העמודים הנבחרים?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "מחיקת עמודים"
@@ -3348,7 +3296,7 @@ msgstr "למחוק את המיזם הזה?"
msgid "modals.delete-project-confirm.title"
msgstr "מחיקת מיזם"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "מחיקת קובץ"
@@ -3356,7 +3304,7 @@ msgstr[1] "מחיקת קבצים"
msgstr[2] "מחיקת קבצים"
msgstr[3] "מחיקת קבצים"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "לא מופעל באף קובץ."
@@ -3364,7 +3312,7 @@ msgstr[1] "לא מופעלים באף קובץ."
msgstr[2] "לא מופעלים באף קובץ."
msgstr[3] "לא מופעלים באף קובץ."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "הספרייה הזאת מופעלת כאן: "
@@ -3372,7 +3320,7 @@ msgstr[1] "הספריות האלו מופעלות כאן: "
msgstr[2] "הספריות האלו מופעלות כאן: "
msgstr[3] "הספריות האלו מופעלות כאן: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "למחוק את הקובץ?"
@@ -3380,7 +3328,7 @@ msgstr[1] "למחוק את הקבצים?"
msgstr[2] "למחוק את הקבצים?"
msgstr[3] "למחוק את הקבצים?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "מחיקת קובץ"
@@ -3400,19 +3348,19 @@ msgstr "למחוק את הצוות הזה? כל המיזמים והקבצים ש
msgid "modals.delete-team-confirm.title"
msgstr "צוות נמחק"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "מחיקת חבר"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "למחוק את החבר הזה מהצוות?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "למחוק חבר בצוות"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] "נכסים שכבר נעשה בהם שימוש בקובץ הזה יישארו שם (אף עיצוב לא ייפגע)."
@@ -3420,23 +3368,23 @@ msgstr[1] "נכסים שכבר נעשה בהם שימוש בקבצים האלה
msgstr[2] "נכסים שכבר נעשה בהם שימוש בקבצים האלה יישארו שם (אף עיצוב לא ייפגע)."
msgstr[3] "נכסים שכבר נעשה בהם שימוש בקבצים האלה יישארו שם (אף עיצוב לא ייפגע)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "מחיקת התליה"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "למחוק את ההתליה?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "מחיקת התליה"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "עריכת התליה"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "עריכת התליה"
@@ -3452,15 +3400,15 @@ msgstr "ייבוא אסימונים"
msgid "modals.import-library-tokens.title"
msgstr "לייבא אסימונים מהספרייה?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "שליחת הזמנה"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "כתובות דוא״ל, מופרדות בפסיקים"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "חלק מהחברים כבר נמצאים בצוות. נזמין את השאר."
@@ -3468,83 +3416,83 @@ msgstr "חלק מהחברים כבר נמצאים בצוות. נזמין את ה
msgid "modals.invite-restricted-members.all-blocked-title"
msgstr "לא נשלחו הזמנות"
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "כתובות שלא יקבלו הזמנה"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "ביטול"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "אפשר להזמין רק חברים קיימים מהארגון הזה."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "שליחת הזמנות"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "חלק מההזמנות לא נשלחו"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "חלק מהאנשים ברשימה שלך לא יקבלו את ההזמנות."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"אפשר להזמין חברים לצוות כדי שיוכלו לגשת לקובץ הזה ולהיחשף לכל שאר קובצי "
"הצוות."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "הזמנת חברים לצוות"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "כיוון שאין עוד חברים בצוות הזה מלבדך, הצוות יימחק על כל המיזמים והקבצים שלו."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "ברצונך לעזוב את הצוות %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"אי אפשר לעזוב צוות אם אין חברים שאפשר לקדם לבעלות עליה. אולי עדיף למחוק את "
"הצוות."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "הבעלות על הצוות הזה בידיך. נא לבחור מישהו כדי לקידום לבעלות בטרם עזיבתך."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "קידום ועזיבה"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "נא לבחור חבר לקידום"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "בטרם עזיבתך"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "עזיבת צוות"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "לעזוב את הצוות הזה?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "עזיבת הצוות"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "העברה"
@@ -3552,7 +3500,7 @@ msgstr[1] "העברה"
msgstr[2] "העברה"
msgstr[3] "העברה"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "להעביר את הספרייה הזאת?"
@@ -3560,7 +3508,7 @@ msgstr[1] "להעביר את הספריות האלו?"
msgstr[2] "להעביר את הספריות האלו?"
msgstr[3] "להעביר את הספריות האלו?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "העברת ספרייה"
@@ -3568,45 +3516,45 @@ msgstr[1] "העברת ספריות"
msgstr[2] "העברת ספריות"
msgstr[3] "העברת ספריות"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "כמות ההינד"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "העברת בעלות"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"העברת בעלות תשנה את תפקידך לחלק מההנהלה תוך אובדן חלק מההרשאות שלך על הצוות "
"הזה. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "הצוות הזה הוא כרגע בבעלותך. להפוך את %s לבעלים החדשים של הצוות?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "בעלים חדשים לצוות"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "פרסום"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "הספרייה שלך ריקה. לפרסם אותה בכל זאת?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "פרסום ספרייה ריקה"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "הינד קטן"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "ביטול פרסום"
@@ -3614,7 +3562,7 @@ msgstr[1] "ביטול פרסום"
msgstr[2] "ביטול פרסום"
msgstr[3] "ביטול פרסום"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "לבטל את פרסום הספרייה הזאת?"
@@ -3622,7 +3570,7 @@ msgstr[1] "לבטל את פרסום הספריות האלו?"
msgstr[2] "לבטל את פרסום הספריות האלו?"
msgstr[3] "לבטל את פרסום הספריות האלו?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "ביטול פרסום ספרייה"
@@ -3648,23 +3596,23 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "עדכון רכיב בספריה משותפת"
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "הארגון שלך יימחק."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr "סך כל האחסון שלך, היסטוריית גרסאות אוטומטיות ותקופת שחזור קבצים יוגבלו."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr "הצוותים, המיזמים והקבצים לא יהיו עוד חלק מאף ארגון אך יישארו זמינים."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "מתי לשנמך:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "לעבור לתוכנית %s?"
@@ -3672,11 +3620,11 @@ msgstr "לעבור לתוכנית %s?"
msgid "nitrate.form.cancel-anytime"
msgstr "התשלום יעובד בסוף תקופת הניסיון. אפשר לבטל בכל עת."
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "העמוד לא קיים"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "שגיאת 404"
@@ -3692,11 +3640,11 @@ msgstr "שלחנו הודעת שחזור בדוא״ל אל"
msgid "not-found.login.sent-recovery-check"
msgstr "נא לבדוק בתיבת הדוא״ל שלך וללחוץ על הקישור כדי ליצור סיסמה חדשה."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "הרשמה בחינם"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "ולהתחיל להשתמש ב־Penpot תוך שניות!"
@@ -3704,63 +3652,63 @@ msgstr "ולהתחיל להשתמש ב־Penpot תוך שניות!"
msgid "not-found.made-with-love"
msgstr "נוצר באהבה ובקוד פתוח"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "כבר ביקשת גישה לקובץ הזה."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr "כבר ביקשת לגשת לקובץ הזה או לקבצים או מיזמים אחרים של הצוות הזה."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr "כבר ביקשת לגשת למיזם הזה או למיזמים או קבצים אחרים של הצוות הזה."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "כבר ביקשת לגשת למיזם הזה."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "בקשת גישה"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "חשוב לזכור שכתלות בהרשאת הבעלים תישלח אליך הזמנה לצוות."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "הבקשה שלך נשלחה כראוי!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "אין לך גישה לקובץ הזה."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "מעבר ל־Penpot שלך"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "כתלות בהרשאת הבעלים, תישלח אליך הזמנה לצוות."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "קובץ Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "אין לך גישה למיזם הזה."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "מיזם"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "כדי לגשת לקובץ הזה, אפשר לבקש מבעלי הקבוצה."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "כדי לגשת למיזם הזה, אפשר לבקש מבעלי הצוות."
@@ -3772,33 +3720,33 @@ msgstr "הפסקת תחזוקה: המערכת תושבת לעבודת תחזוק
msgid "notifications.by-code.upgrade-version"
msgstr "יש גרסה חדשה."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "ההזמנה הזאת לא זמינה יותר."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "ההזמנה נמחקה בהצלחה"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "ההזמנה נשלחה בהצלחה"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "קישור ההזמנה הועתק"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"אי אפשר למחוק את הפרופיל שלך. יש להקצות את הצוותים שלך מחדש בטרם המשך "
"בתהליך."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "הפרופיל נשמר בהצלחה!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "הודעת האימות נשלחה בדוא״ל אל %s. נא לבדוק את הדוא״ל שלך!"
@@ -3826,78 +3774,78 @@ msgstr "לאחר מתן שם לצוות שלך, יתאפשר לך להזמין
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "ליצור צוות"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "הזמנת חברים"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "הזמנה עם התפקיד:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "מתחילים!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "מייצר קוד אמיתי מעיצובים"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "יצירת מערכות עיצוב"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "יצירת אבטיפוס"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "עיצוב ממשק/חוויית משתמש של יישום"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "ציור קווי מתאר"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "לאיזו מטרה ישמש אותך Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"נשמח לדעת לאילו מטרות משמש אותך Penpot כדי שנוכל להמשיך ולשפר אותו למענך. "
"התשובות שלך יסייעו לנו לתעדף את היכולות החדשות ולהכווין אותך לדרך שהכי נכון "
"לך להתחיל בה."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "נשמח להכיר אותך"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "איזה מהכלים האלה הכי משמש אותך?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "מה אופי העבודה שלך?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "מה גודל החברה שלך?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "איפה כדאי להתחיל?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "חינוכי"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "אישי"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "עבודה"
@@ -3947,11 +3895,11 @@ msgstr "להתחיל לעצב"
msgid "profile.recovery.go-to-login"
msgstr "מעבר למסך הכניסה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "ניתוק"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "מעורב"
@@ -3963,35 +3911,35 @@ msgstr "הסרת צבע"
msgid "settings.select-this-color"
msgstr "בחירת פריטים שמשתמשים בסגנון הזה"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "הערות"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "יישור לתחתית"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "יישור למרכז אופקית"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "יישור שמאלה"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "יישור ימינה"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "יישור לראש"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "יישור למרכז אנכית"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "יצירת לוח מהבחירה"
@@ -3999,55 +3947,55 @@ msgstr "יצירת לוח מהבחירה"
msgid "shortcuts.bold"
msgstr "החלפת מצב מודגש"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "הבדל בוליאני"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "החרגה בוליאנית"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "הצלבה בוליאנית"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "איחוד בוליאני"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "שליחה אחורה"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "הרחקה לאחור"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "קידום"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "הבאה לחזית"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "פינוי ביטול"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "העתקה"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "העתקת קישור ללוח הגזירים"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "העתקת מאפיינים"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "יצירת רכיב / הגוון"
@@ -4055,35 +4003,35 @@ msgstr "יצירת רכיב / הגוון"
msgid "shortcuts.create-new-project"
msgstr "יצירת חדש"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "גזירה"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "התרחקות"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "מחיקה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "מחיקת מפרק"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "ניתוק רכיב"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "עיקול"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "אליפסה"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "לוח"
@@ -4091,39 +4039,39 @@ msgstr "לוח"
msgid "shortcuts.draw-nodes"
msgstr "ציור נתיב"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "נתיב"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "מרובע"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "טקסט"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "שכפול"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "ביטול"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "ייצוא צורות"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "כיוון תקריב כדי להציג הכול"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "היפוך אופקי"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "היפוך אנכי"
@@ -4147,23 +4095,23 @@ msgstr "מעבר לספריות המשותפות"
msgid "shortcuts.go-to-search"
msgstr "חיפוש"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "קבוצה"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "פיזור אופקית"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "הצגת/הסתרת מנשק משתמש"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "התקרבות"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "הוספת תמונה"
@@ -4171,7 +4119,7 @@ msgstr "הוספת תמונה"
msgid "shortcuts.italic"
msgstr "החלפת מצב נטוי"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "צירוף מפרקים"
@@ -4179,39 +4127,39 @@ msgstr "צירוף מפרקים"
msgid "shortcuts.line-through"
msgstr "החלפת מצב קו חוצה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "הפיכה לפינה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "הפיכה לעיקול"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "מסכה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "מיזוג מפרקים"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "העברה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "העברה למטה מהר"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "העברה שמאלה מהר"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "העברה ימינה מהר"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "העברה למעלה מהר"
@@ -4219,333 +4167,333 @@ msgstr "העברה למעלה מהר"
msgid "shortcuts.move-nodes"
msgstr "העברת מפרק"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "העברה למטה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "העברה שמאלה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "העברה ימינה"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "העברה למעלה"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "הלוח הבא"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "לא נמצאו קיצורי דרך"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "הגדרת אטימות ל־100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "הגדרת אטימות ל־10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "הגדרת אטימות ל־20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "הגדרת אטימות ל־30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "הגדרת אטימות ל־40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "הגדרת אטימות ל־50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "הגדרת אטימות ל־60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "הגדרת אטימות ל־70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "הגדרת אטימות ל־80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "הגדרת אטימות ל־90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "בוחר צבעים"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "מעבר לסעיף הערות צופים"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "מעבר ללוח בקרה"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "מעבר לסעיף חקירת צופה"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "מעבר לסעיף תפעול משתמש"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "מעבר לסעיף תפעול צופה"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "מעבר לסביבת עבודה"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " או "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "הדבקה"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "הדבקת מאפיינים"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "מנהל תוספים"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "לוח קודם"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "ביצוע חוזר"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "שינוי שם"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "איפוס תקריב"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "התאמת גודל"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "יסודות"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "לוח בקרה"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "מציג"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "סביבת עבודה"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "בחירה בהכול"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "בחירת השכבה הבאה"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "בחירת שכבת הורה"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "בחירת השכבה הקודמת"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "הפרדת מפרקים"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "הצגת/הסתרת רשת פיקסלים"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "הצגת/הסתרת קיצורי דרך"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "הצמדה למפרקים"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "הצמדה לרשת פיקסלים"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "התחלת עריכה"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "יישור"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "עריכה"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "כללי"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "תפריט ראשי"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "שינוי שכבות"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "ניווט"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "ניווט"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "ניווט"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "לוחות"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "נתיבים"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "צורות"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "טקסטים"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "כלים"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "תקריב"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "תקריב"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "הגדרת תמונות ממוזערות"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "קיצורי מקלדת"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "החלפת מצב יישור דינמי"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "החלפת מצב נכסים"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "החלפת מצב לוח צבעים"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "החלפת מצב מיקוד"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "החלפת מילוי מסך"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "הצגת / הסתרת קווים מנחים"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "החלפת הצגת היסטוריה"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "החלפת הצגת שכבות"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "הוספת/הסרת פריסת flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "הוספת/הסרת פריסת רשת"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "נעילת הנבחרים"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "נעילת יחסים"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "הצגת / הסתרת סרגלים"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "הצמדה לקווים מנחים"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "הצמדה לקווים מנחים סרגלים"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "החלפת לוח טקסט"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "החלפת ערכת עיצוב"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "החלפת מצב הצגה"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "החלפת סגנון תקריב"
@@ -4553,31 +4501,31 @@ msgstr "החלפת סגנון תקריב"
msgid "shortcuts.underline"
msgstr "החלפת מצב קו תחתי"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "ביטול"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "פירוק קבוצה"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "ביטול מסכה"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "פיזור אנכי"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "הקטנת עדשת תקריב"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "הגדלת עדשת תקריב"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "התמקדות על הנבחר"
@@ -4665,70 +4613,70 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "הזמנת אנשים תוך השתתפות בתוכנית הבלתי מוגבלת"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "מינוי"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "נא להוסיף שיטת תשלום כדי להמשיך להשתמש אחרי תקופת הניסיון"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "כל היתרונות של תוכנית מקצועית וגם:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "כל יתרונות התוכנית הבלתי מוגבלת וגם:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(× %s עורכים)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "מסחרי"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "תאגידית (ניסיונית)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90 ימי שמירת גרסאות אוטומטית ושחזור קבצים"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "חשבונית חודשית מוגבלת"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "אחסון בלתי מוגבל"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "ניהול המינוי שלך"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "הוספת פרטי תשלום"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"אפשר להוסיף את פרטי התשלום שלך היית כדי להשאיר את המינוי שלך פעיל ונטול "
"תקלות גם אחרי תקופת הניסיון וגם כדי להמשיך לתמוך במיזם הקוד הפתוח שלנו. לא "
"יתבצע שום חיוב עדיין."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "לדלג לבינתיים ולהתחיל בהתנסות"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "נשמח לסיוע בצמיחה ולהפוך את ההתנסות שלך לפשוטה יותר"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "נכון לעכשיו, יש משתמש/ת %s על פני הצוותים שלך שיכולים לערוך."
@@ -4736,130 +4684,130 @@ msgstr[1] "נכון לעכשיו, יש %s משתמשים/ות על פני הצו
msgstr[2] "נכון לעכשיו, יש %s משתמשים/ות על פני הצוותים שלך שיכולים לערוך."
msgstr[3] "נכון לעכשיו, יש %s משתמשים/ות על פני הצוותים שלך שיכולים לערוך."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"חשוב לציין: שנמוך לתוכנית נמוכה יותר תפחית את מקום האחסון ותקצר את "
"היסטוריית הגיבויים והגרסאות."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "עורכים"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "[בעלים, מנהלים ועורכים. צופים לא נספרים כעורכים)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"אי אפשר להגדיר פחות עורכים ממה שיש לך כרגע. יש לשנות את התפקיד (עריכה/הנהלה "
"לצפייה) לאנשים שלא עורכים קבצים בפועל דרך הגדרות הצוות."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "יחויב אחרי הניסיון. לא צריך כרגע כרטיס אשראי."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s** לחודש"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "החלת %s על הצוותים שלך"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"עצה: אפשר להגדיל את כמות המושבים שלך כעת ולהקדים את ההזמנות. עם יותר מ־25 "
"עורכים על פני הצוותים, אנו מציעים 175$ לחודש בלי חיובים נוספים."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "חברות ב־Penpot מאז: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "פרטים נוספים"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "תוכניות אחרות ב־Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "ארגון לחודש"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "מקצועי"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "גרסאות שנשמרות אוטומטית 7 ימים אחורה ושחזור קבצים"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 ג״ב אחסון"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "צוותים ללא הגבלה. עד 7 עורכים על פני הצוותים בבעלותך."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "מומלץ"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "המינוי שלך"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "התחלת ניסיון בחינם"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "הרשמה למינוי"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "אפשר לערוך את המינוי שלך בכל עת מעמוד ‚מינוי’ בפרטי החשבון שלך."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "מאחלים לך הנאה מהתוכנית שלך!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "תודה על הבחירה בתוכנית %s של Penpot!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "התוכנית שלך היא %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "להתנסות בחינם למשך 14 ימים"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "ללא הגבלה"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "ללא הגבלה (התנסות)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "גרסאות שנשמרות אוטומטית 30 ימים אחורה ושחזור קבצים"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "חשבון חודשי מוגבל"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 ג״ב אחסון"
@@ -4882,7 +4830,7 @@ msgstr "כדי להגדיל את מסגרת המגבלה, נא ליצור קשר
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "כדי להגדיר את מסגרת המגבלה הזאת, נא [לשדרג את התוכנית שלך|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "הזמנה נבחרה"
@@ -4890,35 +4838,35 @@ msgstr[1] "שתי הזמנות נבחרו"
msgstr[2] "%s הזמנות נבחרו"
msgstr[3] "%s הזמנות נבחרו"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "ספקי גופנים - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "גופנים - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "מיזמים - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "חיפוש - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "ספריות משותפות - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - חופש עיצובי לצוותים"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "הגשת משוב - Penpot"
@@ -4926,7 +4874,7 @@ msgstr "הגשת משוב - Penpot"
msgid "title.settings.notifications"
msgstr "התראות - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "הגדרות - Penpot"
@@ -4934,27 +4882,27 @@ msgstr "הגדרות - Penpot"
msgid "title.settings.password"
msgstr "סיסמה - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "פרופיל - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "הזמנות - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "חברים - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "הגדרות - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "התליות - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - מצב תצוגה - Penpot"
@@ -4966,99 +4914,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "ניתוק אסימון"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "לא נמצאו לוחות בעמוד."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "הלוח לא נמצא."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "הערות (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "לא להציג אינטראקציות"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "מסך מלא"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "חקירה (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "אינטראקציות"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "אינטראקציות (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "העתקת קישור"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "הצגת פעילויות"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "הצגת פעילויות בקליק"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "מפת אתר"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "ההעברה האחרונה הצליחה."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "(%s) יישור למרכז האופקי"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "(%s) פיזור ריווח אופקי"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "(%s) יישור שמאלה"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "(%s) יישור ימינה"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "(%s) יישור למטה"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "(%s) יישור למרכז אנכית"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "(%s) פיזור בריווח אנכי"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "(%s) יישור למעלה"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "הוספת ספרייה"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "כל המשאבים"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "צבעים"
@@ -5070,7 +5018,7 @@ msgstr "הוספת צבע"
msgid "workspace.assets.component-group-options"
msgstr "אפשרויות קבוצת רכיבים"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "רכיבים"
@@ -5078,7 +5026,7 @@ msgstr "רכיבים"
msgid "workspace.assets.components.add-component"
msgstr "הוספת רכיב"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s הגוונים"
@@ -5086,15 +5034,15 @@ msgstr "%s הגוונים"
msgid "workspace.assets.create-group"
msgstr "יצירת קבוצה"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "הפריטים שלך יקבלו אוטומטית שם בסגנון „שם קבוצה / שם פריט”"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "מחיקה"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "שכפול"
@@ -5102,39 +5050,39 @@ msgstr "שכפול"
msgid "workspace.assets.duplicate-main"
msgstr "שכפול הראשי"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "עריכה"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "סינון"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "תצוגת טבלה"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "קבוצה"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "שם קבוצה"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "תצוגת רשימה"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "ספרייה מקומית"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "ניהול ספרייה"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "לא נמצאו משאבים"
@@ -5142,7 +5090,7 @@ msgstr "לא נמצאו משאבים"
msgid "workspace.assets.open-library"
msgstr "פתיחת קובץ ספרייה"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "שינוי שם"
@@ -5150,11 +5098,11 @@ msgstr "שינוי שם"
msgid "workspace.assets.rename-group"
msgstr "שינוי שם קבוצה"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "חיפוש במשאבים"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "ספרייה משותפת"
@@ -5166,43 +5114,43 @@ msgstr[1] "שני רכיבים"
msgstr[2] "%s רכיבים"
msgstr[3] "%s רכיבים"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "מיון"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "טיפוגרפיות"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "הוספת טיפוגרפיה"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "גודל"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "סגנון גופן"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "מעבר לקובץ ספריית סגנון כדי לערוך"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "ריווח תווים"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "גובה שורה"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "שצ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "התמרת טקסט"
@@ -5214,63 +5162,63 @@ msgstr "פירוק קבוצה"
msgid "workspace.colorpicker.color-tokens"
msgstr "אסימוני צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "אי אפשר לקנן את הרכיבים בתוך עצמם."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "לא ניתן לכבות/להדליק חלק מהעותקים. אי אפשר לקנן את הרכיבים בתוך עצמם."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "יצירת שטח"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "יצירת לוח"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "מיזוג תאים"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "הוספת עמודה מימין"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "הוספת עמודה משמאל"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "מחיקת עמודה"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "מחיקת עמודה וצורות"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "שכפול עמודה"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "הוספת שורה מתחת"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "הוספת שורה למעלה"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "מחיקת שורה"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "מחיקת שורה וצורות"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "שכפול שורה"
@@ -5278,15 +5226,15 @@ msgstr "שכפול שורה"
msgid "workspace.debug.title"
msgstr "כלי ניפוי שגיאות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "מצב מיקוד"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "מיקוד כבוי"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "מיקוד פעיל"
@@ -5298,191 +5246,191 @@ msgstr "מדרג קווי"
msgid "workspace.gradients.radial"
msgstr "מדרג מעגלי"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "השבתת יישור דינמי"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "השבתת קנה מידה יחסי"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "השבתת הצמדה לקווים המנחים"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "השבתת הצמדה לפיקסל"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "השבתת הצמדה לקווים מנחים סרגלים"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "הפעלת יישור דינמי"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "הפעלת קנה מידה יחסי"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "הצמדה לקווים מנחים"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "הפעלת הצמדה לפיקסל"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "הצמדה לקווים מנחים סרגלים"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "הסתרת שמות לוחות"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "הסתרת קווים מנחים"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "הסתרת ערכת צבעים"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "הסתרת רשת פיקסלים"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "הסתרת סרגלים"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "הסתרת לוח גופנים"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "עריכה"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "קובץ"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "עזרה ומידע"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "העדפות"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "תצוגה"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "ביצוע מחדש"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "לבחור הכול"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "הצגת שמות לוחות"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "הצגת קווים מנחים"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "הצגת ערכת צבעים"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "הצגת רשת פיקסלים"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "הצגת סרגלים"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "הצגת לוח גופנים"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "החלפה לערכת עיצוב כהה"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "החלפה לערכת עיצוב בהירה"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "החלפה לערכת עיצוב כמו המערכת"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "החזרה"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "איפוס"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "שגיאה בשמירה"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "נשמר"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "בשמירה"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "שיתוף"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "מצב תצוגה (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "תקריב"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "מילוי - שינוי גודל כדי למלא"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "התאמה - שינוי גודל כדי להתאים"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "כיוון תקריב כדי להציג הכול"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "מסך מלא"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "התמקדות על הנבחר"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "עריכת רשת"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "יציאה מהמערכת"
@@ -5490,7 +5438,7 @@ msgstr "יציאה מהמערכת"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "ריפוד מלמטה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "הצגת אפשרויות ריפוד עם 4 צדדים"
@@ -5526,11 +5474,11 @@ msgstr "בוצע"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "איתור"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "איתור פריסת הרשת"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "צבע"
@@ -5538,19 +5486,19 @@ msgstr[1] "שני צבעים"
msgstr[2] "%s צבעים"
msgstr[3] "%s צבעים"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "אין עדיין סגנונות צבע בספרייה שלך"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "עדיין אין סוגי טיפוגרפיה בספרייה שלך"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "ספריית קבצים"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "צבעים אחרונים"
@@ -5562,7 +5510,7 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "שמירת סגנון צבע"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "רכיב"
@@ -5570,27 +5518,27 @@ msgstr[1] "שני רכיבים"
msgstr[2] "%s רכיבים"
msgstr[3] "%s רכיבים"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "מחובר אל"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "או להוסיף כמה מאלה לניסיון:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "אין ספריות משותפות בצוות שלך, אפשר לחפש אחר"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "כל מיני תבניות כאן"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "ספריית קבצים"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "פריט גרפיקה"
@@ -5598,43 +5546,43 @@ msgstr[1] "שני פריטי גרפיקה"
msgstr[2] "%s פריטי גרפיקה"
msgstr[3] "%s פריטי גרפיקה"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "ספריות בקובץ הזה"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "ספריות"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "עדכוני ספרייה"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "בטעינה…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "אין ספריות משותפות שדורשות עדכון"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "לא נמצאו תוצאות לחיפוש אחר „%s”"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "חיפוש בספריות המשותפות"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "ספריות משותפות"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "חיבור ספרייה"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "טיפוגרפיה אחת"
@@ -5642,19 +5590,19 @@ msgstr[1] "שתי טיפוגרפיות"
msgstr[2] "%s טיפוגרפיות"
msgstr[3] "%s טיפוגרפיות"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "ניתוק ספרייה"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "עדכון"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "הצגת כל השינויים"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "עדכונים"
@@ -5690,111 +5638,111 @@ msgstr "החלת/הסרת טשטוש"
msgid "workspace.options.canvas-background"
msgstr "רקע משטח ציור"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "חיתוך התוכן"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "רכיב"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "הסבר"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "העתקה"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "יצירת הסבר"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "עריכת הסבר"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "ראשי"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "החלפת רכיב"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "עדיין אין נכסים בתיקייה הזאת"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "לא מקושר"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "מעבר לרכיב הראשי"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"לרכיב הזה יש הגוונים סותרים. נא לוודא שלכל אחד מההגוונים יש סדרה ייחודית של "
"ערכי מאפיינים."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "איתור הגוונים כפולים"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "לחלק מההגוונים יש מאפיינים וערכים זהים"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "להגוונים האלה יש מאפיינים וערכים זהים."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "להגוון הזה יש מאפיינים וערכים זהים להגוון אחר."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "לחלק מההגוונים האלה יש מאפיינים וערכים זהים."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"לרכיב הזה יש הגוונים עם שמות שגויים. נא לוודא שכל אחד מההגוונים מיושר עם "
"המבנה הנכון."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "איתור הגוונים שגויים"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "לחלק מההגוונים יש שמות שגויים"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "איתור הגוונים שגויים"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "להגוונים האלה יש שמות שגויים."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "להגוון הזה יש שם שגוי."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "לחלק מההגוונים האלה יש שם שגוי."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[מאפיין]=[ערך], [מאפיין]=[ערך]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "לנסות להשתמש במבנה הבא:"
@@ -5828,7 +5776,7 @@ msgstr "יש את אותה רמת ההיררכיה."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "קבוצות, לוחות ופריסות נחשבים לשווי ערך."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "איך הגוונים נשארים מחוברים"
@@ -5872,11 +5820,11 @@ msgstr "עליון"
msgid "workspace.options.constraints.topbottom"
msgstr "עליון ותחתון"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "עיצוב"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "ייצוא"
@@ -5884,7 +5832,7 @@ msgstr "ייצוא"
msgid "workspace.options.export-multiple"
msgstr "ייצוא הבחירה"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "ייצוא רכיב"
@@ -5892,31 +5840,31 @@ msgstr[1] "ייצוא %s רכיבים"
msgstr[2] "ייצוא %s רכיבים"
msgstr[3] "ייצוא %s רכיבים"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "הוספת ייצוא"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "הסרת ייצוא"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "סיומת"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "הייצוא הושלם"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "מתבצע ייצוא…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "הייצוא נכשל"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "הייצוא אטי בהגזמה"
@@ -5932,7 +5880,7 @@ msgstr "הוספת מילוי"
msgid "workspace.options.fill.remove-fill"
msgstr "הסרת מילוי"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "שינוי גודל הלוח כדי שיתאים לתוכן"
@@ -5956,67 +5904,67 @@ msgstr "הזרימה מתחילה"
msgid "workspace.options.grid.auto"
msgstr "אוטומטי"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "עמודות"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "מרזב"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "גובה"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "שול"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "הגדרה כבררת מחדל"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "תחתון"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "מרכז"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "שמאל"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "ימין"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "מתיחה"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "עליון"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "להשתמש בבררת המחדל"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "רוחב"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "שורות"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "ריבוע"
@@ -6028,7 +5976,7 @@ msgstr "מילוי קבוצה"
msgid "workspace.options.group-stroke"
msgstr "מתאר קבוצה"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "הוספת קו מנחה"
@@ -6036,19 +5984,19 @@ msgstr "הוספת קו מנחה"
msgid "workspace.options.guides.remove-guide"
msgstr "הסרת קו מנחה"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "קווים מנחים"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "הצגת/הסתרת קו מנחה"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "גובה"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "חקירה"
@@ -6264,107 +6212,107 @@ msgstr "אינטראקציות"
msgid "workspace.options.interactions.add-interaction"
msgstr "הוספת אינטראקציה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "צריבת צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "בריחת צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "החשכה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "הבדל"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "הדרה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "אור קשיח"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "גוון"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "הבהרה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "תאורה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "הכפלה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "רגיל"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "שכבת על"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "רוויה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "מסך"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "אור רך"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "הצגת/הסתרת שכבה"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "גובה מרבי"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "רוחב מרבי"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "גובה מזערי"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "רוחב מזערי"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "צבעים נוספים"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "צבעי ספרייה נוספים"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "עוד אסימוני צבע"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "אטימות"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "אבטיפוס"
@@ -6396,19 +6344,19 @@ msgstr "צמצום רדיוס עצמאי"
msgid "workspace.options.radius.show-single-corners"
msgstr "הצגת רדיוס עצמאי"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "אחרונים"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "לנסות שוב"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "סיבוב"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "חיפוש גופן"
@@ -6416,7 +6364,7 @@ msgstr "חיפוש גופן"
msgid "workspace.options.select-a-shape"
msgstr "נא לבחור צורה, לוח או קבוצה כדי לגרור חיבור ללוח אחר."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "צבעים נבחרים"
@@ -6484,55 +6432,55 @@ msgstr "הצגת/הסתרת הצללה"
msgid "workspace.options.show-fill-on-export"
msgstr "הצגה בייצואים"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "להציג במצב הצגה"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "גודל"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "תבניות גודל"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "נעילת יחס"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "שחרור יחס"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "עיגול"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "יהלום"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "חץ"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "ללא"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "עגול"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "ריבוע"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "מרובע"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "משולש"
@@ -6540,7 +6488,7 @@ msgstr "משולש"
msgid "workspace.options.stroke-color"
msgstr "צבע מתאר"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "עובי מתאר"
@@ -6548,35 +6496,35 @@ msgstr "עובי מתאר"
msgid "workspace.options.stroke.add-stroke"
msgstr "הוספת צבע מתאר"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "מרכז"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "מקווקוו"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "מנוקד"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "בפנים"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "מעורב"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "בחוץ"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "הסרת מתאר"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "אחיד"
@@ -6612,11 +6560,11 @@ msgstr "רוחב אוטומטי"
msgid "workspace.options.text-options.grow-fixed"
msgstr "קבוע"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "ריווח תווים"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "גובה שורה"
@@ -6660,197 +6608,197 @@ msgstr "קו תחתי (%s)"
msgid "workspace.options.use-play-button"
msgstr "ניתן להשתמש בכפתור הנגינה שבכותרת כדי להריץ את תצוגת האבטיפוס."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "עובי"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "ציר X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "ציר Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "ציור מפרקים (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "צירוף מפרקים (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "לפינה (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "לעיקול (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "מיזוג מפרקים (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "העברת מפרקים (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "הפרדת מפרקים (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "הצמדת מפרקים (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "פתיחה"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "חשיפת [תוספים נוספים](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "עדיין לא מותקן אף תוסף"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "המצהר/מניפסט של התוסף שגוי."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "צריך הרשאות עריכה כדי להשתמש בתוסף הזה"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "התוסף לא קיים או שהכתובת שגויה."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "התקנה"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "תוספים מותקנים"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "מנהל תוספים"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "תוספים"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "לעדכן את התוסף הזה"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "התוסף הזה השתנה מאז שפתחת אותו. עכשיו הוא רוצה גם לגשת אל:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "התחלת הורדות קבצים."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "אחסון נתונים בדפדפן."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "קריאת התגובות שלך ומתן מענה עליהן."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "לקרוא ולשנות את ההערות שלך ולהגיב בשמך."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "קריאת התוכן של קבצים שלמשתמשים יש גישה אליהם."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "קריאה ושינוי התוכן של קבצים שלמשתמשים יש גישה אליהם."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"נא לשים לב שהתוסף הזה נוצר על ידי גוף חיצוני, לכן כדאי לוודא שהוא אמין לפי "
"שמעניקים לו גישה. פרטיות ואבטחת המידע שלך חשובים לנו. במקרה של ספק נא ליצור "
"קשר עם התמיכה."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "קריאת הספריות והמשאבים שלך."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "קריאה ושינוי הספריות והמשאבים שלך."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "התוסף ‚%s’ רוצה לגשת אל:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "קריאת פרטי הפרופיל של המשתמש הנוכחי."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "רשימת תוספים"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "הסרת תוסף"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "נא למלא כתובת תוסף"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "תוספים"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "לא עכשיו"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"מעניין אותך להציץ? בחירה בזה תיפתח בטיוטה חדשה לצוות הנוכחי שלך. (אם לא, "
"תמיד אפשר למצוא אותו בתוספים המותקנים של כל קובץ שהוא.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "תוסף ‚%s’ מותקן למשתמש שלך!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "התנסות בתוסף"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "הוספת פריסת flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "הוספת פריסת רשת"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "הוספת פריסה"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "יצירת הגוון"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "הוספת מאפיין חדש"
@@ -6862,7 +6810,7 @@ msgstr "הרחקה"
msgid "workspace.shape.menu.backward"
msgstr "הרחקה לאחור"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "שילוב כהגוון"
@@ -6870,7 +6818,7 @@ msgstr "שילוב כהגוון"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "הרכיבים צריכים להיות באותו העמוד"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "העתקה"
@@ -6906,27 +6854,27 @@ msgstr "העתקה כטקסט"
msgid "workspace.shape.menu.create-annotation"
msgstr "יצירת הסבר"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "בחירה ללוח"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "יצירת רכיב"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "יצירת מגוון רכיבים"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "גזירה"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "מחיקה"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "מחיקת התחלת זרימה"
@@ -6938,7 +6886,7 @@ msgstr "ניתוק מופע"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "הפרדת מופעים"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "הבדל"
@@ -6946,15 +6894,15 @@ msgstr "הבדל"
msgid "workspace.shape.menu.duplicate"
msgstr "שכפול"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "עריכה"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "החרגה"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "שיטוח"
@@ -6966,7 +6914,7 @@ msgstr "היפוך אופקי"
msgid "workspace.shape.menu.flip-vertical"
msgstr "היפוך אנכי"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "התחלת זרימה"
@@ -6978,31 +6926,31 @@ msgstr "קידום"
msgid "workspace.shape.menu.front"
msgstr "קידום לחזית"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "קבוצה"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "הסתרה"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "הצגת/הסתרת מנשק משתמש"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "הצלבה"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "נעילה"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "מסכה"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "הדבקה"
@@ -7010,27 +6958,27 @@ msgstr "הדבקה"
msgid "workspace.shape.menu.paste-props"
msgstr "הדבקת מאפיינים"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "נתיב"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "הסרת פריסת flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "הסרת פריסת רשת"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "הסרת פריסה"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "הסרת מאפיין"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "להגוון חייב להיות מאפיין אחד לפחות"
@@ -7054,11 +7002,11 @@ msgstr "שחזור הגוון"
msgid "workspace.shape.menu.select-layer"
msgstr "בחירת שכבה"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "הצגה"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "הצגה בלוח משאבים"
@@ -7074,19 +7022,19 @@ msgstr "הסרת התמונה הממוזערת"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "הגדרה כתמונה ממוזערת"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "פירוק קבוצה"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "איחוד"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "שחרור נעילה"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "ביטול מסכה"
@@ -7102,51 +7050,51 @@ msgstr "צמצום סרגל צד"
msgid "workspace.sidebar.expand"
msgstr "הרחבת סרגל צד"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "היסטוריה"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "שכבות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "רכיבים"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "מסנן"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "לוחות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "קבוצות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "תמונות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "מסכות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "איתור…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "צורות"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "מאפייני SVG יובאו"
@@ -7158,7 +7106,7 @@ msgstr "עמודים"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "הוספת עמוד"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "מפת אתר"
@@ -7178,7 +7126,7 @@ msgstr "הוספת סדרה לקבוצה הזאת"
msgid "workspace.tokens.add-token"
msgstr "הוספת אסימון: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "חל על"
@@ -7198,7 +7146,7 @@ msgstr "גודל כתב בסיס"
msgid "workspace.tokens.base-font-size.error"
msgstr "גודל הכתב הבסיסי חייב להיות ערך בפיקסלים או ללא יחידות."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "צבע"
@@ -7206,7 +7154,7 @@ msgstr "צבע"
msgid "workspace.tokens.create-new-theme"
msgstr "אפשר ליצור את ערכת העיצוב הראשונה שלך עכשיו."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "ליצור אחד."
@@ -7226,7 +7174,7 @@ msgstr "מחיקת ערכת עיצוב"
msgid "workspace.tokens.duplicate"
msgstr "שכפול אסימון"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "עותק"
@@ -7274,7 +7222,7 @@ msgstr "תצוגה מקדימה:"
msgid "workspace.tokens.export.single-file"
msgstr "קובץ בודד"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "גודל גופן או {כינוי}"
@@ -7282,7 +7230,7 @@ msgstr "גודל גופן או {כינוי}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "שגיאה בהגדרת משקל/סגנון גופן. סגנון הגופן הזה לא קיים בגופן הנוכחי"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "משקל גופן (300, מודגש נטוי…) או {כינוי}"
@@ -7318,7 +7266,7 @@ msgstr "בריבוי קבצים, שם / נתיב הקובץ הם השמות המ
msgid "workspace.tokens.import-single-file"
msgstr "בקובץ JSON יחיד, המפתחות ברמה העליונה חייבים להיות שמות הסדרה של האסימונים."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "ייבוא אסימונים"
@@ -7326,17 +7274,17 @@ msgstr "ייבוא אסימונים"
msgid "workspace.tokens.import-warning"
msgstr "ייבוא אסימונים ידרוס את כל האסימונים הנוכחיים, הסדרות וערכות העיצוב שלך."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "לא פעילה"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"הסדרה הזאת לא פעילה. יש להחליף את ערכת העיצוב או להפעיל את הסדרה הזאת כדי "
"לראות את השינויים באשנב"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "להשתמש באסימונים עצמאיים"
@@ -7356,11 +7304,11 @@ msgstr "ערכת עיצוב"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "הוספת ערכת עיצוב (למשל: בהירה)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "ריווח תווים או {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "גובה שורה (מכפיל, פיקסלים, %) או {כינוי}"
@@ -7376,11 +7324,11 @@ msgstr "גודל מרבי"
msgid "workspace.tokens.min-size"
msgstr "גודל מזערי"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "הפניה חסרה"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "אפשר לראות את האפשרויות בלחיצה על כפתור העכבר הימני"
@@ -7396,7 +7344,7 @@ msgstr "אין ערכת עיצוב פעילה"
msgid "workspace.tokens.no-permisions-set"
msgstr "נדרשות הרשאות עריכה כדי להפעיל / להשבית סדרות"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "נדרשות הרשאות עריכה כדי להשתמש בערכות עיצוב"
@@ -7408,7 +7356,7 @@ msgstr "עדיין לא מוגדרות סדרות. נא ליצור אחת קוד
msgid "workspace.tokens.no-sets-yet"
msgstr "אין סדרות עדיין."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "אין ערכות עיצוב."
@@ -7424,7 +7372,7 @@ msgstr "לא למפות מחדש"
msgid "workspace.tokens.num-active-sets"
msgstr "%s סדרות פעילות"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "ערך מקורי: %s"
@@ -7436,11 +7384,11 @@ msgstr "ריפודים"
msgid "workspace.tokens.radius"
msgstr "רדיוס"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "נא למלא כינוי לטיפוגרפיית אסימון"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "נא למלא כינוי הצללת אסימון"
@@ -7456,7 +7404,7 @@ msgstr "למפות את כל האסימונים שמשתמשים ב־`%s` ל־`%
msgid "workspace.tokens.remap-warning-time"
msgstr "הפעולה הזאת עלולה לארוך זמן מה."
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "ערך פתור: %s"
@@ -7488,27 +7436,27 @@ msgstr "כאן אפשר להגדיר את גודל הכתב הבסיסי, שמג
msgid "workspace.tokens.settings"
msgstr "הגדרות אסימונים"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "הוספת הצללה"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "טשטוש"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "כיווץ פנימה"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "הסרת הצללה"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "התפרסות"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "ערך הטשטוש לא יכול להיות שלילי"
@@ -7516,11 +7464,11 @@ msgstr "ערך הטשטוש לא יכול להיות שלילי"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "ערך הפריסה לא יכול להיות שלילי"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -7542,31 +7490,31 @@ msgstr "רשימת ערכות עיצוב"
msgid "workspace.tokens.token-description"
msgstr "תיאור"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "בחירת משפחת גופנים"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "משפחת גופנים"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "משפחת גופנים או רשימת גופנים מופרדת בפסיקים (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "שם"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "כבר קיים אסימון בנתיב: %s או בקידומת תואמת."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "אורך השם חייב להיות תו אחד לפחות"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" הוא לא שם תקף לאסימון.\n"
@@ -7577,11 +7525,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "ערך"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "נא למלא ערך או כינוי עם {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "אסימונים - %s"
@@ -7599,11 +7547,11 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "הסוג ‚%s’ לא נתמך (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "להשתמש בהפניה"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "הערך לא תקף"
@@ -7611,55 +7559,55 @@ msgstr "הערך לא תקף"
msgid "workspace.toolbar.assets"
msgstr "משאבים"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "ערכת צבעים (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "הערות (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "עיקול (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "אליפסה (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "לוח (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "תמונה (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "העברה (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "נתיב (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "תוספים (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "ריבוע (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "טקסט (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "טיפוגרפיות (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "הצגת/הסתרת סרגל כלים"
@@ -7672,7 +7620,7 @@ msgstr "בוצע"
msgid "workspace.top-bar.view-only"
msgstr "**חקירת קוד** (צפייה בלבד)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "אין שינויים היסטוריים עד כה"
@@ -7812,19 +7760,19 @@ msgstr "משאב טיפוגרפי"
msgid "workspace.undo.entry.unknown"
msgstr "פעולה על %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "התעלמות"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "מידע נוסף"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "יש עדכונים בספריות המשותפות"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "עדכון"
diff --git a/frontend/translations/hi.po b/frontend/translations/hi.po
index 7d0d01d99d..96f4dba300 100644
--- a/frontend/translations/hi.po
+++ b/frontend/translations/hi.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: VKing9 \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Hindi "
" \n"
"Language: hi\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "पहले से खाता है?"
@@ -33,7 +33,7 @@ msgstr ""
"यह डेमो सेवा है, असली काम के लिए न इस्तेमाल करें, प्रोजेक्ट्स समय-समय पर "
"हटाए जाएंगे।"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "पासवर्ड भूल गए?"
@@ -41,35 +41,35 @@ msgstr "पासवर्ड भूल गए?"
msgid "auth.fullname"
msgstr "पूरा नाम"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "मेरे खाते में लॉग इन करें"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "यहाँ लॉग इन करें।"
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "पेनपॉट एक मुफ़्त ओपन-सोर्स डिज़ाइन टूल है जो डिज़ाइन और कोड सहयोग के लिए है"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "openID"
@@ -89,7 +89,7 @@ msgstr "प्रोफ़ाइल अभी सत्यापित नही
msgid "auth.notifications.recovery-token-sent"
msgstr "पासवर्ड रिकवरी लिंक आपके इनबॉक्स में भेज दिया गया है।"
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "टीम में सफलतापूर्वक शामिल हो गए"
@@ -121,7 +121,7 @@ msgstr "पासवर्ड भूल गए?"
msgid "auth.recovery-submit"
msgstr "अपना पासवर्ड बदलें"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "अभी तक कोई खाता नहीं?"
@@ -133,7 +133,7 @@ msgstr "हमें बताएं कि आपको डैशबोर्
msgid "auth.register-account-title"
msgstr "आपका नाम"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "खाता बनाएं"
@@ -146,7 +146,7 @@ msgstr "खाता बनाएं"
msgid "auth.terms-and-privacy-agreement"
msgstr "मैं [सेवा की शर्तें](%s) और [गोपनीयता नीति](%s) से सहमत हूँ।"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "सेवा की शर्तें"
@@ -166,93 +166,93 @@ msgstr "कोई रंग tokens उपलब्ध नहीं है। स
msgid "comments.mentions.not-found"
msgstr "@%s के लिए कोई व्यक्ति नहीं मिला"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "प्रकाशित"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "सभी पेनपॉट उपयोगकर्ता"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"क्या आप वाकई इस लिंक को हटाना चाहते हैं? अगर आप इसे हटाते हैं, तो यह किसी "
"के लिए भी उपलब्ध नहीं रहेगा"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(वर्तमान)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "लिंक नष्ट करें"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "लिंक प्राप्त करें"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "लिंक सफलतापूर्वक कॉपी किया गया"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "अनुमतियाँ सेट करें"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 पृष्ठ साझा किया गया"
msgstr[1] "%s पृष्ठ साझा किए गए"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "टिप्पणी कर सकते हैं"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "कोड देख सकते हैं"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "लिंक रखने वाला कोई भी व्यक्ति पहुंच सकता है"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "साझा किए गए पृष्ठ"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "साझा करने योग्य लिंक यहां दिखाई देगा"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "केवल टीम के सदस्य"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "प्रोटोटाइप्स साझा करें"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "सभी चुनें"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "अप्रकाशित"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "टीम प्रबंधन"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot टीमों के लिए है। परियोजनाओं और फ़ाइलों पर साथ काम करने के लिए "
"सदस्यों को आमंत्रित करें"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "टीम बनाओ!"
@@ -268,27 +268,27 @@ msgstr "फ़ाइल पुनर्स्थापित करें"
msgid "dashboard.add-file"
msgstr "फ़ाइल जोड़ें"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "साझी लाइब्रेरी के रूप में जोड़ें"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "ईमेल बदलें"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "कचरा साफ़ करें"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(कॉपी)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "नई टीम बनाएं"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "इस संस्करण को पिन करें"
@@ -296,7 +296,7 @@ msgstr "इस संस्करण को पिन करें"
msgid "dashboard.default-team-name"
msgstr "आपका पेनपॉट"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"क्या आप वाकई अपने सभी डिलीट किए गए प्रोजेक्ट और फाइलों को हमेशा के लिए "
@@ -308,42 +308,42 @@ msgstr ""
"क्या आप वाकई %s को हमेशा के लिए हटाना चाहते हैं? यह एक अपरिवर्तनीय कार्रवाई "
"है।"
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "% फ़ाइलों को सफलतापूर्वक हटा दिया गया है।।"
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "हमेशा के लिए हटाएं"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "प्रोजेक्ट हटाएँ"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"क्या आप वाकई %s प्रोजेक्ट को हमेशा के लिए हटाना चाहते हैं? आप इसे और इसमें "
"मौजूद सभी फाइलों को हमेशा के लिए हटाने जा रहे हैं। यह एक अपरिवर्तनीय "
"प्रक्रिया है।"
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s सफलतापूर्वक हटा दिया गया है।"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "टीम हटाएं"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "आपका ट्रैश खाली है। डिलीट की गई फ़ाइलें और प्रोजेक्ट यहाँ दिखाई देंगे।"
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "% हटा दिया जाएगा"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "पेनपोट फ़ाइल (.penpot) डाउनलोड करें"
@@ -355,19 +355,19 @@ msgstr "नकल करें"
msgid "dashboard.duplicate-multi"
msgstr "%s फ़ाइलों की नकल करें"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "जैसे ही एक परियोजना सदस्य एक ड्राफ्ट बनाता है, वह यहाँ प्रदर्शित होगा।"
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "अभी तक कोई ड्राफ्ट नहीं है।"
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "जैसे ही एक परियोजना सदस्य एक फ़ाइल बनाता है, वह यहाँ प्रदर्शित होगी।"
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "अभी तक कोई फ़ाइल नहीं।"
@@ -415,15 +415,15 @@ msgstr "एक .penpot फ़ाइल आयात करें"
msgid "dashboard.empty-project.start"
msgstr "शानदार चीज़ें बनाना शुरू करें"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "फ़ाइलों को हटाने के दौरान त्रुटि हुई।"
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "प्रोजेक्ट %s को डिलीट करते समय एक त्रुटि हुई।"
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "फ़ाइल %s को रिस्टोर करते समय एक त्रुटि हुई।"
@@ -431,37 +431,37 @@ msgstr "फ़ाइल %s को रिस्टोर करते समय
msgid "dashboard.export-binary-multi"
msgstr "%s Penpot फ़ाइलें (.penpot) डाउनलोड करें"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "बोर्ड्स को PDF के रूप में निर्यात करें"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "PDF के रूप में निर्यात करें"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s में से %s तत्व चयनित किए गए"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "निर्यात"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"आप डिज़ाइन गुणों (दाएँ साइडबार के नीचे) से तत्वों में निर्यात सेटिंग्स जोड़ "
"सकते हैं।"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "पेनपोट पर निर्यात सेट करने की जानकारी।"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "निर्यात सेटिंग वाले कोई तत्व नहीं हैं।"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "निर्यात चयन"
@@ -471,35 +471,35 @@ msgid_plural "dashboard.file-menu.delete-files-permanently-option"
msgstr[0] "फ़ाइल हटाएँ"
msgstr[1] "फ़ाइलें हटाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "फ़ॉन्ट गायब है"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "सभी हटा दें"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "आप जो कस्टम फ़ॉन्ट्स अपलोड करेंगे, वे यहाँ दिखाई देंगे।"
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "अभी तक कोई कस्टम फ़ॉन्ट नहीं।"
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"जब कोई परियोजना सदस्य कोई कस्टम फ़ॉन्ट अपलोड करेगा, तो वह यहां प्रदर्शित "
"किया जाएगा।"
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "1 फ़ॉन्ट जोड़ा गया"
msgstr[1] "%s फ़ॉन्ट जोड़े गए"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -509,7 +509,7 @@ msgstr ""
"जाएगा। आप निम्नलिखित प्रारूपों में फ़ॉन्ट्स अपलोड कर सकते हैं: **TTF, OTF "
"और WOFF** (एक ही प्रारूप पर्याप्त होगा)।"
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -519,11 +519,11 @@ msgstr ""
"लाइसेंसिंग](https://www.typography.com/faq) के बारे में भी पढ़ना चाह सकते "
"हैं।"
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "सभी अपलोड करें"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -534,15 +534,15 @@ msgstr ""
"[Transfonter](https://transfonter.org/) का उपयोग करके वेबफ़ॉन्ट्स जनरेट "
"करने और त्रुटियों को ठीक करने की सलाह देते हैं। "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "एडमिन कंसोल पर जाएं"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "पेनपॉट फ़ाइलें आयात करें"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "उफ्फ! हम इस फ़ाइल को आयात नहीं कर पाए"
@@ -550,25 +550,25 @@ msgstr "उफ्फ! हम इस फ़ाइल को आयात नह
msgid "dashboard.import.bad-url"
msgstr "आयात विफल हुआ. टेम्पलेट URL ग़लत है"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "सभी फ़ाइलें आयात नहीं की गई हैं"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "निम्नलिखित फ़ाइलों में त्रुटियाँ हैं:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "त्रुटिपूर्ण फ़ाइलें अपलोड नहीं की जाएंगी।"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "1 फ़ाइल सफलतापूर्वक आयात की गई।"
msgstr[1] "%s फ़ाइलें सफलतापूर्वक आयात की गईं।"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "कुछ फ़ाइलों में अवैध ऑब्जेक्ट्स थे जिन्हें हटा दिया गया है।"
@@ -576,77 +576,49 @@ msgstr "कुछ फ़ाइलों में अवैध ऑब्जे
msgid "dashboard.import.no-perms"
msgstr "आपको इस टीम में आयात करने की अनुमति नहीं है"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "रंगों की प्रोसेसिंग हो रही है"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "कंपोनेंट्स की प्रोसेसिंग हो रही है"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "मीडिया की प्रोसेसिंग हो रही है"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "पृष्ठ प्रोसेस हो रहा है: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "टाइपोग्राफ़ी की प्रोसेसिंग हो रही है"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "सर्वर पर डेटा अपलोड किया जा रहा है (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "फ़ाइल अपलोड हो रही है: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "आप निम्न आमंत्रणों को हटाने जा रहे हैं:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "आप निम्नलिखित को पुनः निमंत्रण भेजने जा रहे हैं:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "निमंत्रण हटाएँ"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "निमंत्रण पुनः भेजें"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "लोगों को आमंत्रित करें"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "टीम छोड़ें"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "लाइब्रेरी और टेम्पलेट्स"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"यहाँ कुछ लाइब्रेरीज़ और टेम्पलेट्स हैं जिन्हें आप अपने प्रोजेक्ट में जोड़ "
"सकते हैं"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "इनमें से और अधिक एक्सप्लोर करें और जानें कि आप कैसे योगदान दे सकते हैं"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "टेम्पलेट आयात करने में समस्या आई। टेम्पलेट आयात नहीं किया गया।"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "लाइब्रेरीज़"
@@ -654,7 +626,7 @@ msgstr "लाइब्रेरीज़"
msgid "dashboard.loading-files"
msgstr "आपकी फ़ाइलें लोड हो रही हैं…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "आपके फ़ॉन्ट लोड हो रहे हैं…"
@@ -674,39 +646,39 @@ msgstr "%s फ़ाइलों को स्थानांतरित कर
msgid "dashboard.move-to-other-team"
msgstr "दूसरी टीम में स्थानांतरित करें"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ नई फ़ाइल"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "नई फ़ाइल"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ नया प्रोजेक्ट"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "नया प्रोजेक्ट"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "“%s“ के लिए कोई मेल नहीं मिला"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "पिन किए गए प्रोजेक्ट यहां दिखाई देंगे"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "सूचनाएँ"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "आपका ईमेल पता सफलतापूर्वक अपडेट कर दिया गया है"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "आपका ईमेल पता सफलतापूर्वक सत्यापित हो गया है"
@@ -718,11 +690,11 @@ msgstr "सूचना सेटिंग्स अपडेट कर दी
msgid "dashboard.notifications.password-saved"
msgstr "पासवर्ड सफलतापूर्वक सहेजा गया!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "सूचनाएं देखें"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s सदस्य"
@@ -730,15 +702,15 @@ msgstr "%s सदस्य"
msgid "dashboard.open-in-new-tab"
msgstr "फ़ाइल को नए टैब में खोलें"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "विकल्प"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "भूमिका के अनुसार क्रमबद्ध करें"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "स्थिति के अनुसार क्रमबद्ध करें"
@@ -762,7 +734,7 @@ msgstr "आप अब इस टीम के मालिक (Owner) बन ग
msgid "dashboard.permissions-change.viewer"
msgstr "आप अब इस टीम के दृश्यकर्ता (Viewer) बन गए हैं।"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "पिन/अनपिन"
@@ -778,11 +750,11 @@ msgstr "प्लगइन मैनिफेस्ट को पार्स
msgid "dashboard.plugins.try-plugin"
msgstr "प्लगइन प्रयास करें: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "प्रोजेक्ट्स"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "क्या आप अपना खाता हटाना चाहते हैं?"
@@ -790,35 +762,35 @@ msgstr "क्या आप अपना खाता हटाना चाह
msgid "dashboard.removed-from-team"
msgstr "अब आप टीम “%s“ का हिस्सा नहीं हैं।"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "सेटिंग्स सहेजें"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "खोजना…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "“%s“ की खोज की जा रही है…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "UI भाषा चुनें"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "थीम चुनें"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "पेनपॉट डार्क (डिफ़ॉल्ट)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "पेनपॉट लाइट"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "सिस्टम थीम"
@@ -882,11 +854,11 @@ msgstr "सेटिंग्स अपडेट करें"
msgid "dashboard.settings.notifications.title"
msgstr "सूचनाएं"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "सभी फ़ाइलें दिखाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "संस्करण इतिहास"
@@ -910,7 +882,7 @@ msgstr[1] "आपकी फ़ाइलों को सफलतापूर्
msgid "dashboard.success-duplicate-project"
msgstr "आपका प्रोजेक्ट सफलतापूर्वक डुप्लिकेट किया गया है"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "आपकी फ़ाइल सफलतापूर्वक स्थानांतरित कर दी गई है"
@@ -922,90 +894,90 @@ msgstr "आपकी फ़ाइलें सफलतापूर्वक स
msgid "dashboard.success-move-project"
msgstr "आपका प्रोजेक्ट सफलतापूर्वक स्थानांतरित कर दिया गया है"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "टीम जानकारी"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "टीम के सदस्यगण"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "टीम प्रोजेक्ट्स"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "अपने प्रोजेक्ट में जोड़ें"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI थीम"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "खोज के परिणाम"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "परिणाम खोजने के लिए टाइप करें"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "लाइब्रेरी अप्रकाशित करें"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "सेटिंग्स अपडेट करें"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "सक्रिय है"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "जब यह हुक ट्रिगर होगा, तो घटना विवरण भेजा जाएगा"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "आप केवल वेबहुक्स को हटा या संशोधित कर सकते हैं जो आपने बनाए हैं।"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "सामग्री प्रकार"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "वेबहुक बनाएं"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "वेबहुक सफलतापूर्वक बनाया गया।"
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"वेबहुक्स एक सरल तरीका हैं जिससे अन्य वेबसाइटें और ऐप्स Penpot में कुछ "
"घटनाएँ होने पर सूचित हो सकें। हम आपके द्वारा दिए गए प्रत्येक URL पर POST "
"अनुरोध भेजेंगे।"
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "\"वेबहुक जोड़ें\" बटन दबाएं एक जोड़ने के लिए।"
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "अभी तक कोई वेबहुक नहीं बनाया गया है।"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "आपका खाता"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "ईमेल"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "आपका नाम"
@@ -1021,11 +993,11 @@ msgstr "ध्यान दें"
msgid "ds.component-subtitle"
msgstr "अपडेट करने के लिए घटक:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "अनुमति देना"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "रद्द करें"
@@ -1045,7 +1017,7 @@ msgstr "सक्रिय सेट या थीम में कोई ला
msgid "ds.inputs.numeric-input.no-matches"
msgstr "कोई मेल नहीं मिले।"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "token सूची खोलें"
@@ -1061,15 +1033,15 @@ msgstr "इस प्रोफाइल के लिए ऑथ प्रोव
msgid "errors.auth-provider-not-configured"
msgstr "प्रमाणीकरण प्रदाता कॉन्फ़िगर नहीं किया गया है।"
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "ऐसा लगता है कि आप प्रमाणित नहीं हैं या सत्र की अवधि समाप्त हो गई है।"
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "फ़ॉन्ट %s लोड नहीं किया जा सका"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "फ़ॉन्ट %s लोड नहीं हो सके"
@@ -1081,41 +1053,41 @@ msgstr "मीडिया फ़ाइल अपलोड नहीं की
msgid "errors.character-limit-exceeded"
msgstr "अक्षर सीमा पार हो गई है"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "आपका ब्राउज़र यह कार्य नहीं कर सकता"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "टिप्पणी में एक त्रुटि हुई है"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"माफ़ कीजिए! यह एक पुरानी फ़ाइल है जो पेनपॉट की अप्रचलित संपत्ति प्रकार का "
"उपयोग करती है और आप इसे खोल नहीं सकते।"
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "ताकि हम आपकी सहायता कर सकें।"
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "हालाँकि पेनपॉट अब इस प्रकार की संपत्तियों का समर्थन नहीं करता, आप फिर भी"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "हमसे संपर्क करें"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "किसी पैरेंट को उसकी स्वयं की चाइल्ड पथ पर ड्रॉप नहीं किया जा सकता।"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "ईमेल पहले से उपयोग में है"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "ईमेल पहले ही सत्यापित किया जा चुका है।"
@@ -1127,32 +1099,32 @@ msgstr "आप अपना ईमेल पासवर्ड के रूप
msgid "errors.email-does-not-match-invitation"
msgstr "ईमेल आमंत्रण से मेल नहीं खाता।"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "डोमेन की अनुमति नहीं है"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "ईमेल «%s» के कई स्थायी बाउंस रिपोर्ट्स हैं।"
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr ""
"ईमेल «%s» को स्पैम के रूप में रिपोर्ट किया गया है या स्थायी रूप से बाउंस "
"हुआ है।"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"ऐसा लगता है कि आप एक ऐसी फ़ाइल खोल रहे हैं जिसमें '%s' सुविधा सक्षम है, "
"लेकिन वर्तमान Penpot संस्करण इसे समर्थन नहीं करता या इसे अक्षम कर दिया गया "
"है।"
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "फीचर '%s' समर्थित नहीं है।"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "इसमें अधिकतम %s वर्ण होने चाहिए।"
@@ -1160,7 +1132,7 @@ msgstr "इसमें अधिकतम %s वर्ण होने चा
msgid "errors.field-min-length"
msgstr "इसमें कम से कम 1 अक्षर अवश्य होना चाहिए।"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "रिक्त क्षेत्र"
@@ -1168,18 +1140,18 @@ msgstr "रिक्त क्षेत्र"
msgid "errors.field-not-all-whitespace"
msgstr "नाम में केवल खाली स्थान के अलावा कोई अन्य अक्षर होना चाहिए।"
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"ऐसा लगता है कि सक्षम सुविधाओं और उस फ़ाइल की सुविधाओं के बीच असंगति है जिसे "
"आप खोलने का प्रयास कर रहे हैं। फ़ाइल खोलने से पहले '%s' के लिए माइग्रेशन "
"लागू करना आवश्यक है।"
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "कुछ ग़लत हुआ है।"
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "वेब वर्कर के साथ कुछ गलत हो गया है।"
@@ -1195,7 +1167,7 @@ msgstr "अमान्य डेटा"
msgid "errors.invalid-email"
msgstr "कृपया एक मान्य ईमेल दर्ज करें"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "पुष्टिकरण ईमेल मेल खाना चाहिए"
@@ -1219,11 +1191,11 @@ msgstr "यह आमंत्रण रद्द हो सकता है य
msgid "errors.ldap-disabled"
msgstr "LDAP प्रमाणीकरण अक्षम है।"
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "आप '%s' सीमा तक पहुंच चुके हैं। सहायता से संपर्क करें।"
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"एक ही अनुरोध में निमंत्रित किए जा सकने वाले अधिकतम (%s) ईमेल की संख्या "
@@ -1241,21 +1213,21 @@ msgstr "ऐसा लगता है कि छवि की सामग्र
msgid "errors.media-type-not-allowed"
msgstr "ऐसा लगता है कि यह एक मान्य छवि नहीं है।"
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"जिस प्रोफाइल को आप निमंत्रित कर रहे हैं उसके ईमेल म्यूट किए गए हैं (स्पैम "
"रिपोर्ट्स या उच्च बाउंस के कारण)।"
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "माइग्रेशन प्रगति पर है"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "केवल संस्करण निर्माता ही इसे लॉक कर सकता है"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "केवल संस्करण निर्माता ही इसे अनलॉक कर सकता है"
@@ -1267,7 +1239,7 @@ msgstr "पुष्टिकरण पासवर्ड मेल खाना
msgid "errors.password-too-short"
msgstr "पासवर्ड कम से कम 8 अक्षरों का होना चाहिए"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "क्लिपबोर्ड में अमान्य डेटा है"
@@ -1275,7 +1247,7 @@ msgstr "क्लिपबोर्ड में अमान्य डेटा
msgid "errors.profile-blocked"
msgstr "प्रोफ़ाइल अवरुद्ध है"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"आपकी प्रोफ़ाइल के ईमेल म्यूट किए गए हैं (स्पैम रिपोर्ट्स या उच्च बाउंस के "
@@ -1285,25 +1257,25 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "पंजीकरण वर्तमान में अक्षम है।"
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG अमान्य या त्रुटिपूर्ण है"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "असंगत सुविधा '%s' का पता चला"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"टीम छोड़ने के लिए सदस्यों की संख्या अपर्याप्त है, शायद आप इसे हटाना चाहते "
"हैं।"
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "जिस सदस्य को आप असाइन करने की कोशिश कर रहे हैं वह मौजूद नहीं है।"
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "मालिक टीम नहीं छोड़ सकता, आपको मालिक की भूमिका पुनः असाइन करनी होगी।"
@@ -1311,15 +1283,15 @@ msgstr "मालिक टीम नहीं छोड़ सकता, आप
msgid "errors.token-set-already-exists"
msgstr "एक समान नाम वाला सेट पहले से मौजूद है"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "ड्रॉप पूरा नहीं किया जा सकता, उसी नाम का सेट पथ पर पहले से मौजूद है।"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "समान नाम वाला थीम विकल्प मौजूद है"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"पंक्ति की ऊँचाई फ़ॉन्ट आकार पर निर्भर करती है। हल किया गया मान प्राप्त करने "
@@ -1341,11 +1313,11 @@ msgstr "आयात त्रुटि:"
msgid "errors.tokens.invalid-color"
msgstr "अमान्य रंग मान: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Invalid token value: आप केवल फ़ॉन्ट-परिवार token का संदर्भ ले सकते हैं"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"अमान्य फ़ॉन्ट भार मान: संख्यात्मक मान (100-950) या मानक नाम (पतला, हल्का, "
@@ -1366,35 +1338,35 @@ msgstr ""
"टोकन नामों में केवल अक्षर और अंक होने चाहिए, जो डॉट (.) से अलग किए गए हों, "
"और $ चिह्न से शुरू नहीं होने चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "अमान्य छाया प्रकार: केवल 'innerShadow' या 'dropShadow' स्वीकार किए जाते हैं"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"अमान्य token मान: केवल कोई नहीं, अपरकेस, लोअरकेस या कैपिटलाइज़ स्वीकार किए "
"जाते हैं"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"अमान्य token मान: केवल कोई नहीं, रेखांकित और स्ट्राइक-थ्रू स्वीकार किए जाते "
"हैं"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "अमान्य मूल्य: एक समग्र छाया टोकन का संदर्भ देना चाहिए।।"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "अमान्य मान: एक संयुक्त टाइपोग्राफी token का संदर्भ होना चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "अमान्य टोकन मान: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "गुम टोकन संदर्भ: "
@@ -1406,31 +1378,31 @@ msgstr "इस फ़ाइल में कोई टोकन, सेट य
msgid "errors.tokens.number-too-large"
msgstr "अमान्य टोकन मान. हल किया गया मान बहुत बड़ा है: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "अपारदर्शिता 0 और 100% या 0 और 1 (जैसे 50% या 0.5) के बीच होनी चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "टोकन में स्व-संदर्भ होता है"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "छाया धुंधलापन 0 से अधिक या उसके बराबर होना चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "छाया प्रसार 0 से अधिक या उसके बराबर होना चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "स्ट्रोक की चौड़ाई 0 से बड़ी या उसके बराबर होनी चाहिए।"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "अमान्य मान: % की अनुमति नहीं है।"
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "अमान्य मान: इकाइयाँ अनुमति नहीं हैं।"
@@ -1438,47 +1410,47 @@ msgstr "अमान्य मान: इकाइयाँ अनुमति
msgid "errors.unexpected-error"
msgstr "एक अप्रत्याशित त्रुटि हुई है।"
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "अज्ञात टोकन"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "यह संस्करण पहले से ही लॉक है"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "यह संस्करण लॉक है और इसे अन्य लोग हटा नहीं सकते"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "फ़ाइल का संस्करण संख्या असंगत है"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "कनेक्शन त्रुटि, URL उपलब्ध नहीं"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL सत्यापन पास नहीं करता है।"
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "अंतिम डिलीवरी सफल नहीं रही।"
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSL सत्यापन में त्रुटि हुई है।"
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "समय समाप्त"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "सत्यापन के दौरान अप्रत्याशित त्रुटि हुई"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "अप्रत्याशित स्थिति %s"
@@ -1498,17 +1470,17 @@ msgstr "वर्णन"
msgid "feedback.description-placeholder"
msgstr "कृपया अपनी प्रतिक्रिया का कारण बताएँ"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"हमें खुशी है कि आप यहाँ हैं। यदि आपको सहायता की आवश्यकता हो, तो कृपया पोस्ट "
"करने से पहले खोजें।"
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "पेनपॉट समुदाय"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "हमसे संपर्क करने के अन्य तरीके"
@@ -1532,11 +1504,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "हमसे संपर्क करें"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "यहाँ आपकी तकनीकी प्रश्नों में मदद के लिए।"
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X समर्थन खाता"
@@ -1592,7 +1564,7 @@ msgstr "आकृति की भरण छवि का पूर्वाव
msgid "inspect.attributes.shadow"
msgstr "छाया"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "आकार और स्थिति"
@@ -1600,39 +1572,27 @@ msgstr "आकार और स्थिति"
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 "बाहर की ओर"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "टाइपोग्राफी"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "फ़ॉन्ट परिवार"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "फ़ॉन्ट आकार"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "फ़ॉन्ट शैली"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "अक्षरांतर"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "लाइन ऊँचाई"
@@ -1648,11 +1608,11 @@ msgstr ""
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "रेखांकित (अंडरलाइन)"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "प्रमुख अक्षर करना"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "छोटे अक्षर"
@@ -1664,7 +1624,7 @@ msgstr "कोई नहीं"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "अप्रयुक्त करें"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "बड़े अक्षर"
@@ -1790,47 +1750,47 @@ msgstr "हल किया गया मान:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "भिन्न गुण"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "सभी को पढ़ा हुआ मार्क करें"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "शॉर्टकट्स"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "पेनपोट के बारे में"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "स्वीकार करें"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "सक्रिय"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "जोड़ें"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "कस्टम फ़ॉन्ट जोड़ें"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "जोड़ा जा रहा है..।"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "प्रशासक"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "एडोब XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "सभी"
@@ -1838,17 +1798,17 @@ msgstr "सभी"
msgid "labels.and"
msgstr "तथा"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "पीछे"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"ऐसा लगता है कि आपको थोड़ी देर प्रतीक्षा करनी होगी और फिर से प्रयास करना "
"होगा; हम अपने सर्वरों का छोटा रखरखाव कर रहे हैं।"
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "खराब गेटवे"
@@ -1856,15 +1816,15 @@ msgstr "खराब गेटवे"
msgid "labels.blur"
msgstr "धुंधला"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "रद्द करें"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "बंद करें"
@@ -1872,7 +1832,7 @@ msgstr "बंद करें"
msgid "labels.code"
msgstr "कोड"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "संकुचित करें"
@@ -1884,15 +1844,15 @@ msgstr "रंग"
msgid "labels.comment"
msgstr "टिप्पणी"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "टिप्पणियाँ"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "समुदाय"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "समुदाय & योगदान"
@@ -1904,19 +1864,19 @@ msgstr "परिकलित"
msgid "labels.confirm-password"
msgstr "पासवर्ड पुष्टि करें"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "समर्थन से संपर्क करें"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "हमसे संपर्क करें"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "जारी रखें"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "आप पेनपॉट खाते के साथ जारी रख सकते हैं"
@@ -1928,31 +1888,31 @@ msgstr "कापी"
msgid "labels.copy-color"
msgstr "रंग कॉपी करें"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "लिंक कॉपी"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "कैलिडोस © 2019-वर्तमान"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "निर्माण"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "नई टीम निर्माण"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "नई टीम का नाम दर्ज करें"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "डैशबोर्ड"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "मिटाना"
@@ -1964,7 +1924,7 @@ msgstr "टिप्पणी हटाएं"
msgid "labels.delete-comment-thread"
msgstr "थ्रेड हटाएं"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "निमंत्रण हटाएं"
@@ -1972,19 +1932,19 @@ msgstr "निमंत्रण हटाएं"
msgid "labels.delete-multi-files"
msgstr "%s फ़ाइलें हटाएं"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "विकास"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "छोड़ना"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%s डाउनलोड करें"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "ड्राफ्ट्स"
@@ -1992,27 +1952,27 @@ msgstr "ड्राफ्ट्स"
msgid "labels.duplicate"
msgstr "नक़ल"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "संपादन करें"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "संपादक"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "रिक्त"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "त्रुटि"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "अवधि समाप्त"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "निर्यात"
@@ -2024,7 +1984,7 @@ msgstr "प्रतिक्रिया अक्षम की गई है"
msgid "labels.feedback-sent"
msgstr "प्रतिक्रिया भेजी गई"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2032,55 +1992,55 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "भरना"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "फ़ॉन्ट परिवार"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "शैलियाँ"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "फ़ॉन्ट्स"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHub रिपॉज़िटरी"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "प्रतिक्रिया दें"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "वापस जाएँ"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "ग्राफ़िक डिज़ाइन"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "सहायता केंद्र"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "मदद & सीखना"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "छुपाएँ"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "सुलझाए गए टिप्पणियाँ छुपाएँ"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "आयात"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "निष्क्रिय"
@@ -2088,49 +2048,49 @@ msgstr "निष्क्रिय"
msgid "labels.info"
msgstr "जानकारी"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "स्थापित फ़ॉन्ट"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "कुछ बुरा हुआ।"
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"आप ऑपरेशन पुनः प्रयास कर सकते हैं या त्रुटि की रिपोर्ट करने के लिए समर्थन "
"से संपर्क कर सकते हैं।"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "आंतरिक त्रुटि"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision(इंविज़न)"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "आमंत्रण"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "भाषा"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "लेआउट"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "अध्ययन केन्द्र"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "लाइब्रेरी और टेम्पलेट्स"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "लोड हो रहा है…"
@@ -2138,7 +2098,7 @@ msgstr "लोड हो रहा है…"
msgid "labels.lock"
msgstr "ताला"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "लॉग इन या साइन अप"
@@ -2146,19 +2106,19 @@ msgstr "लॉग इन या साइन अप"
msgid "labels.login"
msgstr "लॉग इन करें"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "लॉग आउट"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "मार्केटिंग"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "सदस्य"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "सदस्यों"
@@ -2170,43 +2130,43 @@ msgstr "उल्लेख"
msgid "labels.new-password"
msgstr "नया पासवर्ड"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "अगला"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "आप पूरी तरह से अपडेट हैं! नई टिप्पणी सूचनाएँ यहाँ दिखेंगी।"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "कोई लंबित निमंत्रण नहीं है।"
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "अपने लोगों को इकट्ठा करें और साथ मिलकर महान चीजें बनाएं।"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "उफ!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "सूचनाएं"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 फ़ाइल"
msgstr[1] "%s फ़ाइलें"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 बोर्ड"
msgstr[1] "%s बोर्ड्स"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 परियोजना"
@@ -2216,39 +2176,39 @@ msgstr[1] "%s परियोजनाएँ"
msgid "labels.old-password"
msgstr "पुराना पासवर्ड"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "विकल्प"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "अन्य (स्पष्ट करें)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "अन्य"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "स्वामी"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "पासवर्ड"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "लंबित"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "पेनपॉट चेंजलॉग"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "पेनपॉट हब"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "पिन किए गए प्रोजेक्ट"
@@ -2256,27 +2216,27 @@ msgstr "पिन किए गए प्रोजेक्ट"
msgid "labels.post"
msgstr "डाक"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "पिछला"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "उत्पाद या UX डिज़ाइन"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "उत्पाद प्रबंधन"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "प्रोफ़ाइल"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "परियोजनाओं"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "संदर्भ"
@@ -2284,23 +2244,23 @@ msgstr "संदर्भ"
msgid "labels.refresh"
msgstr "ताज़ा करें"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "रिलीज़ नोट्स"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "हटाना"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "सदस्य निकालें"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "नाम बदलें"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "टीम का नाम बदलें"
@@ -2324,11 +2284,11 @@ msgstr "नया उत्तर"
msgid "labels.reply.thread"
msgstr "उत्तर"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "पुन: भेजें"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "आमंत्रण पुनः भेजें"
@@ -2336,43 +2296,43 @@ msgstr "आमंत्रण पुनः भेजें"
msgid "labels.restore"
msgstr "पुनः स्थापित करें"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "पुन: प्रयास करें"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "भूमिका"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "सहेजें"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "खोज"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "फ़ॉन्ट खोजें"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "विकल्प चुनें"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "भेजना"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "भेजा जा रहा है…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "हमारे सिस्टम्स की निर्धारित रखरखाव प्रक्रिया चल रही है।"
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "सेवा अनुपलब्ध है"
@@ -2380,55 +2340,55 @@ msgstr "सेवा अनुपलब्ध है"
msgid "labels.sets"
msgstr "सेट्स"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "सेटिंग्स"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "छाया"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "साझा करें"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "लाइब्रेरीज़"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "दिखाएँ"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "सभी टिप्पणियाँ दिखाएँ"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "टिप्पणियाँ सूची दिखाएँ"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "सिर्फ आपके उल्लेख दिखाएँ"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "सिर्फ आपकी टिप्पणियाँ दिखाएँ"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "रेखाचित्र"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "स्त्रोत"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "प्रारंभ"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "स्थिति"
@@ -2436,7 +2396,7 @@ msgstr "स्थिति"
msgid "labels.stroke"
msgstr "स्ट्रोक"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "छात्र या शिक्षक"
@@ -2448,7 +2408,7 @@ msgstr "शैलियों"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "बदलना"
@@ -2456,19 +2416,19 @@ msgstr "बदलना"
msgid "labels.text"
msgstr "मूलपाठ"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "थीम्स"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "ट्यूटोरियल्स"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "अक्षर विन्यास"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "अज्ञात त्रुटि"
@@ -2480,31 +2440,31 @@ msgstr "अनलॉक"
msgid "labels.unpublish-multi-files"
msgstr "%s फ़ाइलें अप्रकाशित करें"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "अद्यतन"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "टीम को अद्यतन करें"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "अपलोड करें"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "कस्टम फ़ॉन्ट्स अपलोड करें"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "अपलोड हो रहा है…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "रूपांतर"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "संस्करण %s नोट्स"
@@ -2512,7 +2472,7 @@ msgstr "संस्करण %s नोट्स"
msgid "labels.view-only"
msgstr "केवल देखें"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "दर्शक"
@@ -2520,7 +2480,7 @@ msgstr "दर्शक"
msgid "labels.visibility"
msgstr "दृश्यता"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "वेबहुक"
@@ -2528,11 +2488,11 @@ msgstr "वेबहुक"
msgid "labels.write-new-comment"
msgstr "नई टिप्पणी लिखें"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(आप)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "आपका खाता"
@@ -2669,61 +2629,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "\"%s\" को साझा लाइब्रेरी के रूप में जोड़ें"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "बड़ा धक्का"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "नया ईमेल सत्यापित करें"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"हम आपकी पहचान सत्यापित करने के लिए आपके वर्तमान ईमेल “%s” पर एक ईमेल "
"भेजेंगे।"
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "नया ईमेल"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "ईमेल बदले"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "अपना ईमेल बदलें"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "वेबहुक बनाएं"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "वेबहुक बनाएं"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "पेलोड URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "रद्द करें और मेरा खाता रखें"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "हाँ, मेरा खाता हटाएं"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "अपने खाते को हटाने पर आप अपनी सभी वर्तमान परियोजनाएँ और अभिलेख खो देंगे।"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "\"क्या आप वाकई अपना खाता हटाना चाहते हैं?"
@@ -2773,31 +2733,31 @@ msgstr "क्या आप वाकई %s फ़ाइलें हटान
msgid "modals.delete-file-multi-confirm.title"
msgstr "%s फ़ाइलें हटाई जा रही हैं"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"क्या आप वाकई इस फ़ॉन्ट स्टाइल को हटाना चाहते हैं? यदि यह किसी फ़ाइल में "
"उपयोग हो रहा है तो यह लोड नहीं होगा।"
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "फ़ॉन्ट शैली हटाना"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"\"क्या आप वाकई इस फ़ॉन्ट को हटाना चाहते हैं? यदि यह किसी फ़ाइल में उपयोग हो "
"रहा है तो यह लोड नहीं होगा।"
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "फ़ॉन्ट हटाया जा रहा है"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "क्या आप वाकई इस पृष्ठ को हटाना चाहते हैं?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "पृष्ठ हटाएँ"
@@ -2813,31 +2773,31 @@ msgstr "क्या आप वाकई इस परियोजना को
msgid "modals.delete-project-confirm.title"
msgstr "परियोजना हटाएँ"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "फ़ाइल हटाएँ"
msgstr[1] "फ़ाइलें हटाएँ"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "यह किसी भी फ़ाइल में सक्रिय नहीं है।"
msgstr[1] "वे किसी भी फ़ाइल में सक्रिय नहीं हैं।"
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "यह लाइब्रेरी यहाँ सक्रिय है: "
msgstr[1] "ये लाइब्रेरियाँ यहाँ सक्रिय हैं: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "क्या आप वाकई इस फ़ाइल को हटाना चाहते हैं?"
msgstr[1] "क्या आप वाकई इन फ़ाइलों को हटाना चाहते हैं?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "फ़ाइल हटाई जा रही है"
@@ -2857,19 +2817,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "टीम हटाई जा रही है"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "सदस्य हटाएँ"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "क्या आप वाकई इस सदस्य को टीम से हटाना चाहते हैं?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "टीम सदस्य हटाएँ"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2879,165 +2839,165 @@ msgstr[1] ""
"उन फ़ाइलों में पहले से उपयोग किए गए एसेट्स वहीं रहेंगे (कोई डिज़ाइन टूटेगा "
"नहीं)।"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "वेबहुक हटाएँ"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "क्या आप वाकई इस वेबहुक को हटाना चाहते हैं?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "वेबहुक हटाया जा रहा है"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "वेबहुक संपादित करें"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "वेबहुक संपादित करें"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "निमंत्रण भेजना"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "ईमेल, अल्पविराम से अलग किए गए"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "कुछ ईमेल वर्तमान टीम के सदस्यों के हैं। उनकी निमंत्रण नहीं भेजी जाएगी।"
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"आप टीम के सदस्यों को आमंत्रित कर सकते हैं ताकि वे इस फ़ाइल और सभी टीम "
"फ़ाइलों तक पहुंच सकें।"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "सदस्यों को टीम में आमंत्रित करें"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"चूंकि आप इस टीम के एकमात्र सदस्य हैं, टीम अपने परियोजनाओं और फ़ाइलों के साथ "
"हटा दी जाएगी।"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "क्या आप वाकई %s टीम छोड़ना चाहते हैं?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"यदि टीम में मालिक बनाने के लिए कोई अन्य सदस्य नहीं है, तो आप टीम नहीं छोड़ "
"सकते। आप टीम को हटाना चाह सकते हैं।"
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"आप इस टीम के मालिक हैं। कृपया टीम छोड़ने से पहले किसी अन्य सदस्य को मालिक "
"बनाएं।"
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "पदोन्नत करें और छोड़ें"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "पदोन्नति के लिए सदस्य चुनें"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "छोड़ने से पहले"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "टीम छोड़ें"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "क्या आप सचमुच इस टीम को छोड़ना चाहते हैं?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "टीम छोड़ रहे हैं"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "स्थानांतरित करें"
msgstr[1] "स्थानांतरित करें"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "क्या आप वाकई इस लाइब्रेरी को स्थानांतरित करना चाहते हैं?"
msgstr[1] "क्या आप वाकई इन लाइब्रेरियों को स्थानांतरित करना चाहते हैं?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "लाइब्रेरी स्थानांतरित करें"
msgstr[1] "लाइब्रेरियाँ स्थानांतरित करें"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "झटका मात्रा"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "स्थानांतरण स्वामित्व"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"यदि आप स्वामित्व स्थानांतरित करते हैं, तो आपकी भूमिका एडमिन में बदल जाएगी, "
"और इस टीम पर कुछ अनुमतियाँ आप खो देंगे। "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"आप इस टीम के वर्तमान स्वामी हैं। क्या आप वाकई %s को टीम का नया स्वामी बनाना "
"चाहते हैं?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "नई टीम स्वामी"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "प्रकाशित"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "आपकी लाइब्रेरी खाली है। क्या आप वाकई इसे प्रकाशित करना चाहते हैं?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "खाली लाइब्रेरी प्रकाशित करें"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "छोटा धक्का"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "अप्रकाशित करें"
msgstr[1] "अप्रकाशित करें"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "क्या आप वाकई इस लाइब्रेरी को अप्रकाशित करना चाहते हैं?"
msgstr[1] "क्या आप वाकई इन लाइब्रेरियों को अप्रकाशित करना चाहते हैं?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "लाइब्रेरी अप्रकाशित करें"
@@ -3061,11 +3021,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "साझा लाइब्रेरी में एक घटक अपडेट करें"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "यह पृष्ठ मौजूद नहीं है"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 त्रुटि"
@@ -3083,11 +3043,11 @@ msgstr "हमने एक पुनर्प्राप्ति ईमेल
msgid "not-found.login.sent-recovery-check"
msgstr "अपना ईमेल जांचें और नया पासवर्ड बनाने के लिए लिंक पर क्लिक करें।"
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "मुफ्त में साइन अप"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "और सेकंडों में पेनपॉट का उपयोग शुरू करें!"
@@ -3095,69 +3055,69 @@ msgstr "और सेकंडों में पेनपॉट का उप
msgid "not-found.made-with-love"
msgstr "प्यार और ओपन सोर्स के साथ बनाया गया"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "आपने पहले ही इस फ़ाइल तक पहुँच का अनुरोध किया है।"
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"आपने इस फ़ाइल या इस टीम की अन्य फ़ाइलों या परियोजनाओं तक पहुँच का पहले ही "
"अनुरोध किया है।"
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"आपने इस परियोजना या इस टीम की अन्य परियोजनाओं या फ़ाइलों तक पहुँच का पहले "
"ही अनुरोध किया है।"
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "आपने इस परियोजना तक पहुँच का पहले ही अनुरोध किया है।"
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "पहुँच का अनुरोध करें"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr ""
"ध्यान रखें कि, यदि स्वामी अनुमति देता है, तो आपको टीम में आमंत्रित किया "
"जाएगा।"
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "आपका अनुरोध सफलतापूर्वक भेज दिया गया है!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "आपके पास इस फ़ाइल तक पहुँच नहीं है।"
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "अपने पेनपॉट पर जाएं"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "यदि स्वामी अनुमति देता है, तो आपको टीम में आमंत्रित किया जाएगा।"
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "पेनपॉट फ़ाइल"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "आपके पास इस परियोजना तक पहुँच नहीं है।"
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "परियोजना"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "इस फ़ाइल तक पहुँचने के लिए, आप टीम के स्वामी से पूछ सकते हैं।"
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "इस परियोजना तक पहुँचने के लिए, आप टीम के स्वामी से पूछ सकते हैं।"
@@ -3169,29 +3129,29 @@ msgstr "रखरखाव विराम: हम 5 मिनट के भी
msgid "notifications.by-code.upgrade-version"
msgstr "एक नया संस्करण उपलब्ध है ।"
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "आमंत्रण सफलतापूर्वक हटा दिया गया"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "आमंत्रण सफलतापूर्वक भेज दिया गया"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "आमंत्रण लिंक कॉपी किया गया"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"आप अपनी प्रोफ़ाइल हटा नहीं सकते। आगे बढ़ने से पहले अपनी टीमों को पुनः असाइन "
"करें।"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "प्रोफ़ाइल सफलतापूर्वक सहेज ली गई!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "%s को सत्यापन ईमेल भेजा गया है। अपना ईमेल जांचें!"
@@ -3221,78 +3181,78 @@ msgstr ""
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "टीम बनाएं"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "सदस्यों को आमंत्रित करो"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "भूमिका के साथ आमंत्रित करें:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "चलिए शुरू करते हैं!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "डिज़ाइन से वास्तविक कोड उत्पन्न करना"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "डिज़ाइन सिस्टम बनाना"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "प्रोटोटाइपिंग"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "किसी ऐप का UI/UX डिज़ाइन करें"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "वायरफ़्रेमिंग"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "आप पेनपोट का उपयोग किस लिए करेंगे?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"कृपया हमें अपने बारे में थोड़ा बताएं ताकि हम पेनपोट को आपके लिए बेहतर बना "
"सकें। आपके जवाब हमें नए फीचर्स की प्राथमिकता तय करने और आपको सही दिशा में "
"मार्गदर्शन करने में मदद करेंगे।"
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "हमें आपको जानने में मदद करें"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "इन उपकरणों में से आप सबसे अधिक किसका उपयोग करते हैं?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "आप किस तरह का काम करते हैं?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "आपकी कंपनी का आकार क्या है?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "आप कहां से शुरुआत करना चाहेंगे?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "शिक्षा"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "निजी"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "काम"
@@ -3342,11 +3302,11 @@ msgstr "डिजाइनिंग शुरू करें"
msgid "profile.recovery.go-to-login"
msgstr "लॉगइन पर जाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "अलग करें"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "मिश्रित"
@@ -3358,35 +3318,35 @@ msgstr "रंग हटाओ"
msgid "settings.select-this-color"
msgstr "इस शैली का उपयोग करके आइटम चुनें"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "टिप्पणियाँ"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "नीचे संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "क्षैतिज रूप से केंद्र संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "बाएँ संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "दाएँ संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "ऊपर संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "ऊर्ध्वाधर रूप से केंद्र संरेखित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "चयन से बोर्ड बनाएं"
@@ -3394,55 +3354,55 @@ msgstr "चयन से बोर्ड बनाएं"
msgid "shortcuts.bold"
msgstr "बोल्ड टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "बूलियन अंतर"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "बूलियन बहिष्कृत"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "बूलियन चौराहा"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "बूलियन संघ"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "पीछे भेजो"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "पीछे भेजें"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "आगे लाओ"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "सामने लाओ"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "पूर्ववत साफ़ करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "कापी"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "लिंक कॉपी करें"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "गुण कॉपी करें"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "घटक/संस्करण बनाएं"
@@ -3450,35 +3410,35 @@ msgstr "घटक/संस्करण बनाएं"
msgid "shortcuts.create-new-project"
msgstr "नया निर्माण"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "काटना"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "ज़ूम आउट"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "मिटाना"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "नोड हटाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "घटक अलग करें"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "वक्र"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "अंडाकार"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "बोर्ड"
@@ -3486,39 +3446,39 @@ msgstr "बोर्ड"
msgid "shortcuts.draw-nodes"
msgstr "पथ बनाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "पथ"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "आयत"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "पाठ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "नकल करें"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "रद्द करें"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "आकृतियाँ निर्यात करें"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "सभी को फिट करने के लिए ज़ूम करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "क्षैतिज फ्लिप"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "लंबवत पलटें"
@@ -3542,23 +3502,23 @@ msgstr "साझा लाइब्रेरीज़ पर जाएँ"
msgid "shortcuts.go-to-search"
msgstr "खोज"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "समूह"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "क्षैतिज रूप से वितरित करें"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "UI दिखाएँ/छिपाएँ"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "ज़ूम इन करें"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "चित्र डालें"
@@ -3566,7 +3526,7 @@ msgstr "चित्र डालें"
msgid "shortcuts.italic"
msgstr "इटैलिक टॉगल करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "नोड्स जोड़ें"
@@ -3574,39 +3534,39 @@ msgstr "नोड्स जोड़ें"
msgid "shortcuts.line-through"
msgstr "लाइन को टॉगल करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "कोना बनाओ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "वक्र बनाओ"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "मास्क"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "नोड्स को जोड़ें"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "हिलाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "तेज़ी से नीचे ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "तेज़ी से बाएँ ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "तेज़ी से दाएँ ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "तेज़ी से ऊपर ले जाएँ"
@@ -3614,333 +3574,333 @@ msgstr "तेज़ी से ऊपर ले जाएँ"
msgid "shortcuts.move-nodes"
msgstr "नोड को स्थानांतरित करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "नीचे ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "बाएँ ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "दाएँ ले जाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "ऊपर ले जाएँ"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "अगला बोर्ड"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "कोई शॉर्टकट नहीं मिला"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "अपारदर्शिता 100% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "अपारदर्शिता 10% करे"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "अपारदर्शिता 20% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "अपारदर्शिता 30% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "अपारदर्शिता 40% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "अपारदर्शिता 50% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "अपारदर्शिता 60% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "अपारदर्शिता 70% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "अपारदर्शिता 80% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "अपारदर्शिता 90% करें"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "रंग चयनकर्ता"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "दर्शक टिप्पणी अनुभाग पर जाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "डैशबोर्ड पर जाएँ"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "दर्शक निरीक्षण अनुभाग पर जाएँ"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "दर्शक इंटरैक्शन अनुभाग पर जाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "दर्शक इंटरैक्शन अनुभाग में जाएँ"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "वर्कस्पेस पर जाएँ"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " अथवा "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "चिपकाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "गुण चिपकाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "प्लगइन्स प्रबंधक"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "पिछला बोर्ड"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "फिर से करें"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "नाम बदलें"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "ज़ूम रीसेट करें"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "आकार बदलना"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "बुनियादी बातें"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "डैशबोर्ड"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "दर्शक"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "कार्यस्थान"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "सभी चुनें"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "अगली परत चुनें"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "मुख्य परत चुनें"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "पिछली परत का चयन करें"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "अलग नोड्स"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "पिक्सेल ग्रिड दिखाएँ / छिपाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "शॉर्टकट दिखाएँ / छुपाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "नोड्स से चिपकाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "पिक्सेल ग्रिड से चिपकाएँ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "संपादन शुरू करें"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "संतुलन"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "संपादन"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "सार्वभौमिक"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "मुख्य मेन्यू"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "परतें संशोधित करें"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "मार्गदर्शन"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "मार्गदर्शन"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "मार्गदर्शन"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "पैनल्स"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "रास्ते"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "आकृतियाँ"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "टेक्स्ट"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "औजार"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "ज़ूम"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "ज़ूम"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "थंबनेल सेट करें"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "कीबोर्ड शॉर्टकट्स"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "डायनामिक अलाइनमेंट टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "एसेट्स टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "रंग पैलेट टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "फ़ोकस मोड टॉगल करें"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "संपूर्ण स्क्रीन टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "गाइड दिखाएँ/छिपाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "इतिहास टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "लेयर्स टॉगल करें"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "फ्लेक्स लेआउट जोड़ें / हटाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "ग्रिड लेआउट जोड़ें/हटाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "ताला लगाएं / ताला खोलें"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "अनुपात लॉक करें"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "रूलर दिखाएँ / छिपाएँ"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "गाइड्स से चिपकाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "रूलर गाइड्स से चिपकाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "टेक्स्ट पैलेट चालू/बंद करें"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "थीम बदलें"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "दिखाएं / छिपाएं"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "ज़ूम शैली टॉगल करें"
@@ -3948,31 +3908,31 @@ msgstr "ज़ूम शैली टॉगल करें"
msgid "shortcuts.underline"
msgstr "रेखांकन चालू/बंद करें"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "पूर्ववत"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "असमूहीकृत"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "मास्क हटाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "ऊर्ध्वाधर समान वितरण करें"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "ज़ूम लेंस घटाएं"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "ज़ूम लेंस बढ़ाएं"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "चयनित पर ज़ूम करें"
@@ -4065,203 +4025,203 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "असीमित योजना के दौरान लोगों को आमंत्रित करना"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "सदस्यता"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "ट्रायल के बाद जारी रखने के लिए भुगतान का तरीका जोड़ें"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "सभी प्रोफेशनल प्लान लाभ और:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "सभी अनलिमिटेड प्लान लाभ और:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s संपादक)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "उद्यम"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "एंटरप्राइज़ (परीक्षण)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-दिन के ऑटोसेव संस्करण और फ़ाइल पुनर्प्राप्ति"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "फ्लैट मासिक बिल"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "असीमित भंडारण"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "अपनी सदस्यता प्रबंधित करें"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "भुगतान विवरण जोड़ें"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"परीक्षण अवधि के बाद अपनी सदस्यता को सुचारू रूप से जारी रखने और हमारे "
"ओपन-सोर्स प्रोजेक्ट का समर्थन जारी रखने के लिए अभी अपनी भुगतान जानकारी "
"जोड़ें। आपसे अभी कोई शुल्क नहीं लिया जाएगा।"
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "अभी छोड़ें और परीक्षण शुरू करें"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "हमें आगे बढ़ने में मदद करें और अपने परीक्षण को आसान बनाएं"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "वर्तमान में, आपकी टीम में %s व्यक्ति हैं जो संपादन कर सकते हैं।"
msgstr[1] "वर्तमान में, आपकी टीम में %s लोग हैं जो संपादन कर सकते हैं।"
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"ध्यान दें: कम प्लान पर स्विच करने का मतलब कम संग्रहण और कम अवधि के बैकअप "
"तथा संस्करण इतिहास है।"
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "संपादनकर्ता"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(स्वामी, व्यवस्थापक और संपादक। दर्शकों को संपादक नहीं माना जाएगा)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"आप मौजूदा संपादकों की संख्या से कम संपादक नहीं सेट कर सकते। टीम सेटिंग में "
"उन लोगों की भूमिका (संपादक/व्यवस्थापक से दर्शक) बदलें जो वास्तव में फ़ाइलें "
"संपादित नहीं करते हैं।"
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "परीक्षण के बाद शुल्क लिया जाएगा। अभी क्रेडिट कार्ड की आवश्यकता नहीं है।"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "$7 प्रति संपादक/महीना x %s"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "%s को अपनी टीमों पर लागू करें"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"सुझाव: आमंत्रणों से आगे रहने के लिए आप अभी अपनी सीटों की संख्या बढ़ा सकते "
"हैं। 25+ संपादकों वाली टीमों में, आपको प्रति माह ₹175 का एकमुश्त शुल्क "
"मिलेगा।"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "%s से Penpot सदस्य"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "अधिक जानकारी"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "अन्य पेनपॉट योजनाएँ"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "प्रति माह संगठन"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "प्रोफेशनल"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-दिन का स्वतः सहेजा गया संस्करण और फ़ाइल पुनर्प्राप्ति"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB स्टोरेज"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "असीमित टीमें। आपकी स्वामित्व वाली टीमों में अधिकतम 8 संपादक।"
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "अनुशंसित"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "आपकी सदस्यता"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "नि:शुल्क ट्रायल शुरू करें"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "सदस्यता लें"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"आप अपने खाते के विवरण में 'सदस्यता' पृष्ठ से कभी भी अपनी सदस्यता संपादित कर "
"सकते हैं।"
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "अपनी योजना का आनंद लें!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "पेनपोट %s योजना चुनने के लिए धन्यवाद!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "आप %s हैं!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "14 दिनों का मुफ्त परीक्षण करें"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "असीमित"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "असीमित (परीक्षण)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-दिन का स्वतः सहेजा गया संस्करण और फ़ाइल पुनर्प्राप्ति"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "मासिक बिल की सीमा"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB स्टोरेज"
@@ -4288,41 +4248,41 @@ msgstr ""
"यदि आप इस सीमा को बढ़ाना चाहते हैं, तो [अपना प्लान अपग्रेड "
"करें|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 आमंत्रण चयनित"
msgstr[1] "%s आमंत्रण चयनित"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - पेनपॉट"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "फ़ॉन्ट प्रदाता - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "फ़ॉन्ट्स - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "परियोजनाएँ - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "खोज - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "साझा लाइब्रेरी - %s - पेनपॉट"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "पेनपॉट - टीमों के लिए डिज़ाइन की स्वतंत्रता"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "प्रतिक्रिया दें - पेनपॉट"
@@ -4330,7 +4290,7 @@ msgstr "प्रतिक्रिया दें - पेनपॉट"
msgid "title.settings.notifications"
msgstr "सूचनाएं - पेनपॉट"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "सेटिंग्स - पेनपॉट"
@@ -4338,27 +4298,27 @@ msgstr "सेटिंग्स - पेनपॉट"
msgid "title.settings.password"
msgstr "पासवर्ड - पेनपॉट"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "प्रोफ़ाइल - पेनपॉट"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "निमंत्रण - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "सदस्य - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "सेटिंग्स - %s - पेनपॉट"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "वेबहुक - %s - पेनपोट"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - दृश्य मोड - पेनपोट"
@@ -4370,99 +4330,99 @@ msgstr "%s - पेनपोट"
msgid "token-actions.detach-token"
msgstr "token अलग करें"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "पृष्ठ पर कोई बोर्ड नहीं मिला।"
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "बोर्ड नहीं मिला।"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "टिप्पणियाँ (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "इंटरैक्शन न दिखाएं"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "पूर्ण स्क्रीन"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "निरीक्षण करें (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "इंटरैक्शन"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "अंतर्क्रियाएँ (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "लिंक कॉपी करें"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "इंटरैक्शन दिखाएँ"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "क्लिक पर इंटरैक्शन दिखाएं"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "साइटमैप"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "पिछली डिलीवरी सफल रही।"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "क्षैतिज केंद्र पर संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "क्षैतिज अंतराल वितरित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "बाएँ संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "दाएँ संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "नीचे संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "ऊर्ध्वाधर केंद्र पर संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "ऊर्ध्वाधर अंतराल वितरित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "ऊपर संरेखित करें (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "लाइब्रेरी जोड़ें"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "सभी एसेट्स"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "रंगों"
@@ -4474,7 +4434,7 @@ msgstr "रंग जोड़ें"
msgid "workspace.assets.component-group-options"
msgstr "घटक समूह विकल्प"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "घटकों"
@@ -4482,7 +4442,7 @@ msgstr "घटकों"
msgid "workspace.assets.components.add-component"
msgstr "घटक जोड़ें"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s प्रकार"
@@ -4490,15 +4450,15 @@ msgstr "%s प्रकार"
msgid "workspace.assets.create-group"
msgstr "एक समूह बनाएं"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "आपके आइटम अपने आप “ग्रुप नाम / आइटम नाम” के रूप में नामित किए जाएंगे"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "मिटाना"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "नकल करें"
@@ -4506,39 +4466,39 @@ msgstr "नकल करें"
msgid "workspace.assets.duplicate-main"
msgstr "मुख्य की नकल करें"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "संपादन"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "फिल्टर"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "जाल दृश्य"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "समूह"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "समूह नाम"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "सूची दृश्य"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "स्थानीय लाइब्रेरी"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "लाइब्रेरी मैनेज करें"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "कोई एसेट्स नहीं मिले"
@@ -4546,7 +4506,7 @@ msgstr "कोई एसेट्स नहीं मिले"
msgid "workspace.assets.open-library"
msgstr "लाइब्रेरी फ़ाइल खोलें"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "नाम बदलें"
@@ -4554,11 +4514,11 @@ msgstr "नाम बदलें"
msgid "workspace.assets.rename-group"
msgstr "समूह का नाम बदलें"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "एसेट्स खोजें"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "साझा लाइब्रेरी"
@@ -4568,43 +4528,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 घटक"
msgstr[1] "%s घटकों"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "क्रमबद्ध"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "टाइपोग्राफ़ी"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "टाइपोग्राफी जोड़ें"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "आकार"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "फ़ॉन्ट शैली"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "संपादन के लिए स्टाइल लाइब्रेरी फ़ाइल पर जाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "पत्र अंतराल"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "रेखा ऊँचाई"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "पाठ रूपांतरण"
@@ -4616,77 +4576,77 @@ msgstr "असमूहीकृत"
msgid "workspace.colorpicker.color-tokens"
msgstr "रंग टोकन"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "घटकों को अपने अंदर नहीं रखा जा सकता।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"कुछ प्रतियों को स्विच नहीं किया जा सका। घटकों को आपस में नेस्ट नहीं किया जा "
"सकता।"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "क्षेत्र बनाएं"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "बोर्ड बनाएं"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "कोष्ठक जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "दाईं ओर 1 कॉलम जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "बाईं ओर 1 कॉलम जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "कॉलम हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "स्तंभ और आकृतियाँ हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "डुप्लिकेट कॉलम"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "नीचे 1 पंक्ति जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "ऊपर 1 पंक्ति जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "पंक्ति हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "पंक्ति और आकृतियाँ हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "डुप्लिकेट पंक्ति"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "फोकस मोड"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "ध्यान हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "ध्यान केंद्रित करें"
@@ -4698,191 +4658,191 @@ msgstr "रैखिक ग्रेडिएंट"
msgid "workspace.gradients.radial"
msgstr "वृत्तीय ग्रेडिएंट"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "गतिशील संरेखण अक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "अनुपातिक स्केल अक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "मार्गदर्शकों से स्नैप बंद करें"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "पिक्सेल से स्नैप अक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "रूलर गाइड से स्नैप अक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "डायनामिक संरेखण सक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "आनुपातिक पैमाना सक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "गाइड्स से स्नैप"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "पिक्सेल पर स्नैप सक्षम करें"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "रूलर गाइड पर स्नैप करें"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "बोर्ड के नाम छिपाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "गाइड छिपाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "रंग पैलेट छिपाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "पिक्सेल ग्रिड छिपाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "रूलर छुपाएं"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "फ़ॉन्ट पैलेट छुपाएं"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "संपादन"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "फ़ाइल"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "सहायता और जानकारी"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "प्राथमिकताएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "देखना"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "फिर से करें"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "सबका चयन करें"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "बोर्डों के नाम दिखाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "गाइड दिखाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "रंग पैलेट दिखाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "पिक्सेल ग्रिड दिखाएँ"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "रूलर दिखाएं"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "फ़ॉन्ट पैलेट दिखाएं"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "डार्क थीम पर स्विच करें"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "लाइट थीम पर स्विच करें"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "सिस्टम थीम पर स्विच करें"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "पूर्ववत"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "रीसेट करें"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "सहेजने में त्रुटि"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "सहेजा गया"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "सहेजा जा रहा है"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "शेयर"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "दृश्य मोड (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "ज़ूम"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "भरें - भरने के लिए पैमाना"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "फिट - फिट करने के लिए स्केल डाउन करें"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "सभी को फिट करने के लिए ज़ूम करें"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "पूर्ण स्क्रीन"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "चयनित पर ज़ूम करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "ग्रिड संपादित करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "प्रस्थान"
@@ -4890,7 +4850,7 @@ msgstr "प्रस्थान"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "नीचे पैडिंग"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4 ओर के पैडिंग विकल्प दिखाएं"
@@ -4926,29 +4886,29 @@ msgstr "पूर्ण"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "स्थान खोजें"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "ग्रिड लेआउट का स्थान खोजें"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 रंग"
msgstr[1] "%s रंग"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "आपकी लाइब्रेरी में अभी कोई रंग शैली नहीं है"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "आपकी लाइब्रेरी में अभी कोई टाइपोग्राफी शैली नहीं है"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "फ़ाइल लाइब्रेरी"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "हाल के रंग"
@@ -4960,93 +4920,93 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "रंग शैली सहेजें"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 घटक"
msgstr[1] "%s घटक"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "से जुड़ा"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "या इनमें से कुछ को जोड़कर देखें:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "आपकी टीम में कोई साझा लाइब्रेरी नहीं है, आप खोज सकते हैं"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "यहाँ कुछ टेम्पलेट्स हैं"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "फ़ाइल लाइब्रेरी"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 ग्राफ़िक"
msgstr[1] "%s ग्राफ़िक्स"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "इस फ़ाइल में लाइब्रेरीज़"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "लाइब्रेरीज़"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "लाइब्रेरी अपडेट"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "लोड हो रहा है…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "ऐसी कोई साझा लाइब्रेरी नहीं है जिसे अद्यतन करने की आवश्यकता हो"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "“%s“ के लिए कोई मिलान नहीं मिला"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "साझा लाइब्रेरी खोजें"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "साझा लाइब्रेरीज़"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "लाइब्रेरी कनेक्ट करें"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 अक्षर विन्यास"
msgstr[1] "%s अक्षर विन्यास"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "लाइब्रेरी डिस्कनेक्ट करें"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "अद्यतन"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "सभी परिवर्तन देखें"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "अपडेट"
@@ -5082,117 +5042,117 @@ msgstr "धुंधलापन टॉगल करें"
msgid "workspace.options.canvas-background"
msgstr "कैनवास पृष्ठभूमि"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "क्लिप सामग्री"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "घटक"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "व्याख्या"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "कापी"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "एक व्याख्या बनाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "व्याख्या संपादित करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "मुख्य"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "स्वैप घटक"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "इस लाइब्रेरी में अभी तक कोई संपत्ति नहीं है"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "अनलिंक"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "परस्पर विरोधी वेरिएंट का पता लगाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"इस घटक में परस्पर विरोधी वैरिएंट हैं। सुनिश्चित करें कि प्रत्येक वैरिएंट "
"में गुण मानों का एक विशिष्ट सेट हो।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "डुप्लिकेट वेरिएंट का पता लगाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "कुछ वेरिएंट में समान गुण और मूल्य होते हैं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"इन वेरिएंट के गुण और मान समान हैं। मानों को समायोजित करें ताकि उन्हें "
"पुनर्प्राप्त किया जा सके।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"इस संस्करण के गुण और मान दूसरे संस्करण के समान हैं। मानों को समायोजित करें "
"ताकि उन्हें पुनर्प्राप्त किया जा सके।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"इनमें से कुछ वेरिएंट के गुण और मान समान हैं। मानों को समायोजित करें ताकि "
"उन्हें पुनर्प्राप्त किया जा सके।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"इस घटक के कुछ वेरिएंट अमान्य नामों वाले हैं। सुनिश्चित करें कि प्रत्येक "
"वेरिएंट सही संरचना का पालन कर रहा है।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "अमान्य वेरिएंट का पता लगाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "कुछ वेरिएंट के नाम अमान्य हैं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "अमान्य वेरिएंट का पता लगाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "इन वेरिएंट के नाम अमान्य हैं।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "इस संस्करण का नाम अमान्य है।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "इनमें से कुछ रूपों के नाम अमान्य हैं।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[संपत्ति]=[मूल्य], [संपत्ति]=[मूल्य]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "निम्नलिखित संरचना का उपयोग करने का प्रयास करें:"
@@ -5228,7 +5188,7 @@ msgstr "समान पदानुक्रम स्तर रखें।"
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "समूह, बोर्ड और लेआउट को समतुल्य माना जाता है।"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "वेरिएंट कैसे जुड़े रहते हैं"
@@ -5272,11 +5232,11 @@ msgstr "शीर्ष"
msgid "workspace.options.constraints.topbottom"
msgstr "शीर्ष और तल"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "डिज़ाइन"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "निर्यात"
@@ -5284,37 +5244,37 @@ msgstr "निर्यात"
msgid "workspace.options.export-multiple"
msgstr "निर्यात चयन"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "1 तत्व निर्यात करें"
msgstr[1] "%s तत्व निर्यात करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "निर्यात जोड़ें"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "निर्यात हटाएँ"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "प्रत्यय"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "निर्यात पूर्ण"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "निर्यात हो रहा है…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "निर्यात विफल"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "निर्यात अप्रत्याशित रूप से धीमा"
@@ -5330,7 +5290,7 @@ msgstr "भरण जोड़ें"
msgid "workspace.options.fill.remove-fill"
msgstr "भराव हटाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "सामग्री को फिट करने के लिए बोर्ड का आकार बदलें"
@@ -5354,67 +5314,67 @@ msgstr "प्रवाह प्रारंभ हो जाता है"
msgid "workspace.options.grid.auto"
msgstr "स्वत:"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "कॉलम"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "रंग"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "मध्य अंतराल"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "ऊंचाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "मार्जिन"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "डिफ़ॉल्ट के रूप में सेट करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "तल"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "केंद्र"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "बाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "दाहिने"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "खींचना"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "शीर्ष"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "डिफ़ॉल्ट उपयोग करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "चौड़ाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "पंक्तियाँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "चौकोर"
@@ -5426,7 +5386,7 @@ msgstr "समूह भरण"
msgid "workspace.options.group-stroke"
msgstr "समूह स्ट्रोक"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "मार्गदर्शक जोड़ें"
@@ -5434,19 +5394,19 @@ msgstr "मार्गदर्शक जोड़ें"
msgid "workspace.options.guides.remove-guide"
msgstr "मार्गदर्शक हटाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "मार्गदर्शक"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "मार्गदर्शक टॉगल करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "ऊंचाई"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "निरीक्षण करें"
@@ -5662,107 +5622,107 @@ msgstr "इंटरैक्शन"
msgid "workspace.options.interactions.add-interaction"
msgstr "इंटरैक्शन जोड़ें"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "रंग"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "रंग जलना"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "रंग डॉज"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "अंधेरा करना"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "भेद"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "बहिष्करण"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "हार्ड लाइट"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Hue"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "हल्का"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "प्रकाशीयता"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "गुणा करना"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "सामान्य"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "ओवरले"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "संतृप्ति"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "स्क्रीन"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "कोमल प्रकाश"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "परत दृश्यता टॉगल करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "अधिकतम.ऊंचाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "अधिकतम.चौड़ाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "न्यूनतम.ऊंचाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "न्यूनतम.चौड़ाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "और अधिक रंग"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "और लाइब्रेरी रंग"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "अधिक रंग के टोकन"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "ओपेसिटी"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "प्रोटोटाइप"
@@ -5794,19 +5754,19 @@ msgstr "स्वतंत्र त्रिज्या को संक्ष
msgid "workspace.options.radius.show-single-corners"
msgstr "स्वतंत्र त्रिज्या दिखाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "हाल ही का"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "पुन: प्रयास करें"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "चक्कर"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "फ़ॉन्ट खोजें"
@@ -5814,7 +5774,7 @@ msgstr "फ़ॉन्ट खोजें"
msgid "workspace.options.select-a-shape"
msgstr "किसी कनेक्शन को दूसरे बोर्ड तक ले जाने के लिए एक शेप, बोर्ड या ग्रुप चुनें।"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "चयनित रंग"
@@ -5882,55 +5842,55 @@ msgstr "छाया टॉगल करें"
msgid "workspace.options.show-fill-on-export"
msgstr "निर्यात में दिखाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "दृश्य मोड में दिखाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "आकार"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "आकार प्रीसेट"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "लॉक अनुपात"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "अनलॉक अनुपात"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "चक्र"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "हीरा"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "तीर"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "कोई नहीं"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "गोल"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "चौकोर"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "आयत"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "त्रिकोण"
@@ -5938,7 +5898,7 @@ msgstr "त्रिकोण"
msgid "workspace.options.stroke-color"
msgstr "स्ट्रोक का रंग"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "स्ट्रोक की चौड़ाई"
@@ -5946,35 +5906,35 @@ msgstr "स्ट्रोक की चौड़ाई"
msgid "workspace.options.stroke.add-stroke"
msgstr "स्ट्रोक रंग जोड़ें"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "केंद्र"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "टूटी रेखा"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "बिंदुदार"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "अंदर"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "मिश्रित"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "बाहर की ओर"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "स्ट्रोक हटाओ"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "ठोस"
@@ -6010,11 +5970,11 @@ msgstr "ऑटो चौड़ाई"
msgid "workspace.options.text-options.grow-fixed"
msgstr "निश्चित"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "अक्षरांतर"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "रेखा ऊँचाई"
@@ -6058,128 +6018,128 @@ msgstr "अंडरलाइन (%s)"
msgid "workspace.options.use-play-button"
msgstr "प्रोटोटाइप व्यू चलाने के लिए हेडर में प्ले बटन का उपयोग करें।"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "चौड़ाई"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X अक्ष"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y अक्ष"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "नोड ड्रा करें (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "नोड्स जोड़ें (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "कोने तक (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "वक्र बनाएं (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "नोड्स मर्ज करें (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "नोड्स ले जाएँ (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "अलग नोड्स (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "स्नैप नोड्स (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "खुला"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "खोजें [अधिक प्लगइन्स](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "अभी तक कोई प्लगइन्स इंस्टॉल नहीं है"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "प्लगइन मैनिफेस्ट गलत है।"
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "इस प्लगइन का उपयोग करने के लिए आपको एक संपादक होना आवश्यक है"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "प्लगइन मौजूद नहीं है या URL सही नहीं है।"
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "इंस्टॉल"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "इंस्टॉल किए गए प्लगइन्स"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "प्लगइन्स मैनेजर"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "प्लग-इन"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "इस प्लगइन को अद्यतन करें"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"आपके द्वारा पिछली बार खोलने के बाद से इस प्लगइन में बदलाव किए गए हैं। अब यह "
"निम्न तक पहुँच प्राप्त करना चाहता है:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "फ़ाइल डाउनलोड प्रारंभ करें।"
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "ब्राउज़र में डेटा संग्रहीत करें।"
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "अपनी टिप्पणियाँ और उत्तर पढ़ें।"
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "आपकी टिप्पणियाँ पढ़ें और उनमें संशोधन करें, और आपके नाम से उत्तर दें।"
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "उन फ़ाइलों की सामग्री पढ़ें जिन तक उपयोगकर्ताओं को पहुँच प्राप्त है।"
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr ""
"उन फ़ाइलों की सामग्री पढ़ें और संशोधित करें जिन तक उपयोगकर्ताओं को पहुँच "
"प्राप्त है।"
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"कृपया ध्यान दें कि यह प्लगइन किसी बाहरी पक्ष द्वारा बनाया गया है, इसलिए "
@@ -6187,74 +6147,74 @@ msgstr ""
"आपकी डेटा गोपनीयता और सुरक्षा हमारे लिए महत्वपूर्ण है। यदि आपको कोई चिंता "
"हो, तो कृपया सहायता केंद्र से संपर्क करें।"
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "आपकी लाइब्रेरी और संसाधनों को पढ़ें।"
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "आपकी लाइब्रेरी और संसाधनों को पढ़ें और संशोधित करें।"
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' प्लगइन को निम्न तक पहुँच चाहिए:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "वर्तमान उपयोगकर्ता की प्रोफ़ाइल जानकारी पढ़ें।"
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "प्लगइन्स सूची"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "प्लगइन हटाएँ"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "एक प्लगइन URLलिखें"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "प्लग-इन"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "अभी नहीं"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"देखना चाहेंगे? यह आपकी वर्तमान टीम के लिए एक नए ड्राफ्ट में खुलेगा। (यदि "
"नहीं, तो आप इसे किसी भी फ़ाइल के इंस्टॉल किए गए प्लगइन्स में हमेशा पा सकते "
"हैं।)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "%s' प्लगइन आपके उपयोगकर्ता के लिए इंस्टॉल हो चुका है!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "प्लगइन आज़माएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "फ्लेक्स लेआउट जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "ग्रिड लेआउट जोड़ें"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "लेआउट जोड़ें"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "वैरिएंट बनाएं"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "नई संपत्ति जोड़ें"
@@ -6266,7 +6226,7 @@ msgstr "वापस भेजो"
msgid "workspace.shape.menu.backward"
msgstr "पीछे भेजें"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "वैरिएंट के रूप में संयोजित करें"
@@ -6274,7 +6234,7 @@ msgstr "वैरिएंट के रूप में संयोजित
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "घटकों को एक ही पृष्ठ पर होना आवश्यक है"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "कापी"
@@ -6310,27 +6270,27 @@ msgstr "पाठ के रूप में कॉपी करें"
msgid "workspace.shape.menu.create-annotation"
msgstr "एनोटेशन बनाएं"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "बोर्ड के लिए चयन"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "घटक बनाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "अनेक घटक बनाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "काटना"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "मिटाना"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "प्रवाह प्रारंभ हटाएँ"
@@ -6342,7 +6302,7 @@ msgstr "उदाहरण अलग करें"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "उदाहरणों को अलग करें"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "भेद"
@@ -6350,15 +6310,15 @@ msgstr "भेद"
msgid "workspace.shape.menu.duplicate"
msgstr "नकल करें"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "संपादन"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "बहिष्कृत"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "समतल"
@@ -6370,7 +6330,7 @@ msgstr "क्षैतिज पलटें"
msgid "workspace.shape.menu.flip-vertical"
msgstr "ऊर्ध्वाधर पलटना"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "प्रवाह प्रारंभ"
@@ -6382,31 +6342,31 @@ msgstr "आगे लाओ"
msgid "workspace.shape.menu.front"
msgstr "सामने लाना"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "समूह"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "छुपाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "UI दिखाएँ / छिपाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "चौराहा"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "ताला"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "मास्क"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "चिपकाएँ"
@@ -6414,27 +6374,27 @@ msgstr "चिपकाएँ"
msgid "workspace.shape.menu.paste-props"
msgstr "गुण चिपकाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "पथ"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "फ्लेक्स लेआउट हटाएँ"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "ग्रिड लेआउट हटाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "लेआउट हटाएँ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "संपत्ति हटाएं"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "वैरिएंट में कम से कम एक प्रॉपर्टी होनी चाहिए"
@@ -6458,11 +6418,11 @@ msgstr "वैरिएंट पुनर्स्थापित करें"
msgid "workspace.shape.menu.select-layer"
msgstr "परत चुनें"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "दिखाएँ"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "संपत्ति पैनल में दिखाएँ"
@@ -6478,19 +6438,19 @@ msgstr "थंबनेल निकालें"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "थंबनेल के रूप में सेट करें"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "असमूहीकृत"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "संघ"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "अनलॉक"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "मास्क हटाएं"
@@ -6506,47 +6466,47 @@ msgstr "साइडबार को संक्षिप्त करें"
msgid "workspace.sidebar.expand"
msgstr "साइडबार का विस्तार करें"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "इतिहास"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "परतें"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "घटकों"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "बोर्ड्स"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "कई समूह"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "छवियाँ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "मास्क्स"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "खोजो…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "आकृतियाँ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "आयातित SVG गुण"
@@ -6558,7 +6518,7 @@ msgstr "पृष्ठों"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "पृष्ठ जोड़ें"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "साइटमैप"
@@ -6578,7 +6538,7 @@ msgstr "इस समूह में सेट जोड़ें"
msgid "workspace.tokens.add-token"
msgstr "टोकन जोड़ें: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "के लिए आवेदन किया"
@@ -6598,7 +6558,7 @@ msgstr "आधार फ़ॉन्ट आकार"
msgid "workspace.tokens.base-font-size.error"
msgstr "बेस फ़ॉन्ट का आकार पिक्सेल या यूनिट रहित होना चाहिए।"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "रंग"
@@ -6606,7 +6566,7 @@ msgstr "रंग"
msgid "workspace.tokens.create-new-theme"
msgstr "अभी अपनी पहली थीम बनाएं।"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "एक बनाएं।"
@@ -6626,7 +6586,7 @@ msgstr "थीम हटाएँ"
msgid "workspace.tokens.duplicate"
msgstr "डुप्लीकेट टोकन"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "कापी"
@@ -6674,7 +6634,7 @@ msgstr "पूर्व दर्शन:"
msgid "workspace.tokens.export.single-file"
msgstr "एक फाइल"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "फ़ॉन्ट आकार या {उपनाम}"
@@ -6684,7 +6644,7 @@ msgstr ""
"फ़ॉन्ट वज़न/शैली सेट करते समय त्रुटि हुई। यह फ़ॉन्ट शैली वर्तमान फ़ॉन्ट में "
"मौजूद नहीं है"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "फ़ॉन्ट वज़न (300, बोल्ड इटैलिक...) या {उपनाम}"
@@ -6720,7 +6680,7 @@ msgstr "एकाधिक फ़ाइलों में, फ़ाइल न
msgid "workspace.tokens.import-single-file"
msgstr "एकल JSON फ़ाइल में, प्रथम-स्तरीय कुंजियाँ टोकन सेट के नाम होने चाहिएं।"
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "टोकन आयात करें"
@@ -6728,17 +6688,17 @@ msgstr "टोकन आयात करें"
msgid "workspace.tokens.import-warning"
msgstr "टोकन आयात करने से आपके सभी वर्तमान टोकन, सेट और थीम ओवरराइट हो जाएँगे।"
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "निष्क्रिय"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"यह सेट सक्रिय नहीं है। व्यूपोर्ट में परिवर्तन देखने के लिए थीम बदलें या इस "
"सेट को सक्रिय करें"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "व्यक्तिगत टोकन का प्रयोग करें"
@@ -6758,11 +6718,11 @@ msgstr "थिम"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "एक थीम जोड़ें (अर्थात् प्रकाश)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "अक्षर रिक्ति या {उपनाम}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "पंक्ति ऊँचाई (गुणक, पिक्सेल, %) या {उपनाम}"
@@ -6778,7 +6738,7 @@ msgstr "अधिकतम. आकार"
msgid "workspace.tokens.min-size"
msgstr "न्यूनतम. आकार"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "विकल्प देखने के लिए राइट क्लिक करें"
@@ -6794,7 +6754,7 @@ msgstr "कोई थीम सक्रिय नहीं"
msgid "workspace.tokens.no-permisions-set"
msgstr "सेट्स को सक्रिय या निष्क्रिय करने के लिए आपको एक संपादक होना आवश्यक है"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "थीम्स का उपयोग करने के लिए आपको एक संपादक होना आवश्यक है"
@@ -6806,7 +6766,7 @@ msgstr "अभी तक कोई सेट परिभाषित नही
msgid "workspace.tokens.no-sets-yet"
msgstr "अभी तक कोई सेट नहीं है।"
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "कोई थीम नहीं हैं।"
@@ -6818,7 +6778,7 @@ msgstr "आपके पास वर्तमान में कोई थी
msgid "workspace.tokens.num-active-sets"
msgstr "%s सक्रिय सेट"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "मूल मान: %s"
@@ -6830,15 +6790,15 @@ msgstr "पैडिंग्स"
msgid "workspace.tokens.radius"
msgstr "त्रिज्या"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "token टाइपोग्राफी उपनाम दर्ज करें"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "एक token छाया आलिया दर्ज करें"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "समाधानित मान: %s"
@@ -6874,31 +6834,31 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "टोकन सेटिंग्स"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "छाया जोड़ें"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "धुंधला"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "अंतर्भूत"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "छाया हटाएँ"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "फैलाना"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -6906,11 +6866,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "आकार"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "कोई नहीं | अपरकेस | लोअरकेस | कैपिटलाइज़ या {उपनाम}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "कोई नहीं | रेखांकित | स्ट्राइक-थ्रू या {उपनाम}"
@@ -6928,31 +6888,31 @@ msgstr "थीम्स सूची"
msgid "workspace.tokens.token-description"
msgstr "विवरण"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "फ़ॉन्ट परिवार चुनें"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "फॉन्ट परिवार"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "फ़ॉन्ट परिवार या अल्पविराम (,) द्वारा अलग किए गए फ़ॉन्ट की सूची"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "नाम"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "पथ पर एक token पहले से मौजूद है: %s"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "नाम कम से कम 1 अक्षर का होना चाहिए"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" एक मान्य टोकन नाम नहीं है।\n"
@@ -6963,11 +6923,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "मान"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "{alias} के साथ एक मान या उपनाम दर्ज करें"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "टोकन - %s"
@@ -6985,11 +6945,11 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "टाइप '%s' समर्थित नहीं है (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "एक संदर्भ का प्रयोग करें"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "मान मान्य नहीं है"
@@ -6997,55 +6957,55 @@ msgstr "मान मान्य नहीं है"
msgid "workspace.toolbar.assets"
msgstr "एसेट्स"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "रंग पैलेट (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "टिप्पणियाँ (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "वक्र (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "दीर्घवृत्त (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "बोर्ड (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "छवि (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "स्थानांतरित करें (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "पथ (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "प्लगइन्स (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "आयत (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "पाठ (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "टाइपोग्राफी (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "टूलबार टॉगल करें"
@@ -7058,7 +7018,7 @@ msgstr "पूर्ण"
msgid "workspace.top-bar.view-only"
msgstr "**निरीक्षण कोड** (केवल देखें)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "अभी तक इतिहास में कोई बदलाव नहीं हुआ है"
@@ -7198,19 +7158,19 @@ msgstr "टाइपोग्राफी संपत्ति"
msgid "workspace.undo.entry.unknown"
msgstr "% से अधिक ऑपरेशन"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "नकार देना"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "और जानकारी"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "साझा लाइब्रेरीज़ में अपडेट्स हैं"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "अद्यतन"
diff --git a/frontend/translations/hr.po b/frontend/translations/hr.po
index 93081b3c64..69f679cb48 100644
--- a/frontend/translations/hr.po
+++ b/frontend/translations/hr.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: al0cam \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Croatian "
" \n"
"Language: hr\n"
@@ -10,9 +10,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Već imaš račun?"
@@ -30,7 +30,7 @@ msgstr ""
"Ovo je DEMO usluga. NEMOJ KORISTITI za pravi rad. Projekti će se povremeno "
"brisati."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Zaboravljena lozinka?"
@@ -38,35 +38,35 @@ msgstr "Zaboravljena lozinka?"
msgid "auth.fullname"
msgstr "Puno ime"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Prijavite se na svoj račun"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Prijavi se ovdje."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot je besplatan alat otvorenog koda za dizajn i suradnju na kodu"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -86,7 +86,7 @@ msgstr "Profil nije potvrđen, potvrdi profil prije nastavka."
msgid "auth.notifications.recovery-token-sent"
msgstr "Veza za oporavak lozinke poslana je u tvoj inbox."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Uspješno pridružen/a timu"
@@ -118,7 +118,7 @@ msgstr "Zaboravljena lozinka?"
msgid "auth.recovery-submit"
msgstr "Promjeni lozinku"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Još nemaš račun?"
@@ -130,7 +130,7 @@ msgstr "Recite nam kako bismo Vas trebali zvati na nadzornoj ploči i u e-poruka
msgid "auth.register-account-title"
msgstr "Vaše ime"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Stvori račun"
@@ -143,7 +143,7 @@ msgstr "Stvori račun"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Uvjeti pružanja usluge"
@@ -155,94 +155,94 @@ msgstr "Poslovna e-pošta"
msgid "comments.mentions.not-found"
msgstr "Nisu pronađene osobe za @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Objavi"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Svi Penpot korisnici"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Jesi li siguran/na da želiš ukloniti ovu vezu? Ako to učiniš, više nikome "
"neće biti dostupno"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(postojeći)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Poništi poveznicu"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Izradi poveznicu"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Poveznica uspješno kopirana"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Upravljanje dopuštenjima"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 stranica podijeljena"
msgstr[1] "%s stranica podijeljeno"
msgstr[2] "%s stranica podijeljeno"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Dopušten komentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Dopušteno provjeriti kod"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Svatko sa poveznicom imat će pristup"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Stranice podijeljene"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Ovdje će se pojaviti poveznica za dijeljenje"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Samo članovi tima"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Podijeli prototip"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Označi sve"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Poništi objavu"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Upravljanje timom"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot je namijenjen timovima. Pozovi članove da zajedno rade na projektima "
"i datotekama"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Udruži se!"
@@ -250,23 +250,23 @@ msgstr "Udruži se!"
msgid "dashboard.add-file"
msgstr "Dodaj datoteku"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Dodaj kao zajedničku biblioteku"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Promijeni e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopiraj)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "+ Kreiraj novi tim"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Prikvači ovu verziju"
@@ -274,11 +274,11 @@ msgstr "Prikvači ovu verziju"
msgid "dashboard.default-team-name"
msgstr "Tvoj Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Obriši tim"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Preuzmi Penpot datoteku (.penpot)"
@@ -290,19 +290,19 @@ msgstr "Kopija"
msgid "dashboard.duplicate-multi"
msgstr "Kopiraj %s datoteka"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Još nema nacrta."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Nakon što član projekta stvori datoteku, ona će se prikazati ovdje."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Još nema datoteka."
@@ -326,68 +326,68 @@ msgstr "Još nema biblioteka."
msgid "dashboard.export-binary-multi"
msgstr "Preuzmi %s Penpot datoteke (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Izvezi artboard u PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Izvezi u PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "% od % elementa označeno"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Izvezi"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Postavke izvoza možeš dodati elementima iz svojstava dizajna (na dnu desne "
"bočne trake)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informacije kako postaviti izvoz na Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Nema elemenata s postavkama izvoza."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Izvezi odabir"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Font izbrisan"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Odbaci sve"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Još uvijek nemaš instalirane custom fontove."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Još nema prilagođenih fontova."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -396,7 +396,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -405,11 +405,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Učitaj sve"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -420,11 +420,11 @@ msgstr ""
"korištenje [Transfonter](https://transfonter.org/) za generiranje "
"web-fontova i ispravljanje pogrešaka. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Uvezi Penpot datoteke"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ups! Nismo mogli uvesti ovu datoteku"
@@ -432,14 +432,14 @@ msgstr "Ups! Nismo mogli uvesti ovu datoteku"
msgid "dashboard.import.bad-url"
msgstr "Uvoz nije uspio. URL predloška nije točan"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "Datoteka je uspješno uvezena."
msgstr[1] "%s datoteke su uspješno uvezene."
msgstr[2] "%s datoteke su uspješno uvezene."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Neke su datoteke sadržavale nevažeće objekte koji su uklonjeni."
@@ -447,55 +447,27 @@ msgstr "Neke su datoteke sadržavale nevažeće objekte koji su uklonjeni."
msgid "dashboard.import.no-perms"
msgstr "Nemate dopuštenje za uvoz u ovaj tim"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Obrada boja"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Obrada komponenti"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Obrada medija"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Obrada stranice: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Obrada tipografija"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Prijenos podataka na poslužitelj (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Prijenos datoteke: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Pozovi u tim"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Napusti tim"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Biblioteke i predlošci"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Istraži više njih i saznaj kako doprinijeti"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Biblioteke"
@@ -503,7 +475,7 @@ msgstr "Biblioteke"
msgid "dashboard.loading-files"
msgstr "učitavanje tvojih datoteka…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "učitavanje tvojih fontova…"
@@ -519,39 +491,39 @@ msgstr "Premijesti %s datoteke u"
msgid "dashboard.move-to-other-team"
msgstr "Premijesti u drugi tim"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nova datoteka"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nova datoteka"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Novi projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Novi projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nisu pronađeni rezultati za “%s”"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Prikvačeni projekti pojavit će se ovdje"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Obavijesti"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Tvoja e-mail adresa je uspješno ažurirana"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Tvoja e-mail adresa je uspješno potvrđena"
@@ -563,11 +535,11 @@ msgstr "Postavke obavijesti ažurirane"
msgid "dashboard.notifications.password-saved"
msgstr "Lozinka je uspješno spremljena!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Pregledajte obavijesti"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s članova"
@@ -575,7 +547,7 @@ msgstr "%s članova"
msgid "dashboard.open-in-new-tab"
msgstr "Otvori datoteku u novoj kartici"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Mogućnosti"
@@ -599,7 +571,7 @@ msgstr "Sada ste vlasnik ovog tima."
msgid "dashboard.permissions-change.viewer"
msgstr "Sada ste gledatelj u ovom timu."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Prikvači/Otkvači"
@@ -615,11 +587,11 @@ msgstr "Nije moguće analizirati manifest dodatka"
msgid "dashboard.plugins.try-plugin"
msgstr "Isprobajte dodatak: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekti"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Želiš li ukloniti svoj račun?"
@@ -627,23 +599,23 @@ msgstr "Želiš li ukloniti svoj račun?"
msgid "dashboard.removed-from-team"
msgstr "Niste više dio tima \"%s\"."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Spremi postavke"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Pretraži…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Pretraga \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Odaberite jezik korisničkog sučelja"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Odaberi temu"
@@ -707,11 +679,11 @@ msgstr "Ažurirajte postavke"
msgid "dashboard.settings.notifications.title"
msgstr "Obavijesti"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Prikaži sve datoteke"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Povijest verzija"
@@ -737,7 +709,7 @@ msgstr[2] "Tvoje datoteke su uspješno duplicirane"
msgid "dashboard.success-duplicate-project"
msgstr "Tvoj projekt je uspješno dupliciran"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Tvoja datoteka je uspješno premještena"
@@ -749,86 +721,86 @@ msgstr "Tvoje datoteke su uspješno premještene"
msgid "dashboard.success-move-project"
msgstr "Tvoj projekt je uspješno premješten"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informacije tima"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Članovi tima"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projekti tima"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema korisničkog sučelja"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Pretraži rezultate"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Upiši za rezultate pretraživanja"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Poništi objavu biblioteke"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Ažuriraj postavke"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Aktivno"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
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:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Možete samo brisati ili mijenjati webhookove koje ste sami izradili."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Vrsta sadržaja"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Stvorite webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook je uspješno stvoren."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
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:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Pritisnite gumb \"Dodaj webhook\" da biste ga dodali."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Do sada nije izrađen nijedan webhook."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Tvoj korisnički račun"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ime"
@@ -844,11 +816,11 @@ msgstr "Pažnja"
msgid "ds.component-subtitle"
msgstr "Komponente za ažuriranje:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Dopusti"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Poništi"
@@ -868,15 +840,15 @@ msgstr "Davatelj autentifikacije nije dopušten za ovaj profil"
msgid "errors.auth-provider-not-configured"
msgstr "Pružatelj autentifikacije nije konfiguriran."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Čini se da nisi autentificiran/a ili je sesija istekla."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Font %s nije moguće učitati"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Fontovi %s nisu mogli biti učitani"
@@ -884,15 +856,15 @@ msgstr "Fontovi %s nisu mogli biti učitani"
msgid "errors.cannot-upload"
msgstr "Nije moguće učitati medijsku datoteku."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Tvoj preglednik ne može izvršiti ovu operaciju"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-mail se već koristi"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail je već potvrđen."
@@ -900,25 +872,25 @@ msgstr "E-mail je već potvrđen."
msgid "errors.email-as-password"
msgstr "Ne možeš koristiti svoj e-mail kao lozinku"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
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:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "E-pmail «%s» ima mnogo trajnih izvješća o odbijanju."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
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/errors.cljs:819
+#: src/app/main/errors.cljs:990
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:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Značajka '%s' nije podržana."
@@ -930,14 +902,14 @@ msgstr "Mora sadržavati najmanje 1 znak."
msgid "errors.field-not-all-whitespace"
msgstr "Ime mora sadržavati neki znak osim razmaka."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
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:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Dogodilo se nešto loše."
@@ -949,7 +921,7 @@ msgstr "Pogrešna boja"
msgid "errors.invalid-email"
msgstr "Unesite valjanu e-poštu"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "E-mail za potvrdu mora odgovarati"
@@ -969,11 +941,11 @@ msgstr "Ova pozivnica je možda otkazana ili je istekla."
msgid "errors.ldap-disabled"
msgstr "Onemogućena je LDAP provjera autentičnosti."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Dosegli ste kvotu '%s'. Kontaktirajte podršku."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "Dosegnut je najveći (%s) broj e-pošta koje se mogu pozvati u jednom zahtjevu"
@@ -989,13 +961,13 @@ msgstr "Čini se da sadržaj slike ne odgovara ekstenziji datoteke."
msgid "errors.media-type-not-allowed"
msgstr "Čini se da ovo nije važeća slika."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
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:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migracija u tijeku"
@@ -1007,7 +979,7 @@ msgstr "Lozinka za potvrdu mora odgovarati"
msgid "errors.password-too-short"
msgstr "Lozinka mora sadržavati najmanje 8 znakova"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Nevažeći podaci u međuspremniku"
@@ -1015,7 +987,7 @@ msgstr "Nevažeći podaci u međuspremniku"
msgid "errors.profile-blocked"
msgstr "Profil je blokiran"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Tvoj profil ima isključen e-mail (izvješća o neželjenoj pošti ili veliki "
@@ -1025,19 +997,19 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Registracija je trenutno onemogućena."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Otkrivena nekompatibilna značajka '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Nedovoljno članova za napuštanje tima, vjerojatno ga želiš izbrisati."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Član kojeg pokušavaš dodijeliti ne postoji."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Vlasnik ne može napustiti tim, moraš ponovno dodijeliti ulogu vlasnika."
@@ -1045,39 +1017,39 @@ msgstr "Vlasnik ne može napustiti tim, moraš ponovno dodijeliti ulogu vlasnika
msgid "errors.unexpected-error"
msgstr "Došlo je do neočekivane pogreške."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Nepoznati token"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Datoteka ima nekompatibilan broj verzije"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Pogreška veze, URL nije dostupan"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL ne prolazi provjeru valjanosti."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Zadnja dostava nije bila uspješna."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Pogreška pri SSL provjeri valjanosti."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Istek vremena"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Neočekivana pogreška prilikom provjere"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Neočekivani status %s"
@@ -1093,11 +1065,11 @@ msgstr "Stara lozinka je netočna"
msgid "feedback.description"
msgstr "Opis"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "Sretni smo što si ovdje. Ako trebaš pomoć, pretraži prije objavljivanja."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot zajednica"
@@ -1111,11 +1083,11 @@ msgstr ""
"Opiši razlog svojeg e-maila, navedi radi li se o problemu, ideji ili "
"nedoumici. Član našeg tima će odgovoriti u najkraćem mogućem roku."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Ovdje za pomoć za tvoje tehničke upite."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X korisnički račun za podršku"
@@ -1147,7 +1119,7 @@ msgstr "Preuzmi izvornu sliku"
msgid "inspect.attributes.shadow"
msgstr "Sjena"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Veličina i položaj"
@@ -1155,39 +1127,27 @@ msgstr "Veličina i položaj"
msgid "inspect.attributes.stroke"
msgstr "Potez"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Sredina"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Unutra"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Vani"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografija"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Font"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Veličina fonta"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Stil fonta"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Razmak između slova"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Visina linije"
@@ -1199,11 +1159,11 @@ msgstr "Nikakav"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Podcrtano"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Velika i mala slova"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Mala slova"
@@ -1215,7 +1175,7 @@ msgstr "Nikakav"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Nepostavljeno"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Velika slova"
@@ -1277,39 +1237,39 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Tekst"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Prečaci"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Prihvati"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktivan"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Dodati"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Dodajte custom font"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Dodavanje..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administrator"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Sve"
@@ -1317,29 +1277,29 @@ msgstr "Sve"
msgid "labels.and"
msgstr "i"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Povratak"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Čini se da moraš malo pričekati i pokušati ponovno; vršimo mala održavanja "
"naših servera."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Loš Gateway"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Odbaci"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Zatvori"
@@ -1347,7 +1307,7 @@ msgstr "Zatvori"
msgid "labels.code"
msgstr "Kod"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Sažmi"
@@ -1355,11 +1315,11 @@ msgstr "Sažmi"
msgid "labels.comment"
msgstr "Komentar"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komentari"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Zajenica"
@@ -1367,35 +1327,35 @@ msgstr "Zajenica"
msgid "labels.confirm-password"
msgstr "Potvrdi lozinku"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Nastavi"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Možeš nastaviti s Penpot računom"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopiraj vezu"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Kreiraj"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Kreiraj novi tim"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Unesi ime novog tima"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Nadzorna ploča"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Izbriši"
@@ -1407,7 +1367,7 @@ msgstr "Izbriši komentar"
msgid "labels.delete-comment-thread"
msgstr "Izbriši thread"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Izbriši pozivnicu"
@@ -1415,31 +1375,31 @@ msgstr "Izbriši pozivnicu"
msgid "labels.delete-multi-files"
msgstr "Izbriši %s datoteka"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Razvoj"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Odbaciti"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Nacrti"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Uredi"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Urednik"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Isteklo"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Izvezi"
@@ -1451,51 +1411,51 @@ msgstr "Povratne informacije onemogućene"
msgid "labels.feedback-sent"
msgstr "Povratne informacije poslane"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Font"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stilovi"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fontovi"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github repozitorij"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Daj povratnu informaciju"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Povratak"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafički dizajn"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centar za pomoć"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Sakrij riješene komentare"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Uvoz"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Neaktivan"
@@ -1503,35 +1463,35 @@ msgstr "Neaktivan"
msgid "labels.info"
msgstr "Informacija"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Instalirani fontovi"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Interna pogreška"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Pozivnice"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Jezik"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Biblioteke i predlošci"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Učitavanje…"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Prijava ili registracija"
@@ -1539,19 +1499,19 @@ msgstr "Prijava ili registracija"
msgid "labels.login"
msgstr "Prijava"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Odjava"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Član"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Članovi"
@@ -1559,41 +1519,41 @@ msgstr "Članovi"
msgid "labels.new-password"
msgstr "Nova lozinka"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Sljedeći"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Nemaš obavijesti o komentarima na čekanju."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Nema pozivnica."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Obavijesti"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 datoteka"
msgstr[1] "%s datoteka"
msgstr[2] "%s datoteka"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 ploča"
msgstr[1] "%s ploča"
msgstr[2] "%s ploča"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projekt"
@@ -1604,27 +1564,27 @@ msgstr[2] "%s projekata"
msgid "labels.old-password"
msgstr "Stara lozinka"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Mogućnosti"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Ostalo (navesti)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Ostalo"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Vlasnik"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Lozinka"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "U tijeku"
@@ -1632,43 +1592,43 @@ msgstr "U tijeku"
msgid "labels.post"
msgstr "Objaviti"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Prethodno"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Dizajn proizvoda ili UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Upravljanje proizvodima"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekti"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Release notes"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Ukloni"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Ukloni člana"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Preimenuj"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Preimenuj tim"
@@ -1692,7 +1652,7 @@ msgstr "novi odgovor"
msgid "labels.reply.thread"
msgstr "Odgovor"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Ponovno pošalji pozivnicu"
@@ -1700,43 +1660,43 @@ msgstr "Ponovno pošalji pozivnicu"
msgid "labels.restore"
msgstr "Vratiti"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Pokušaj ponovo"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Uloga"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Spremi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Pretraživanje"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Pretraži font"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Odaberite opciju"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Pošalji"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Slanje…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "U programiranom smo održavanju naših sustava."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Usluga je nedostupna"
@@ -1744,55 +1704,55 @@ msgstr "Usluga je nedostupna"
msgid "labels.sets"
msgstr "Skupovi"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Postavke"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Dijeliti"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibiloteke"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Prikaži sve komentare"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Prikaži listu komentara"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Prikaži samo svoja spominjanja"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Prikaži samo tvoje komentare"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Skica"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Start"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Učenik ili učitelj"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Teme"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Upute"
@@ -1800,23 +1760,23 @@ msgstr "Upute"
msgid "labels.unpublish-multi-files"
msgstr "Poništi objavu datoteka %s"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Ažuriraj"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Ažuriraj tim"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Prenesi"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Prenesi custom fontove"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Prijenos…"
@@ -1824,11 +1784,11 @@ msgstr "Prijenos…"
msgid "labels.view-only"
msgstr "Samo pogled"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Promatrač"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhookovi"
@@ -1836,11 +1796,11 @@ msgstr "Webhookovi"
msgid "labels.write-new-comment"
msgstr "Napiši novi komentar"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(ti)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Tvoj korisnički račun"
@@ -1893,61 +1853,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Dodajte “%s” kao zajedničku biblioteku"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Big nudge"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Potvrdite novi e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Poslat ćemo e-mail na tvoj trenutni e-mail \"%s\" kako bismo potvrdili tvoj "
"identitet."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Novi e-mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Promijeni e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Promijeni svoj e-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Izradi webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Izradi webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL tereta"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://primjer.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Otkaži i zadrži moj račun"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Da, obriši moj račun"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Uklanjanjem računa izgubit ćeš sve svoje trenutne projekte i arhive."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Jeste li siguran/na da želiš izbrisati svoj račun?"
@@ -1997,31 +1957,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Brisanje fonta"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Brisanje fonta"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Jesi li siguran/na da želiš izbrisati ovu stranicu?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Brisanje stranice"
@@ -2037,35 +1997,35 @@ msgstr "Jesi li siguran/na da želiš izbrisati ovaj projekt?"
msgid "modals.delete-project-confirm.title"
msgstr "Brisanje projekta"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Izbriši datoteku"
msgstr[1] "Izbriši datoteke"
msgstr[2] "Izbriši datoteke"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
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:58
+#: src/app/main/ui/delete_shared.cljs:60
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:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Jesi li siguran/na da želiš izbrisati ovu datoteku?"
msgstr[1] "Jesi li siguran/na da želiš izbrisati ove datoteke?"
msgstr[2] "Jesi li siguran/na da želiš izbrisati ove datoteke?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Brisanje datoteke"
@@ -2086,19 +2046,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Brisanje tima"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Brisanje člana"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Jesi li siguran/na da želiš izbrisati ovog člana iz tima?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Brisanje člana tima"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2111,172 +2071,172 @@ 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:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Izbriši webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Jeste li sigurni da želite izbrisati ovaj webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Brisanje webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Uredi webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Uredi webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Pošalji pozivnicu"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mail, odvojeno zarezom"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
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:278
+#: src/app/main/ui/dashboard/team.cljs:262
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/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Pozovi članove u tim"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Budući da si jedini član ovog tima, tim će biti izbrisan zajedno sa svojim "
"projektima i datotekama."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
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:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
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:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Ti si vlasnik ovog tima. Prije odlaska odaberi drugog člana kojeg želiš "
"promovirati u vlasnika."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promoviraj i napusti"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Odaberi člana za promociju"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Prije nego odeš"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Napusti tim"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Jesi li siguran/na da želiš napustiti ovaj tim?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Napuštanje tima"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
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:49
+#: src/app/main/ui/delete_shared.cljs:51
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:44
+#: src/app/main/ui/delete_shared.cljs:46
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:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Pomakni za"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Prenesi vlasništvo"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Ako preneseš vlasništvo, promijenit ćeš svoju ulogu u Administrator, čime "
"ćeš izgubiti neka dopuštenja za ovaj tim. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Ti si trenutni vlasnik ovog tima. Jesi li siguran/na da %s želiš postaviti "
"za novog vlasnika tima?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Novi vlasnik tima"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Objavi"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Objavi praznu biblioteku"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Mali pomak"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Poništi objavu"
msgstr[1] "Poništi objave"
msgstr[2] "Poništi objave"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Jesi li siguran/na da želiš poništiti objavu ove biblioteke?"
msgstr[1] "Jesi li siguran/na da želiš poništiti objavu ovih biblioteka?"
msgstr[2] "Jesi li siguran/na da želiš poništiti objavu ovih biblioteka?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Poništi objavu biblioteke"
@@ -2301,11 +2261,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Ažuriraj komponentu u zajedničkoj biblioteci"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Ova stranica ne postoji"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 greška"
@@ -2323,11 +2283,11 @@ msgstr "Poslali smo e-poštu za oporavak na"
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:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Prijavite se besplatno"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "I počnite koristiti Penpot za nekoliko sekundi!"
@@ -2335,67 +2295,67 @@ msgstr "I počnite koristiti Penpot za nekoliko sekundi!"
msgid "not-found.made-with-love"
msgstr "Napravljeno s LJUBAVLJU i otvorenim kodom"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Već ste zatražili pristup ovoj datoteci."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
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:289
+#: src/app/main/ui/static.cljs:294
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:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Već ste zatražili pristup ovom projektu."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "ZATRAŽITE PRISTUP"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
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:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Vaš zahtjev je ispravno poslan!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Nemate pristup ovoj datoteci."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Idite na svoj Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Ako vlasnik to dopusti, bit ćete pozvani u tim."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot datoteka"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Nemate pristup ovom projektu."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJEKT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
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:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Za pristup ovom projektu možete pitati vlasnika tima."
@@ -2409,25 +2369,25 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Dostupna je nova verzija."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Pozivnica je uspješno poslana"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Veza pozivnice je kopirana"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Ne možeš izbrisati svoj profil. Ponovno dodijeli svoje timove prije "
"nastavka."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil je uspješno spremljen!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "E-mail za potvrdu poslana je na %s. Provjeri e-email!"
@@ -2455,78 +2415,78 @@ msgstr "Nakon što imenuješ svoj tim, moći ćeš pozvati ljude da se pridruže
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Stvorite tim"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Pozovi članove"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Pozovi s ulogom:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Započnimo!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generiranje stvarnog koda iz dizajna"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Stvaranje sustava dizajna"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipiranje"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Dizajnirajte UI/UX aplikacije"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Za što ćete koristiti Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
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:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Pomozite nam da Vas upoznamo"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Koji od ovih alata najviše koristite?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Kakvim se poslom bavite?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Recite nam nešto o svom poslu"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Gdje biste željeli započeti?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Obrazovanje"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Osobno"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Posao"
@@ -2576,11 +2536,11 @@ msgstr "Počni dizajnirati"
msgid "profile.recovery.go-to-login"
msgstr "Idi na prijavu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Odvojiti"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Izmješano"
@@ -2592,35 +2552,35 @@ msgstr "Uklonite boju"
msgid "settings.select-this-color"
msgstr "Odaberite stavke koristeći ovaj stil"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komentari"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Poravnaj dno"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Poravnaj sredinu vodoravno"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Poravnaj lijevo"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Poravnaj desno"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Poravnaj vrh"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Poravnaj sredinu okomito"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Kreiraj ploču iz odabira"
@@ -2628,47 +2588,47 @@ msgstr "Kreiraj ploču iz odabira"
msgid "shortcuts.bold"
msgstr "Uključi/isključi podebljano"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Boolean razlika"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boolean isključenje"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Boolean presijek"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Boolean unija"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Premijesti u pozadinu"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Premiijesti nazad"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Premijesti naprijed"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Premijesti skroz naprijed"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Obriši povrat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopiraj"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Kopiraj vezu u međuspremnik"
@@ -2676,35 +2636,35 @@ msgstr "Kopiraj vezu u međuspremnik"
msgid "shortcuts.create-new-project"
msgstr "Kreiraj novo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Izreži"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zoom out"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Izbriši"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Izbriši čvor"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Odvoji komponentu"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Krivulja"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipsa"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Panel"
@@ -2712,39 +2672,39 @@ msgstr "Panel"
msgid "shortcuts.draw-nodes"
msgstr "Ucrtaj put"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Put"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Pravokutnik"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Tekst"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Dupliciraj"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Poništi"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Izvezi oblike"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zumiraj da stane sve"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Okreni vodoravno"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Okreni okomito"
@@ -2768,23 +2728,23 @@ msgstr "Idi na zajedničke biblioteke"
msgid "shortcuts.go-to-search"
msgstr "Traži"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grupiraj"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuiraj vodoravno"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Prikaži/sakrij UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zoom in"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Umetni sliku"
@@ -2792,7 +2752,7 @@ msgstr "Umetni sliku"
msgid "shortcuts.italic"
msgstr "Prebaci kurziv"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Spoji čvorove"
@@ -2800,39 +2760,39 @@ msgstr "Spoji čvorove"
msgid "shortcuts.line-through"
msgstr "Uključi precrtavanje"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Izradi rub"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Izradi krivulju"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maskiraj"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Spoji čvorove"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Premijesti"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Premijesti brzo dolje"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Premijesti brzo lijevo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Premijesti brzo desno"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Premijesti brzo gore"
@@ -2840,325 +2800,325 @@ msgstr "Premijesti brzo gore"
msgid "shortcuts.move-nodes"
msgstr "Premijesti čvor"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Premijesti dolje"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Premijesti lijevo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Premijesti desno"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Premijesti gore"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Slijedeća ploča"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nema pronađenih prečaca"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Postavi neprozirnost na 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Postavi neprozirnost na 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Postavi neprozirnost na 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Postavi neprozirnost na 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Postavi neprozirnost na 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Postavi neprozirnost na 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Postavi neprozirnost na 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Postavi neprozirnost na 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Postavi neprozirnost na 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Postavi neprozirnost na 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Birač boja"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Idi na odjeljak s komentarima"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Idi na nadzornu ploču"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Idite na odjeljak pregleda preglednika"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Idi na odjeljak interakcija"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Idi na odjeljak interakcija gledatelja"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Idi na radni prostor"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ili "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Zaljepi"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Prethodna ploča"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Ponovi"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Preimenujte"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Resetiraj zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Skalirajte"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Osnove"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Nadzorna ploča"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Gledatelj"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Radni prostor"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Označi sve"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Odaberite sljedeći sloj"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Odaberite nadređeni sloj"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Odaberite prethodni sloj"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Posebni čvorovi"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Prikaži/sakrij \"pixel grid\""
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Prikaži/sakrij prečace"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Priključi na čvorove"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Priključi na \"pixel grid\""
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Počni uređivanje"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Poravnanje"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Uredi"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generičko"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Glavni meni"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Izmijeni layere"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigacija"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigacija"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigacija"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneli"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Putanje"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Oblici"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Tekstovi"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Alati"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Postavi sličice"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Prečaci na tipkovnici"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Promijena dinamičkog poravnanja"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Promijena stavaka"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Promijena palete boja"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Promijena fokus moda"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Promijeni cijeli zaslon"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Prikaži / Sakrij vodiče"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Promijena povijesti"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Promijena layera"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Dodavanje/uklanjanje flex rasporeda"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Dodaj/ukloni grid raspored"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Zaključaj odabrano"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Zaključaj proporcije"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Prikaži / Sakrij ravnala"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Pričvrstite na vodilice"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Pričvrstite na vodilice ravnala"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Promijeni paletu teksta"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Promjena teme"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Promijeni vidljivost"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Promijeni stil zooma"
@@ -3166,63 +3126,63 @@ msgstr "Promijeni stil zooma"
msgid "shortcuts.underline"
msgstr "Uključi podcrtavanje"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Poništi"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Razgrupiraj"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Makni masku"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuiraj okomito"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Smanjenje zuma objektiva"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Povećanje zuma objektiva"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoomiraj na selektirano"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Dobavljači fontova - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fontovi - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekti - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Traži - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Zajedničke biblioteke - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Sloboda dizajna za timove"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Pošalji povratnu informaciju - Penpot"
@@ -3230,7 +3190,7 @@ msgstr "Pošalji povratnu informaciju - Penpot"
msgid "title.settings.notifications"
msgstr "Obavijesti - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Postavke - Penpot"
@@ -3238,27 +3198,27 @@ msgstr "Postavke - Penpot"
msgid "title.settings.password"
msgstr "Lozinka - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Pozivnice - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Članovi - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Postavke - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhookovi - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Način prikaza - Penpot"
@@ -3266,99 +3226,99 @@ msgstr "%s - Način prikaza - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Na stranici nisu pronađene ploče."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Ploča nije pronađena."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Komentari (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Ne prikazuj interakcije"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Cijeli zaslon"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Pregledaj (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interakcije"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interakcije (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopiraj poveznicu"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Prikaži interakcije"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Prikaži interakcije na klik"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Zadnja isporuka bila je uspješna."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Poravnaj vodoravno u sredinu (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuiraj vodoravni razmak (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Poravnaj lijevo (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Poravnaj desno (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Poravnaj dolje (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Poravnaj okomito u sredinu (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuiraj okomiti razmak (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Poravnaj gore (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Dodaj biblioteku"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Sve stavke"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Boje"
@@ -3366,7 +3326,7 @@ msgstr "Boje"
msgid "workspace.assets.colors.add-color"
msgstr "Dodajte boju"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponente"
@@ -3378,15 +3338,15 @@ msgstr "Dodajte komponentu"
msgid "workspace.assets.create-group"
msgstr "Kreiraj grupu"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Izbriši"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Dupliciraj"
@@ -3394,35 +3354,35 @@ msgstr "Dupliciraj"
msgid "workspace.assets.duplicate-main"
msgstr "Dupliciraj glavni"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Uredi"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Grid prikaz"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grupa"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Ime grupe"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Popisni prikaz"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "lokalna biblioteka"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nisu pronađene stavke"
@@ -3430,7 +3390,7 @@ msgstr "Nisu pronađene stavke"
msgid "workspace.assets.open-library"
msgstr "Otvori datoteku biblioteke"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Preimenuj"
@@ -3438,11 +3398,11 @@ msgstr "Preimenuj"
msgid "workspace.assets.rename-group"
msgstr "Preimenuj grupu"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Pretraži stavke"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Zajednička biblioteka"
@@ -3453,43 +3413,43 @@ msgstr[0] "1 komponenta"
msgstr[1] "%s komponente"
msgstr[2] "%s komponente"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sortiraj"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografija"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Dodajte tipografiju"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Veličina"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Stil fonta"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Razmak između slova"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Visina linije"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformiraj tekst"
@@ -3497,67 +3457,67 @@ msgstr "Transformiraj tekst"
msgid "workspace.assets.ungroup"
msgstr "Razgrupiraj"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Stvorite područje"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Napravi ploču"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Spoji ćelije"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Dodajte 1 stupac desno"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Dodajte 1 stupac lijevo"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Izbriši stupac"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Izbriši stupac i oblike"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Dupliciraj stupac"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Dodajte 1 red ispod"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Dodajte 1 red iznad"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Izbriši red"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Izbrišite red i oblike"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Dupliciraj redak"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Fokus mode"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Fokus isključen"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Fokus uključen"
@@ -3569,191 +3529,191 @@ msgstr "Linearni gradijent"
msgid "workspace.gradients.radial"
msgstr "Radijalni gradijent"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Onemogući dinamičko poravnanje"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Onemogući proporcionalno mjerilo"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Onemogući \"snap to guides\""
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Onemogući \"snap to pixel\""
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Onemogući spajanje na vodilice ravnala"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Omogući dinamičko poravnanje"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Omogući proporcionalno mjerilo"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Pričvrstite na vodilice"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Omogući \"snap to pixel\""
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Pričvrstite na vodilice ravnala"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Sakrij nazive ploča"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Sakrij vodiče"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Sakrij paletu boja"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Sakrij \"pixel grid\""
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Sakrij \"rules\""
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Sakrij paletu boja"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Uredi"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Datoteka"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Pomoć i informacije"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferencije"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Pregled"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Ponovi"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Odaberi sve"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Prikaži nazive ploča"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Prikaži vodiče"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Prikaži paletu boja"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Prikaži \"pixel grid\""
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Prikaži \"rules\""
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Prikaži paletu fontova"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Prebacite se na tamnu temu"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Prebaci na svijetlu temu"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Poništi"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Resetiraj"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Greška kod spremanja"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Spremljeno"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Spremanje"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Podijeli"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zum"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Ispuna - Skaliraj za popunjavanje"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Prilagodi - Smanji veličinu da pristane"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zumiraj da stane sve"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Cijeli ekran"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zumiraj na odabrano"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Uredi grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Izlaz"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Prikaži 4-strane opcije podstava"
@@ -3769,23 +3729,23 @@ msgstr "Gotovo"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Pronađi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Pronađite grid raspored"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "U vašoj biblioteci još nema stilova boja"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
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:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteka datoteka"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Nedavno korištene boje"
@@ -3797,71 +3757,71 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Spremi u stil boja"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Ili dodajte neke od ovih za isprobavanje:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "neki predlošci ovdje"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteka datoteka"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTEKE U OVOJ DATOTECI"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTEKE"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "AŽURIRANJE KNJIŽNICE"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Učitavanje…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Nisu pronađeni rezultati za “%s”"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Pretraži zajedničke biblioteke"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "ZAJEDNIČKE BIBLIOTEKE"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Povežite biblioteku"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Odspojite biblioteku"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Ažuriranje"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "vidjeti sve promjene"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "AŽURIRANJA"
@@ -3893,39 +3853,39 @@ msgstr "Uključi/isključi zamućenje"
msgid "workspace.options.canvas-background"
msgstr "Pozadina canvasa"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Isjeci sadržaj"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponenta"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Bilješka"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopirati"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Napravite bilješku"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Uredite bilješku"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Glavni"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Zamijenite komponentu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "U ovoj biblioteci još nema sredstava"
@@ -3969,11 +3929,11 @@ msgstr "Vrh"
msgid "workspace.options.constraints.topbottom"
msgstr "Vrh i dno"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Dizajn"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Izvoz"
@@ -3981,38 +3941,38 @@ msgstr "Izvoz"
msgid "workspace.options.export-multiple"
msgstr "Izvezi selektirano"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Dodaj izvoz"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Ukloni izvoz"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufiks"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Izvoz završen"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Izvoz…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Izvoz nije uspio"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Izvoz neočekivano spor"
@@ -4028,7 +3988,7 @@ msgstr "Dodajte ispunu"
msgid "workspace.options.fill.remove-fill"
msgstr "Ukloni ispunu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Promijenite veličinu ploče da odgovara sadržaju"
@@ -4052,67 +4012,67 @@ msgstr "Flow započinje"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Stupci"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Boja"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Oluk"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Visina"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margina"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Postavi kao zadano"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Dno"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Sredina"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Lijevo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Desno"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Razvuci"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Vrh"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Koristi zadano"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Širina"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Redovi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kvadrat"
@@ -4124,7 +4084,7 @@ msgstr "Popunjavanje grupe"
msgid "workspace.options.group-stroke"
msgstr "Grupni potez"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Dodajte vodilicu"
@@ -4132,19 +4092,19 @@ msgstr "Dodajte vodilicu"
msgid "workspace.options.guides.remove-guide"
msgstr "Uklonite vodilicu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Vodilice"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Uključi/isključi vodilicu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Visina"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Pregledati"
@@ -4360,103 +4320,103 @@ msgstr "Interakcije"
msgid "workspace.options.interactions.add-interaction"
msgstr "Dodajte interakciju"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Boja"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Izgaranje boje"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Izbjegavanje boja"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Zatamni"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Razlika"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Ekskluzija"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Tvrdo svjetlo"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Nijansa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Posvijetli"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Svjetlost"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Umnoži"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normalno"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Preklapanje"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturacija"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Ekran"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Nježno svjetlo"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
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:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max.visina"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max.širina"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.visina"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.širina"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Više boja"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Više boja iz biblioteke"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Neprozirnost"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototip"
@@ -4488,19 +4448,19 @@ msgstr "Sažmi neovisni radijus"
msgid "workspace.options.radius.show-single-corners"
msgstr "Prikaži neovisni radijus"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Nedavni"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Pokušaj ponovo"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotacija"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Pretraži font"
@@ -4508,7 +4468,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Odabrane boje"
@@ -4576,47 +4536,47 @@ msgstr "Uključi/isključi sjenu"
msgid "workspace.options.show-fill-on-export"
msgstr "Prikaži u izvozu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Prikaži u načinu pregleda"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Veličina"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Unaprijed postavljena veličina"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Krug"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Dijamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Strelica"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nijedan"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Okruglo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kvadrat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Pravokutnik"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Trokut"
@@ -4624,7 +4584,7 @@ msgstr "Trokut"
msgid "workspace.options.stroke-color"
msgstr "Boja poteza"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Širina poteza"
@@ -4632,35 +4592,35 @@ msgstr "Širina poteza"
msgid "workspace.options.stroke.add-stroke"
msgstr "Dodajte boju poteza"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Sredina"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Crtkano"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Točkasto"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Unutra"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Miješano"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Vani"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Uklonite potez"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Čvrsto"
@@ -4696,11 +4656,11 @@ msgstr "Automatska širina"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Popravljeno"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Razmak između slova"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Visina linije"
@@ -4744,122 +4704,122 @@ msgstr "Podcrtano (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Širina"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X os"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Crtaj čvorove (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Spoji čvorove (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Do kuta (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Do krivulje (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Spoji čvorove (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Premijesti čvorove (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Odvoji čvorove(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Priključi čvorove (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Otvoriti"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Otkrijte [više dodataka](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Još nema instaliranih dodataka"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Manifest dodatka nije točan."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Morate biti urednik da biste koristili ovaj dodatak"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Dodatak ne postoji ili URL nije točan."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instalirati"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Instalirani dodaci"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Upravitelj dodataka"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Dodaci"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "AŽURIRAJTE OVAJ DODATAK"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
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:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Pokrenite preuzimanje datoteka."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Pročitajte svoje komentare i odgovore."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
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:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Pročitajte sadržaj datoteka kojima korisnici imaju pristup."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Čitajte i mijenjajte sadržaj datoteka kojima korisnici imaju pristup."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Imajte na umu da je ovaj dodatak izradila vanjska strana, stoga provjerite "
@@ -4867,65 +4827,65 @@ msgstr ""
"vaših podataka važni su nam. Ako imate bilo kakvih nedoumica, obratite se "
"podršci."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Čitajte svoje biblioteke i stavke."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Čitajte i mijenjajte svoje biblioteke i stavke."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' DODATAK ŽELI PRISTUP:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Pročitajte informacije o profilu trenutnog korisnika."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Popis dodataka"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Ukloni dodatak"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Napišite URL dodatka"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Dodaci"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NE SADA"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
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:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' PLUGIN JE INSTALIRAN ZA VAŠEG KORISNIKA!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PROBAJTE DODATAK"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Dodajte flex raspored"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Dodajte grid raspored"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Dodajte raspored"
@@ -4937,7 +4897,7 @@ msgstr "Pošalji natrag"
msgid "workspace.shape.menu.backward"
msgstr "Pošalji u pozadinu"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopiraj"
@@ -4969,27 +4929,27 @@ msgstr "Kopiraj kao tekst"
msgid "workspace.shape.menu.create-annotation"
msgstr "Napravite bilješku"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Odabir na ploču"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Kreiraj komponentu"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Stvorite više komponenti"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Izreži"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Izbriši"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Izbriši početak flowa"
@@ -5001,7 +4961,7 @@ msgstr "Odvoji instancu"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Odvoji instance"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Razlika"
@@ -5009,15 +4969,15 @@ msgstr "Razlika"
msgid "workspace.shape.menu.duplicate"
msgstr "Dupliciraj"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Uredi"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Izuzmi"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Spljošti"
@@ -5029,7 +4989,7 @@ msgstr "Okreni vodoravno"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Okreni okomito"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Početak flowa"
@@ -5041,31 +5001,31 @@ msgstr "Postavi ispred"
msgid "workspace.shape.menu.front"
msgstr "Postavi naprijed"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grupiraj"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Sakrij"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Prikaži/sakrij korisničko sučelje"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Presjek"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Zaključaj"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maskiraj"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Zalijepi"
@@ -5073,19 +5033,19 @@ msgstr "Zalijepi"
msgid "workspace.shape.menu.paste-props"
msgstr "Svojstva lijepljenja"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Putanja"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Uklonite flex raspored"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Uklonite grid raspored"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Uklonite raspored"
@@ -5105,11 +5065,11 @@ msgstr "Vrati glavnu komponentu"
msgid "workspace.shape.menu.select-layer"
msgstr "Označi layer"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Prikaži"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Prikaži na ploči stavki"
@@ -5125,19 +5085,19 @@ msgstr "Ukloni sličicu"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Postavi kao sličicu"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Razgrupiraj"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Unija"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Otključaj"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Ukloni masku"
@@ -5153,47 +5113,47 @@ msgstr "Sažmi bočnu traku"
msgid "workspace.sidebar.expand"
msgstr "Proširi bočnu traku"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Povijest"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Layeri"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponente"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Ploče"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupe"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Slike"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maske"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Traži layere"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Oblici"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Tekstovi"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Uvezeni SVG atributi"
@@ -5205,7 +5165,7 @@ msgstr "Stranice"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Dodaj stranicu"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Sitemap"
@@ -5213,7 +5173,7 @@ msgstr "Sitemap"
msgid "workspace.tokens.active-themes"
msgstr "%s aktivnih tema"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Primijenjeno na"
@@ -5225,7 +5185,7 @@ msgstr "Povratak na popis tema"
msgid "workspace.tokens.create-new-theme"
msgstr "Stvorite svoju prvu temu sada."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Stvorite jedan."
@@ -5277,7 +5237,7 @@ msgstr "Nema aktivnih tema"
msgid "workspace.tokens.no-permisions-set"
msgstr "Za aktiviranje/deaktiviranje skupova morate biti urednik"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Morate biti urednik da biste koristili teme"
@@ -5289,7 +5249,7 @@ msgstr "Još nema definiranih skupova. Prvo stvorite jedan."
msgid "workspace.tokens.no-sets-yet"
msgstr "Još nema skupova."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Nema tema."
@@ -5297,11 +5257,11 @@ msgstr "Nema tema."
msgid "workspace.tokens.no-themes-currently"
msgstr "Trenutno nemate nijednu temu."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Izvorna vrijednost: %s"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Riješena vrijednost: %s"
@@ -5323,11 +5283,11 @@ msgstr ""
msgid "workspace.tokens.token-description"
msgstr "Opis"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Ime"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" nije važeće ime tokena.\n"
@@ -5338,7 +5298,7 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Vrijednost"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENI - %s"
@@ -5346,7 +5306,7 @@ msgstr "TOKENI - %s"
msgid "workspace.tokens.tools"
msgstr "Alati"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Vrijednost nije važeća"
@@ -5354,55 +5314,55 @@ msgstr "Vrijednost nije važeća"
msgid "workspace.toolbar.assets"
msgstr "Stavke"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta boja (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Komentari (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Krivulja (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipsa (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Ploča (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Slika (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Premijesti (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Putanja (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Dodaci (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Pravokutnik (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Tekst (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografija (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Uključi/isključi alatnu traku"
@@ -5415,7 +5375,7 @@ msgstr "Gotovo"
msgid "workspace.top-bar.view-only"
msgstr "**Provjera koda** (samo pregled)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Do sada nema promjena povijesti"
@@ -5555,19 +5515,19 @@ msgstr "tipografska stavka"
msgid "workspace.undo.entry.unknown"
msgstr "Operacija izvršena %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Odbaci"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Više informacija"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Postoje ažuriranja u zajedničkim bibliotekama"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Ažuriraj"
diff --git a/frontend/translations/id.po b/frontend/translations/id.po
index 250ff26b5f..86528cdc1a 100644
--- a/frontend/translations/id.po
+++ b/frontend/translations/id.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Linerly \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Indonesian "
" \n"
"Language: id\n"
@@ -9,9 +9,9 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Sudah memiliki akun?"
@@ -29,7 +29,7 @@ msgstr ""
"Ini layanan DEMO, JANGAN GUNAKAN untuk pekerjaan nyata, proyek-proyek ini "
"akan di hapus secara berkala."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Lupa kata sandi?"
@@ -37,37 +37,37 @@ msgstr "Lupa kata sandi?"
msgid "auth.fullname"
msgstr "Nama Lengkap"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Masuk ke akun saya"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Masuk di sini."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot adalah peralatan desain bebas & bersumber terbuka untuk kolaborasi "
"Desain dan Kode"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID Connect"
@@ -87,7 +87,7 @@ msgstr "Profil belum terverifikasi, harap verifikasi profil sebelum melanjutkan.
msgid "auth.notifications.recovery-token-sent"
msgstr "Tautan pemulihan kata sandi telah dikirim ke kotak masuk Anda."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Berhasil bergabung ke tim"
@@ -119,7 +119,7 @@ msgstr "Lupa kata sandi?"
msgid "auth.recovery-submit"
msgstr "Ubah kata sandi Anda"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Belum punya akun?"
@@ -133,7 +133,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Nama Anda"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Buat akun baru"
@@ -146,7 +146,7 @@ msgstr "Buat akun baru"
msgid "auth.terms-and-privacy-agreement"
msgstr "Saya menyetujui [persyaratan layanan](%s) dan [kebijakan privasi](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Kebijakan layanan"
@@ -158,92 +158,92 @@ msgstr "Surel kerja"
msgid "comments.mentions.not-found"
msgstr "Tidak ada orang yang ditemukan untuk @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Terbitkan"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Semua pengguna Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Apakah Anda yakin ingin menghapus tautan ini? Jika Anda menghapusnya, maka "
"tautan tersebut tidak akan lagi tersedia bagi siapa pun"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(saat ini)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Hancurkan tautan"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Dapatkan tautan"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Tautan berhasil disalin"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Atur perizinan"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "%s halaman dibagikan"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Dapat berkomentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Dapat menginspeksi kode"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Siapapun yang memiliki tautan dapat mengakses"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Halaman yang dibagikan"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Tautan yang dapat dibagikan akan muncul di sini"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Hanya anggota tim"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Bagikan prototipe"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Pilih Semua"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Batalkan penerbitan"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Pengelolaan tim"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot dimaksud untuk tim. Undang anggota untuk bekerja bersama pada "
"berbagai proyek dan berkas"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Bersekutu!"
@@ -251,23 +251,23 @@ msgstr "Bersekutu!"
msgid "dashboard.add-file"
msgstr "Tambahkan berkas"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Tambahkan sebagai Pustaka Bersama"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Ubah surel"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(salin)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Buat tim baru"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Sematkan versi ini"
@@ -275,11 +275,11 @@ msgstr "Sematkan versi ini"
msgid "dashboard.default-team-name"
msgstr "Penpot Anda"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Hapus tim"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Unduh berkas Penpot (.penpot)"
@@ -291,19 +291,19 @@ msgstr "Duplikasi"
msgid "dashboard.duplicate-multi"
msgstr "Gandakan % berkas"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Ketika anggota proyek membuat draf, itu akan ditampilkan di sini."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Belum ada draf."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Ketika anggota proyek membuat berkas, itu akan ditampilkan di sini."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Belum ada berkas."
@@ -355,66 +355,66 @@ msgstr "Mulai membuat hal-hal yang hebat"
msgid "dashboard.export-binary-multi"
msgstr "Unduh %s berkas Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Ekspor papan sebagai PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Ekspor sebagai PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s dari %s elemen dipilih"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Ekspor"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Anda dapat menambahkan pengaturan pengeksporan ke elemen dari properti "
"desain (di bawah dari bilah sisi kanan)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Info bagaimana menetapkan pengeksporan di Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Tidak ada elemen dengan pengaturan pengeksporan."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Ekspor pilihan"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Fon dihapus"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Abaikan semua"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Fon khusus yang Anda unggah akan muncul di sini."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Belum ada fon kustom."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "%s fon ditambahkan"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -424,7 +424,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -433,11 +433,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Unggah semua"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -448,11 +448,11 @@ msgstr ""
"menyarankan menggunakan [Transfonter](https://transfonter.org/) untuk "
"membuat fon web dan memperbaiki kesalahan. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Impor berkas Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Aduh! Kami tidak dapat mengimpor berkas ini"
@@ -460,11 +460,11 @@ msgstr "Aduh! Kami tidak dapat mengimpor berkas ini"
msgid "dashboard.import.bad-url"
msgstr "Pengimporan gagal. URL templat salah"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s berkas telah berhasil diimpor."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Beberapa berkas berisi objek yang tidak valid yang telah dihapus."
@@ -472,61 +472,33 @@ msgstr "Beberapa berkas berisi objek yang tidak valid yang telah dihapus."
msgid "dashboard.import.no-perms"
msgstr "Anda tidak memiliki perizinan untuk mengimpor ke tim ini"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Memproses warna"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Memproses komponen"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Memproses media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Memproses halaman: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Memproses tipografi"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Mengunggah data ke server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Mengunggah berkas: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Undang orang"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Tinggalkan tim"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Pustaka & Template"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Di sini Anda memiliki Pustaka dan templat yang dapat ditambahkan ke proyek "
"Anda"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Jelajahi lebih banyak dan pelajari cara berkontribusi"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Terjadi masalah saat mengimpor template. Template tidak diimpor."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Pustaka"
@@ -534,7 +506,7 @@ msgstr "Pustaka"
msgid "dashboard.loading-files"
msgstr "memuat berkas Anda …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "memuat fon Anda …"
@@ -554,39 +526,39 @@ msgstr "Pindahkan %s berkas ke"
msgid "dashboard.move-to-other-team"
msgstr "Pindahkan ke tim lain"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Buat Berkas"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Berkas Baru"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Buat Proyek"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Proyek Baru"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Tidak ada hasil yang ditemukan untuk “%s”"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Proyek yang disemat akan muncul di sini"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifikasi"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Alamat surel Anda berhasil diperbarui"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Alamat surel Anda berhasil diverifikasi"
@@ -598,11 +570,11 @@ msgstr "Pengaturan notifikasi diperbarui"
msgid "dashboard.notifications.password-saved"
msgstr "Berhasil menyimpan kata sandi!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Lihat notifikasi"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s anggota"
@@ -610,7 +582,7 @@ msgstr "%s anggota"
msgid "dashboard.open-in-new-tab"
msgstr "Buka berkas di tab baru"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opsi"
@@ -634,7 +606,7 @@ msgstr "Anda sekarang seorang pemilik di tim ini."
msgid "dashboard.permissions-change.viewer"
msgstr "Anda sekarang seorang peninjau di tim ini."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Semat/Lepas semat"
@@ -650,11 +622,11 @@ msgstr "Tidak dapat mengurai manifes plugin"
msgid "dashboard.plugins.try-plugin"
msgstr "Coba plugin: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Proyek"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Ingin menghapus akun Anda?"
@@ -662,23 +634,23 @@ msgstr "Ingin menghapus akun Anda?"
msgid "dashboard.removed-from-team"
msgstr "Anda bukan merupakan bagian dari tim “%s” lagi."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Simpan pengaturan"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Cari…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Mencari “%s”…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Pilih bahasa antarmuka"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Pilih tema"
@@ -742,11 +714,11 @@ msgstr "Perbarui pengaturan"
msgid "dashboard.settings.notifications.title"
msgstr "Notifikasi"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Tampilkan semua berkas"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Riwayat versi"
@@ -768,7 +740,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Berkas Anda berhasil dipindah"
@@ -780,67 +752,67 @@ msgstr "Berkas Anda berhasil dipindah"
msgid "dashboard.success-move-project"
msgstr "Proyek Anda berhasil dipindah"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Info tim"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Anggota tim"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Proyek tim"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Tambahkan ke proyek Anda"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema antarmuka"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Hasil pencarian"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Ketik untuk mencari hasil"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Batal Penerbitan Pustaka"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Perbarui pengaturan"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Aktif"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Ketika kaitan ini dipicu detail peristiwa akan dikirim"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Anda hanya dapat menghapus atau mengubah webhook yang dibuat oleh Anda."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Jenis konten"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Buat kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Kaitan web berhasil dibuat."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Kaitan web (webhook) adalah cara yang sederhana untuk memperbolehkan situs "
@@ -848,23 +820,23 @@ msgstr ""
"di Penpot. Kami mengirim permintaan POST untuk setiap URL yang Anda "
"sediakan."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Klik tombol \"Tambahkan kaitan web\" untuk menambahkan."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Tidak ada kaitan web yang dibuat sejauh ini."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Akun Anda"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Surel"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Nama Anda"
@@ -880,11 +852,11 @@ msgstr "Peringatan"
msgid "ds.component-subtitle"
msgstr "Komponen untuk diperbarui:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Perbolehkan"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Batal"
@@ -904,15 +876,15 @@ msgstr "Penyedia autentikasi tidak diperbolehkan untuk profil ini"
msgid "errors.auth-provider-not-configured"
msgstr "Penyedia autentikasi tidak dikonfigurasi."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Sepertinya Anda tidak terautentikasi atau sesi kedaluwarsa."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Fon %s tidak dapat dimuat"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Fon %s tidak dapat dimuat"
@@ -924,19 +896,19 @@ msgstr "Tidak dapat mengunggah berkas media."
msgid "errors.character-limit-exceeded"
msgstr "Melebihi batas karakter"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Peramban Anda tidak dapat melakukan operasi ini"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Tidak dapat melepaskan set induk ke jalur anak sendiri."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Surel sudah digunakan"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Surel sudah divalidasi."
@@ -944,25 +916,25 @@ msgstr "Surel sudah divalidasi."
msgid "errors.email-as-password"
msgstr "Anda tidak dapat menggunakan surel Anda sebagai kata sandi"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domain tidak diperbolehkan"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Surel “%s” memiliki banyak laporan lompatan permanen."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Surel “%s” telah dilaporkan sebagai spam atau lompatan permanen."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Sepertinya Anda membuka berkas yang memiliki fitur '%s' aktif tetapi "
"frontend Penpot Anda tidak mendukungnya atau menonaktifkannya."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Fitur '%s' tidak didukung."
@@ -970,7 +942,7 @@ msgstr "Fitur '%s' tidak didukung."
msgid "errors.field-min-length"
msgstr "Harus berisi setidaknya 1 karakter."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Kolom kosong"
@@ -978,14 +950,14 @@ msgstr "Kolom kosong"
msgid "errors.field-not-all-whitespace"
msgstr "Nama harus berisi karakter selain spasi."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Sepertinya ada ketidakcocokan antara fitur yang diaktifkan dengan fitur "
"berkas yang sedang Anda buka. Migrasi untuk '%s' harus diterapkan sebelum "
"berkasnya dapat dibuka."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Sesuatu yang salah terjadi."
@@ -1001,7 +973,7 @@ msgstr "Data tidak valid"
msgid "errors.invalid-email"
msgstr "Silakan menyediakan surel yang valid"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Surel konfirmasi harus cocok"
@@ -1025,11 +997,11 @@ msgstr "Undangan ini mungkin dibatalkan atau telah kedaluwarsa."
msgid "errors.ldap-disabled"
msgstr "Autentikasi LDAP dinonaktifkan."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Anda telah meraih kutipan '%s'. Hubungi dukungan."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Jumlah email maksimum (%s) yang dapat diundang dalam satu permintaan telah "
@@ -1047,13 +1019,13 @@ msgstr "Serpertinya konten gambar tidak cocok dengan ekstensi berkas."
msgid "errors.media-type-not-allowed"
msgstr "Sepertinya ini bukan gambar yang valid."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Profil yang Anda undang membisukan surel (laporan spam atau lompatan "
"tinggi)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migrasi sedang berlangsung"
@@ -1065,7 +1037,7 @@ msgstr "Kata sandi konfirmasi harus cocok"
msgid "errors.password-too-short"
msgstr "Kata sandi setidaknya 8 karakter"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Data tidak valid dalam papan klip"
@@ -1073,7 +1045,7 @@ msgstr "Data tidak valid dalam papan klip"
msgid "errors.profile-blocked"
msgstr "Profil diblokir"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Profil Anda membisukan surel (laporan spam atau lompatan tinggi)."
@@ -1081,21 +1053,21 @@ msgstr "Profil Anda membisukan surel (laporan spam atau lompatan tinggi)."
msgid "errors.registration-disabled"
msgstr "Pendaftaran saat ini dinonaktifkan."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Fitur '%s' tidak kompatibel terdeteksi"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Anggota tidak cukup untuk meninggalkan tim, Anda mungkin ingin menghapusnya "
"saja."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Anggota yang Anda mencoba untuk memberikan peran tidak ada."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Pemilik tidak dapat meninggalkan tim, Anda harus memberikan ulang peran "
@@ -1105,13 +1077,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Set dengan nama yang sama sudah ada"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Tidak dapat menyelesaikan drop, set dengan nama yang sama sudah ada di "
"jalur ini."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Opsi Tema dengan nama yang sama sudah ada"
@@ -1131,11 +1103,11 @@ msgstr "Nilai warna tidak valid: %s"
msgid "errors.tokens.invalid-json"
msgstr "Kesalahan pengimporan: Data token tidak valid dalam JSON."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Nilai token tidak valid: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Referensi token hilang: "
@@ -1143,11 +1115,11 @@ msgstr "Referensi token hilang: "
msgid "errors.tokens.number-too-large"
msgstr "Nilai token tidak valid. Nilai terurai terlalu besar: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Opasitas harus antara 0 dan 100% atau 0 dan 1 (mis. 50% atau 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token memiliki referensi diri"
@@ -1155,39 +1127,39 @@ msgstr "Token memiliki referensi diri"
msgid "errors.unexpected-error"
msgstr "Sebuah kesalahan tidak terduga terjadi."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token tidak diketahui"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Berkas memiliki nomor versi tidak kompatibel"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Kesalahan koneksi, URL tidak dapat diraih"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL tidak melewati validasi."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Pengiriman terakhir tidak berhasil."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Terjadi kesalahan pada validasi SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Waktu habis"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Terjadi kesalahan tidak terduga saat memvalidasi"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Status %s tidak diduga"
@@ -1203,13 +1175,13 @@ msgstr "Kata sandi lama tidak benar"
msgid "feedback.description"
msgstr "Deskripsi"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Kami senang memiliki Anda di sini. Jika Anda membutuhkan bantuan, silakan "
"mencari sebelum Anda mengirim."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Komunitas Penpot"
@@ -1224,11 +1196,11 @@ msgstr ""
"masalah, sebuah ide, atau sebuah keluhan. Salah satu anggota dari tim kami "
"akan menjawab sesegera mungkin."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Di sini untuk membantu dengan kueri teknis Anda."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Akun dukungan X"
@@ -1260,7 +1232,7 @@ msgstr "Unduh gambar sumber"
msgid "inspect.attributes.shadow"
msgstr "Bayangan"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Ukuran dan posisi"
@@ -1268,39 +1240,27 @@ msgstr "Ukuran dan posisi"
msgid "inspect.attributes.stroke"
msgstr "Sapuan"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Tengah"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Dalam"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Luar"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Keluarga Fon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Ukuran Fon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Gaya Fon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Spasi Huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Tinggi Garis"
@@ -1312,11 +1272,11 @@ msgstr "Tidak ada"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Garis bawah"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Huruf Judul"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Huruf Kecil"
@@ -1328,7 +1288,7 @@ msgstr "Tidak ada"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Tidak ditetapkan"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Huruf Besar"
@@ -1402,43 +1362,43 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Teks"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Tandai semua sebagai terbaca"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Pintasan"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Terima"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktif"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Tambahkan"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Tambahkan fon khusus"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Menambahkan..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Semua"
@@ -1446,29 +1406,29 @@ msgstr "Semua"
msgid "labels.and"
msgstr "dan"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Kembali"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Sepertinya Anda harus menunggu sebentar dan mencoba lagi; kami melakukan "
"pemeliharaan kecil pada peladen kami."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Gerbang Jalur Buruk"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Batal"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Tutup"
@@ -1476,7 +1436,7 @@ msgstr "Tutup"
msgid "labels.code"
msgstr "Kode"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Tutup"
@@ -1484,11 +1444,11 @@ msgstr "Tutup"
msgid "labels.comment"
msgstr "Komentar"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komentar"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Komunitas"
@@ -1496,11 +1456,11 @@ msgstr "Komunitas"
msgid "labels.confirm-password"
msgstr "Konfirmasi kata sandi"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Lanjutkan"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Anda dapat melanjutkan dengan sebuah akun Penpot"
@@ -1512,27 +1472,27 @@ msgstr "Salin"
msgid "labels.copy-color"
msgstr "Salin warna"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Salin tautan"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Buat"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Buat tim baru"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Masukkan nama tim baru"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Dasbor"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Hapus"
@@ -1544,7 +1504,7 @@ msgstr "Hapus komentar"
msgid "labels.delete-comment-thread"
msgstr "Hapus utasan"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Hapus undangan"
@@ -1552,31 +1512,31 @@ msgstr "Hapus undangan"
msgid "labels.delete-multi-files"
msgstr "Hapus %s berkas"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Pengembang"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Abaikan"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Draf"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Sunting"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Penyunting"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Kedaluwarsa"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Ekspor"
@@ -1588,55 +1548,55 @@ msgstr "Masukan dinonaktifkan"
msgid "labels.feedback-sent"
msgstr "Masukan dikirim"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Keluarga Fon"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Gaya"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fon"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositori GitHub"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Berikan masukan"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Kembali"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Desain grafis"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Pusat Bantuan"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Sembunyikan"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Sembunyikan komentar yang telah diselesaikan"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Impor"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Tidak Aktif"
@@ -1644,35 +1604,35 @@ msgstr "Tidak Aktif"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fon terpasang"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Kesalahan Internal"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Undangan"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Bahasa"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Pustaka & Templat"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Memuat…"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Masuk atau daftar"
@@ -1680,19 +1640,19 @@ msgstr "Masuk atau daftar"
msgid "labels.login"
msgstr "Masuk"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Keluar"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Pemasaran"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Anggota"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Anggota"
@@ -1704,37 +1664,37 @@ msgstr "Sebutkan"
msgid "labels.new-password"
msgstr "Kata sandi baru"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Berikutnya"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Anda telah melihat semuanya! Notifikasi komentar baru akan muncul di sini."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Tidak ada undangan yang menunggu."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Aduh!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifikasi"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "%s berkas"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s papan"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "%s proyek"
@@ -1743,27 +1703,27 @@ msgstr[0] "%s proyek"
msgid "labels.old-password"
msgstr "Kata sandi lama"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opsi"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Lainnya (jelaskan)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Lainnya"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Pemilik"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Kata sandi"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Ditunda"
@@ -1771,23 +1731,23 @@ msgstr "Ditunda"
msgid "labels.post"
msgstr "Kiriman"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Sebelumnya"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Desain produk atau UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Pengelolaan Produk"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Proyek"
@@ -1795,23 +1755,23 @@ msgstr "Proyek"
msgid "labels.refresh"
msgstr "Muat ulang"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Catatan rilis"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Hapus"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Keluarkan anggota"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Ubah nama"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Ubah nama tim"
@@ -1835,7 +1795,7 @@ msgstr "balasan baru"
msgid "labels.reply.thread"
msgstr "Balas"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Kirim ulang undangan"
@@ -1843,43 +1803,43 @@ msgstr "Kirim ulang undangan"
msgid "labels.restore"
msgstr "Pulihkan"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Coba lagi"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Peran"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Simpan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Cari"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Cari fon"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Pilih opsi"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Kirim"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Mengirim…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Kami dalam pemeliharaan yang telah diprogram untuk sistem kami."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Layanan Tidak Tersedia"
@@ -1887,63 +1847,63 @@ msgstr "Layanan Tidak Tersedia"
msgid "labels.sets"
msgstr "Set"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Pengaturan"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Bagikan"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Pustaka"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Tampilkan"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Tampilkan semua komentar"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Tampilkan daftar komentar"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Hanya tampilkan sebutan Anda"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Hanya tampilkan komentar Anda"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Mulai"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Siswa atau Guru"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Tema"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorial"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Kesalahan tidak diketahui"
@@ -1951,23 +1911,23 @@ msgstr "Kesalahan tidak diketahui"
msgid "labels.unpublish-multi-files"
msgstr "Batalkan publikasi %s berkas"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Perbarui"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Perbarui tim"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Unggah"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Unggah fon khusus"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Mengunggah…"
@@ -1975,11 +1935,11 @@ msgstr "Mengunggah…"
msgid "labels.view-only"
msgstr "TAMPILAN SAJA"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Pelihat"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Kaitan web"
@@ -1987,11 +1947,11 @@ msgstr "Kaitan web"
msgid "labels.write-new-comment"
msgstr "Tulis komentar baru"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(Anda)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Akun Anda"
@@ -2126,63 +2086,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Tambahkan “%s” sebagai Pustaka Terbagi"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Dorongan besar"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verifikasi surel baru"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Kami akan mengirim Anda sebuah surel ke surel Anda “%s” saat ini untuk "
"memverifikasi identitas Anda."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Surel baru"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Ubah surel"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Ubah surel Anda"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Buat kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Buat kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL Muatan"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://contoh.co.id/terimapos"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Batalkan dan jaga akun saya"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ya, hapus akun saya"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Dengan menghapus akun Anda akan kehilangan semua proyek dan arsip Anda saat "
"ini."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Apakah Anda yakin ingin menghapus akun Anda?"
@@ -2232,31 +2192,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Menghapus gaya fon"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Menghapus fon"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Apakah Anda yakin ingin menghapus halaman ini?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Hapus halaman"
@@ -2272,27 +2232,27 @@ msgstr "Apakah Anda yakin ingin menghapus proyek ini?"
msgid "modals.delete-project-confirm.title"
msgstr "Hapus proyek"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Hapus berkas"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Tidak diaktifkan dalam berkas mana pun."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Pustaka ini diaktifkan di sini: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Apakah Anda yakin ingin menghapus berkas ini?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Menghapus berkas"
@@ -2311,181 +2271,181 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Menghapus tim"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Keluarkan anggota"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Apakah Anda yakin ingin mengeluarkan anggota ini dari tim?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Keluarkan anggota tim"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
"Aset yang telah digunakan dalam berkas akan tetap di sana (tidak ada desain "
"yang akan rusak)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Hapus kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Apakah Anda yakin ingin menghapus kaitan web ini?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Menghapus kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Sunting kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Sunting kaitan web"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Kirim undangan"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Surel, dipisah dengan koma"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Beberapa surel berasal dari anggota tim saat ini. Undangan mereka tidak "
"akan dikirim."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Anda dapat mengundang anggota ke tim supaya mereka dapat mengakses berkas "
"ini dan semua berkas tim."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Undang anggota ke tim"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Karena Anda anggota satu-satunya dari tim ini, tim akan dihapus beserta "
"proyek dan berkasnya."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Apakah Anda yakin ingin meninggalkan tim %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Anda tidak dapat tinggalkan tim jika tidak ada anggota lain untuk "
"dipromosikan sebagai pemilik. Anda mungkin ingin menghapus tim ini."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Anda adalah pemilik dari tim ini. Silakan memilih anggota lain untuk "
"mempromosikan sebagai pemilik sebelum Anda tinggal."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promosikan dan tinggal"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Pilih seorang anggota untuk dipromosikan"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Sebelum Anda tinggal"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Tinggalkan tim"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Apakah Anda ingin meninggalkan tim ini?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Meninggalkan tim"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Pindahkan"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Apakah Anda yakin ingin memindahkan pustaka ini?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Pindahkan pustaka"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Jumlah dorongan"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transfer kemilikan"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Jika Anda mentransfer kemilikan, Anda akan mengubah peran Anda ke Admin, "
"dan kehilangan beberapa izin pada tim ini. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Anda saat ini adalah pemilik dari tim ini. Apakah Anda yakin ingin membuat "
"%s sebagai pemilik tim ini?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Pemilik tim baru"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Terbitkan"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Pustaka Anda sedang kosong. Apakah Anda ingin menerbitkannya?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Terbitkan pustaka kosong"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Dorongan kecil"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Batalkan penerbitan"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Apakah Anda yakin ingin membatalkan penerbitan pustaka ini?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Batalkan penerbitan pustaka"
@@ -2508,11 +2468,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Perbarui sebuah komponen dalam sebuah pustaka terbagi"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Laman ini tidak ada"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Kesalahan 404"
@@ -2530,11 +2490,11 @@ msgstr "Kami telah mengirim surel pemulihan ke"
msgid "not-found.login.sent-recovery-check"
msgstr "Periksa surel Anda dan klik tautan untuk membuat kata sandi baru."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Daftar secara gratis"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Dan mulai menggunakan Penpot dalam hitungan detik!"
@@ -2542,67 +2502,67 @@ msgstr "Dan mulai menggunakan Penpot dalam hitungan detik!"
msgid "not-found.made-with-love"
msgstr "Dibuat dengan CINTA dan Sumber Terbuka"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Anda sudah meminta akses ke berkas ini."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Anda sudah meminta akses ke berkas ini atau berkas lain atau proyek dari "
"tim ini."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Anda sudah meminta akses ke proyek ini atau proyek lain atau berkas dari "
"tim ini."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Anda sudah meminta akses ke proyek ini."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "MINTA AKSES"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Perlu diingat, jika pemilik mengizinkan, Anda akan diundang ke tim."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Permintaan Anda telah dikirim dengan benar!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Anda tidak memiliki akses ke berkas ini."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Pergi ke Penpot Anda"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Jika pemilik mengizinkan, Anda akan diundang ke tim."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Berkas Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Anda tidak memiliki akses ke proyek ini."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROYEK"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Untuk mengakses berkas ini, Anda dapat menanyakan kepada pemilik tim."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Untuk mengakses proyek ini, Anda dapat menanyakan kepada pemilik tim."
@@ -2616,25 +2576,25 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Versi baru sudah tersedia."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Undangan berhasil dikirim"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Tautan undangan disalin"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Anda tidak dapat menghapus profil Anda. Ubah peran pada tim Anda sebelum "
"menlanjutkan."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil berhasil disimpan!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Surel verifikasi dikirim ke %s. Periksa surel Anda!"
@@ -2664,78 +2624,78 @@ msgstr ""
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Buat tim"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Undang anggota"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Undang dengan peran:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Mari kita mulai!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Membuat kode asli dari desain"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Membuat Sistem Desain"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipe"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Desain UI/UX aplikasi"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Kerangka Kerja"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Untuk apa Anda akan menggunakan Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Beri tahu kami sedikit tentang Anda untuk membantu kami membuat Penpot "
"berfungsi bagi Anda. Jawaban Anda akan membantu kami memprioritaskan fitur "
"baru dan mengarahkan Anda ke arah yang tepat untuk memulai."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Bantu kami mengenal Anda"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Alat manakah yang paling sering Anda gunakan?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Jenis pekerjaan apa yang Anda lakukan?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Ceritakan tentang pekerjaan Anda"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Di mana Anda ingin mulai?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Edukasi"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Pribadi"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Kerja"
@@ -2785,11 +2745,11 @@ msgstr "Mulai mendesain"
msgid "profile.recovery.go-to-login"
msgstr "Pergi ke log masuk"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Copot"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Tercampur"
@@ -2801,35 +2761,35 @@ msgstr "Hapus warna"
msgid "settings.select-this-color"
msgstr "Pilih item menggunakan gaya ini"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komentar"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Sesuaikan ke bawah"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Sesuaikan ke tengah secara horizontal"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Sesuaikan ke kiri"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Sesuaikan ke kanan"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Sesuaikan ke atas"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Sesuaikan ke tengah secara vertikal"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Buat papan dari seleksi"
@@ -2837,51 +2797,51 @@ msgstr "Buat papan dari seleksi"
msgid "shortcuts.bold"
msgstr "Tebal"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Perbedaan boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Pengecualian boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Berpotongan boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Serikat boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Turunkan ke paling belakang"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Turunkan ke belakang"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Naikkan ke atas"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Naikkan ke paling atas"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Hapus urungan"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Salin"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Salin tautan ke papan klip"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Salin properti"
@@ -2889,35 +2849,35 @@ msgstr "Salin properti"
msgid "shortcuts.create-new-project"
msgstr "Buat baru"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Potong"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Perkecil"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Hapus"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Hapus simpul"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Lepaskan komponen"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Kurva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipss"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Papan"
@@ -2925,39 +2885,39 @@ msgstr "Papan"
msgid "shortcuts.draw-nodes"
msgstr "Gambar jalur"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Jalur"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Persegi Panjang"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Teks"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Gandakan"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Batal"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Ekspor bentuk"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zum untuk muat semua"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Balikkan secara horizontal"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Balikkan secara vertikal"
@@ -2981,23 +2941,23 @@ msgstr "Pergi ke pustaka terbagi"
msgid "shortcuts.go-to-search"
msgstr "Cari"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Kelompok"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribusikan secara horizontal"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Tampilkan/sembunyikan antarmuka"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Perbesar"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Sematkan gambar"
@@ -3005,7 +2965,7 @@ msgstr "Sematkan gambar"
msgid "shortcuts.italic"
msgstr "Miring"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Gabungkan simpul"
@@ -3013,39 +2973,39 @@ msgstr "Gabungkan simpul"
msgid "shortcuts.line-through"
msgstr "Coret"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Buat sudut"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Buat kurva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Topeng"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Gabungkan simpul"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Pindah"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Pindah ke bawah secara cepat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Pindah ke kiri secara cepat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Pindah ke kanan secara cepat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Pindah ke atas secara cepat"
@@ -3053,333 +3013,333 @@ msgstr "Pindah ke atas secara cepat"
msgid "shortcuts.move-nodes"
msgstr "Pindahkan simpul"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Pindah ke bawah"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Pindah ke kiri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Pindah ke kanan"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Pindah ke atas"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Papan berikutnya"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Tidak ada pintasan yang ditemukan"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Tetapkan opasitas ke 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Tetapkan opasitas ke 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Tetapkan opasitas ke 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Tetapkan opasitas ke 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Tetapkan opasitas ke 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Tetapkan opasitas ke 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Tetapkan opasitas ke 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Tetapkan opasitas ke 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Tetapkan opasitas ke 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Tetapkan opasitas ke 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Pemilih warna"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Pergi ke bagian komentar pelihat"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Pergi ke dasbor"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Pergi ke bagian inspeksi penampil"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Pergi ke bagian interaksi pelihat"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Pergi ke bagian interaksi pelihat"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Pergi ke ruang kerja"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " atau "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Tempelkan"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Tempelkan properti"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Pengelola plugin"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Papan sebelumnya"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Ulangi"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Ubah nama"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Atur ulang zum"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Skala"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Dasar"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Dasbor"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Pelihat"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Ruang Kerja"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Pilih semua"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Pilih lapisan berikutnya"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Pilih lapisan induk"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Pilih lapisan sebelumnya"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Pisahkan simpul"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Tampilkan/sembunyikan kisi piksel"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Tampilkan/sembunyikan pintasan"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Tancap ke simpul"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Tancap ke kisi piksel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Mulai menyunting"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Penyesuaian"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Sunting"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generik"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu utama"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Ubah lapisan"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panel"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Jejak"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Bentuk"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Teks"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Peralatan"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zum"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zum"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Tetapkan gambar kecil"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Pintasan papan ketik"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Alih penyesuaian dinamis"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Alih aset"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Alih palet warna"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Alih mode fokus"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Alih layar penuh"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Tampilkan / Sembunyikan panduan"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Alih riwayat"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Alih lapisan"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Tambahkan/hapus tata letak flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Tambahkan/hapus tata letak kisi"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Kunci dipilih"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Kunci proporsi"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Tampilkan / Sembunyikan penggaris"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Pasang ke panduan"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Pasang ke panduan penggaris"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Alih palet teks"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Ubah tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Alih keterlihatan"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Alih gaya zum"
@@ -3387,63 +3347,63 @@ msgstr "Alih gaya zum"
msgid "shortcuts.underline"
msgstr "Garis bawah"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Urungkan"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Lepaskan kelompok"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Lepaskan topeng"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribusikan secara vertikal"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Kurangi lensa zum"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Tambahkan lensa zum"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zum ke terpilih"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Penyedia Fon - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fon - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Proyek - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Cari - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Pustaka Terbagi - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Kebebasan Desain untuk Tim"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Berikan masukan - Penpot"
@@ -3451,7 +3411,7 @@ msgstr "Berikan masukan - Penpot"
msgid "title.settings.notifications"
msgstr "Notifikasi - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Pengaturan - Penpot"
@@ -3459,27 +3419,27 @@ msgstr "Pengaturan - Penpot"
msgid "title.settings.password"
msgstr "Kata sandi - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Undangan - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Anggota - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Pengaturan - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Kaitan Web - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Mode penampilan - Penpot"
@@ -3487,99 +3447,99 @@ msgstr "%s - Mode penampilan - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Tidak ada papan yang ditemukan di halaman."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Papan tidak ditemukan."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Komentar (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Jangan tampilkan interaksi"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Layar Penuh"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspeksi (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interaksi"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interaksi (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Salin tautan"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Tampilkan interaksi"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Tampilkan interaksi pada klik"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Peta Situs"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Pengiriman terakhir berhasil."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Sesuaikan tengah horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribusikan spasi horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Sesuaikan ke kiri (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Sesuaikan ke kanan (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Sesuaikan ke bawah (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Sesuaikan ke tengah vertikal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribusikan spasi vertikal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Sesuaikan ke atas (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Tambahkan pustaka"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Semua aset"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Warna"
@@ -3587,7 +3547,7 @@ msgstr "Warna"
msgid "workspace.assets.colors.add-color"
msgstr "Tambahkan warna"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponen"
@@ -3599,15 +3559,15 @@ msgstr "Tambahkan komponen"
msgid "workspace.assets.create-group"
msgstr "Buat sebuah kelompok"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Hapus"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Gandakan"
@@ -3615,39 +3575,39 @@ msgstr "Gandakan"
msgid "workspace.assets.duplicate-main"
msgstr "Gandakan utama"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Sunting"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Penyaring"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Tampilan kisi"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Kelompok"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nama kelompok"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Tampilan daftar"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "pustaka lokal"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Kelola pustaka"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Tidak ada aset yang ditemukan"
@@ -3655,7 +3615,7 @@ msgstr "Tidak ada aset yang ditemukan"
msgid "workspace.assets.open-library"
msgstr "Buka berkas pustaka"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Ubah nama"
@@ -3663,11 +3623,11 @@ msgstr "Ubah nama"
msgid "workspace.assets.rename-group"
msgstr "Ubah nama kelompok"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Cari aset"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Pustaka terbagi"
@@ -3676,43 +3636,43 @@ msgid "workspace.assets.sidebar.components"
msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "%s komponen"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Urutkan"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografi"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Tambahkan tipografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Ukuran"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Gaya Fon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Pergi ke berkas pustaka untuk menyunting"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Spasi Huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Ketinggian Garis"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformasi Teks"
@@ -3720,67 +3680,67 @@ msgstr "Transformasi Teks"
msgid "workspace.assets.ungroup"
msgstr "Lepas kelompok"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Buat area"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Buat papan"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Gabungkan sel"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Tambah 1 kolom ke kanan"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Tambah 1 kolom ke kiri"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Hapus kolom"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Hapus kolom dan bentuk"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Gandakan kolom"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Tambah 1 baris di bawah"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Tambah 1 baris di atas"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Hapus baris"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Hapus baris dan bentuk"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Gandakan baris"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Mode fokus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Fokus nonaktif"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Fokus aktif"
@@ -3792,187 +3752,187 @@ msgstr "Gradien linear"
msgid "workspace.gradients.radial"
msgstr "Gradien radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Nonaktifkan penyesuaian dinamis"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Nonaktifkan skala proporsional"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Nonaktifkan tancapan ke pemandu"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Nonaktifkan tancapan ke piksel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Nonaktifkan pemasangan ke panduan penggaris"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Aktifkan penyesuaian dinamis"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Aktifkan skala proporsional"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Tancapkan ke pemandu"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Aktifkan tancapkan ke piksel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Pasang ke panduan penggaris"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Sembunyikan nama papan"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Sembunyikan panduan"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Sembunyikan palet warna"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Sembunyikan kisi piksel"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Sembunyikan penggaris"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Sembunyikan palet fon"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Sunting"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Berkas"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Bantuan & info"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferensi"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Tampilan"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Ulangi"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Pilih semua"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Tampilkan nama papan"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Tampilkan panduan"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Tampilkan palet warna"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Tampilkan kisi piksel"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Tampilkan penggaris"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Tampilkan palet fon"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Ubah ke tema gelap"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Ubah ke tema terang"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Urungkan"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Atur ulang"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Kesalahan saat menyimpan"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Disimpan"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Menyimpan"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Bagikan"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Mode penampilan (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zum"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Penuhi - Ubah ukuran untuk memenuhi"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Pas - Ubah ukuran supaya pas"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zum supaya pas semua"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Layar penuh"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zum ke terpilih"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Sunting kisi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Keluar"
@@ -3980,7 +3940,7 @@ msgstr "Keluar"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Padding bawah"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Tampilkan opsi bantalan 4 sisi"
@@ -4016,23 +3976,23 @@ msgstr "Selesai"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Cari lokasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Lokasi tata letak kisi"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Belum ada gaya warna dalam pustaka Anda"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Belum ada gaya tipografi dalam pustaka Anda"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Pustaka berkas"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Warna terkini"
@@ -4044,71 +4004,71 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Simpan gaya warna"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Atau tambahkan beberapa dari sini untuk mencoba:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "Tidak ada Pustaka Terbagi dalam tim Anda, Anda dapat melihat"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "beberapa templat di sini"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Pustaka berkas"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "PUSTAKA DALAM BERKAS INI"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "PUSTAKA"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "PEMBARUAN PUSTAKA"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Memuat…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Tidak ada Pustaka Terbagi yang membutuhkan pembaruan"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Tidak ada yang cocok dengan “%s”"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Cari pustaka terbagi"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "PUSTAKA TERBAGI"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Hubungkan pustaka"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Putuskan pustaka"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Perbarui"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "lihat semua perubahan"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "PEMBARUAN"
@@ -4140,39 +4100,39 @@ msgstr "Sakelar buram"
msgid "workspace.options.canvas-background"
msgstr "Latar belakang kanvas"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Klip konten"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponen"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Anotasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Salin"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Buat anotasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Sunting anotasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Utama"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Ganti komponen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Belum ada aset dalam pustaka ini"
@@ -4216,11 +4176,11 @@ msgstr "Atas"
msgid "workspace.options.constraints.topbottom"
msgstr "Atas & Bawah"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Desain"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Ekspor"
@@ -4228,36 +4188,36 @@ msgstr "Ekspor"
msgid "workspace.options.export-multiple"
msgstr "Ekspor seleksi"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Tambahkan ekspor"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Hapus ekspor"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Akhiran"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Pengeksporan selesai"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Mengekspor…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Pengeksporan gagal"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Pengeksporan secara tidak terduga lambat"
@@ -4273,7 +4233,7 @@ msgstr "Tambahkan warna isian"
msgid "workspace.options.fill.remove-fill"
msgstr "Hapus isian"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Ubah ukuran papan untuk memuat konten"
@@ -4297,67 +4257,67 @@ msgstr "Aluran dimulai"
msgid "workspace.options.grid.auto"
msgstr "Otomatis"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Kolom"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Warna"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Selokan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Tinggi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margin"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Tetapkan sebagai bawaan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Bawah"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Tengah"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Kiri"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Kanan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Lebarkan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Atas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Gunakan bawaan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Lebar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Baris"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kotak"
@@ -4369,7 +4329,7 @@ msgstr "Isian kelompok"
msgid "workspace.options.group-stroke"
msgstr "Sapuan kelompok"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Tambahkan alur"
@@ -4377,19 +4337,19 @@ msgstr "Tambahkan alur"
msgid "workspace.options.guides.remove-guide"
msgstr "Hapus alur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Panduan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Sakelar pemandu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Tinggi"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspeksi"
@@ -4605,103 +4565,103 @@ msgstr "Interaksi"
msgid "workspace.options.interactions.add-interaction"
msgstr "Tambahkan interaksi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Warna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Bakaran warna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Penghindaran warna"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Gelapkan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Perbedaan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Tidak termasukan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Cahaya keras"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Rona"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Terangkan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Kilau"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Kalikan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Hamparan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Layar"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Cahaya lembut"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Sakelar keterlihatan lapisan"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max.Height"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max.Width"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.Height"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.Width"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Lebih banyak warna"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Lebih banyak warna pustaka"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opasitas"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototipe"
@@ -4733,19 +4693,19 @@ 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:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Terkini"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Coba lagi"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Cari fon"
@@ -4753,7 +4713,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Warna terpilih"
@@ -4821,47 +4781,47 @@ msgstr "Sakelar bayangan"
msgid "workspace.options.show-fill-on-export"
msgstr "Tampilkan dalam ekspor"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Tampilkan dalam mode penampil"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Ukuran"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Prasetel ukuran"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Lingkaran"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Berlian"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Tanda panah"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Tidak ada"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Bulat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kotak"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Persegi panjang"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Segitiga"
@@ -4869,7 +4829,7 @@ msgstr "Segitiga"
msgid "workspace.options.stroke-color"
msgstr "Warna sapuan"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Lebar sapuan"
@@ -4877,35 +4837,35 @@ msgstr "Lebar sapuan"
msgid "workspace.options.stroke.add-stroke"
msgstr "Tambahkan warna garis"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Tengah"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Garis"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Titik"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Dalam"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Tercampur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Luar"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Hapus garis"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Padat"
@@ -4941,11 +4901,11 @@ msgstr "Lebar otomatis"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Tetap"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Spasi Huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Tinggi garis"
@@ -4989,122 +4949,122 @@ msgstr "Garis bawah (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Lebar"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Sumbu X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Sumbu Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Gambar simpul (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Gabungkan simpul (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Ke sudut (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Ke kurva (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Gabungkan simpul (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Pindahkan simpul (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Simpul terpisah (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Tancap simpul (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Buka"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Jelajahi [lebih banyak plugin](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Belum ada plugin yang terpasang"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Manifes plugin tidak benar."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Anda perlu menjadi penyunting untuk menggunakan plugin ini"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Plugin tidak ada atau URL tidak benar."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Pasang"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Plugin terpasang"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Pengelola plugin"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugin"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "PERBARUI PLUGIN INI"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Plugin ini telah diubah sejak terakhir kali Anda membukanya. Ini sekarang "
"memerlukan akses:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Memulai pengunduhan berkas."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Membaca komentar dan balasan Anda."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Membaca dan mengubah komentar Anda dan membalas dengan nama Anda."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Membaca konten berkas yang dapat diakses pengguna."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Membaca dan mengubah konten berkas yang dapat diakses pengguna."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Harap diingat bahwa plugin ini dibuat oleh pihak eksternal, jadi pastikan "
@@ -5112,74 +5072,74 @@ msgstr ""
"Anda penting bagi kami. Jika Anda memiliki masalah, silakan hubungi "
"dukungan."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Membaca pustaka dan aset Anda."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Membaca dan mengubah pustaka dan aset Anda."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "PLUGIN '%s' MEMINTA AKSES:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Membaca informasi profil pengguna sasaat ini."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Daftar Plugin"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Hapus plugin"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Tuliskan URL plugin"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugin"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NANTI"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Ingin melihat? Ini akan membuka dalam draf baru untuk tim Anda saat ini. "
"(Jika tidak, Anda selalu dapat mencarinya dalam plugin terpasang dalam "
"berkas apa pun.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "PLUGIN '%s' TERPASANG UNTUK PENGGUNA ANDA!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "COBA PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Tambahkan tata letak flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Tambahkan tata letak kisi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Tambahkan tata letak"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Buat varian"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Buat properti baru"
@@ -5191,7 +5151,7 @@ msgstr "Kirim ke paling belakang"
msgid "workspace.shape.menu.backward"
msgstr "Kirim ke belakang"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Salin"
@@ -5223,27 +5183,27 @@ msgstr "Salin sebagai teks"
msgid "workspace.shape.menu.create-annotation"
msgstr "Buat anotasi"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Seleksi ke papan"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Buat komponen"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Buat beberapa komponen"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Potong"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Hapus"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Hapus awalan alur"
@@ -5255,7 +5215,7 @@ msgstr "Lepaskan bagian"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Lepaskan bagian"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Perbedaan"
@@ -5263,15 +5223,15 @@ msgstr "Perbedaan"
msgid "workspace.shape.menu.duplicate"
msgstr "Gandakan"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Sunting"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Tidak termasuk"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Ratakan"
@@ -5283,7 +5243,7 @@ msgstr "Balikkan secara horizontal"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Balikkan secara vertikal"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Awalan alur"
@@ -5295,31 +5255,31 @@ msgstr "Bawa ke depan"
msgid "workspace.shape.menu.front"
msgstr "Bawa ke paling depan"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Kelompok"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Sembunyikan"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Tampilkan/Sembunyikan Antarmuka"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Persimpangan"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Kunci"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Topeng"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Tempelkan"
@@ -5327,23 +5287,23 @@ msgstr "Tempelkan"
msgid "workspace.shape.menu.paste-props"
msgstr "Tempel properti"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Jalur"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Hapus tata letak flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Hapus tata letak kisi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Hapus tata letak"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Hapus properti"
@@ -5363,11 +5323,11 @@ msgstr "Pulihkan komponen utama"
msgid "workspace.shape.menu.select-layer"
msgstr "Pilih lapisan"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Tampilkan"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Tampilkan dalam panel aset"
@@ -5383,19 +5343,19 @@ msgstr "Hapus gambar kecil"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Tetapkan sebagai gambar kecil"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Lepaskan kelompok"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Serikat"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Buka kunci"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Buka topeng"
@@ -5411,47 +5371,47 @@ msgstr "Tutup bilah samping"
msgid "workspace.sidebar.expand"
msgstr "Buka bilah samping"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Riwayat"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Lapisan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Papan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Kelompok"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Gambar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Topeng"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Cari lapisan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Bentuk"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Teks"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Atribut SVG Diimpor"
@@ -5463,7 +5423,7 @@ msgstr "Halaman"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Tambahkan halaman"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Peta Situs"
@@ -5479,7 +5439,7 @@ msgstr "Tambahkan tema baru"
msgid "workspace.tokens.add-set-to-group"
msgstr "Tambahkan set ke kelompok ini"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Diterapkan pada"
@@ -5491,7 +5451,7 @@ msgstr "Axis"
msgid "workspace.tokens.back-to-themes"
msgstr "Kembali ke daftar tema"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Warna"
@@ -5499,7 +5459,7 @@ msgstr "Warna"
msgid "workspace.tokens.create-new-theme"
msgstr "Buat tema pertama Anda sekarang."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Buat baru."
@@ -5519,7 +5479,7 @@ msgstr "Hapus tema"
msgid "workspace.tokens.duplicate"
msgstr "Gandakan token"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "salin"
@@ -5587,7 +5547,7 @@ msgstr "Tidak ada tema aktif"
msgid "workspace.tokens.no-permisions-set"
msgstr "Anda perlu menjadi penyunting untuk mengaktifkan / menonaktifkan set"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Anda perlu menjadi penyunting untuk menggunakan tema"
@@ -5599,7 +5559,7 @@ msgstr "Belum ada set yang ditetapkan. Buatlah terlebih dahulu."
msgid "workspace.tokens.no-sets-yet"
msgstr "Belum ada set."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Belum ada tema."
@@ -5611,7 +5571,7 @@ msgstr "Anda saat ini belum memiliki tema."
msgid "workspace.tokens.num-active-sets"
msgstr "%s set aktif"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Nilai asli: %s"
@@ -5623,7 +5583,7 @@ msgstr "Padding"
msgid "workspace.tokens.radius"
msgstr "Radius"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Nilai terselesaikan: %s"
@@ -5665,11 +5625,11 @@ msgstr "Daftar tema"
msgid "workspace.tokens.token-description"
msgstr "Deskripsi"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nama"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" bukanlah nama token yang valid.\n"
@@ -5680,11 +5640,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Nilai"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Masukkan nilai atau alias dengan {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKEN - %s"
@@ -5692,7 +5652,7 @@ msgstr "TOKEN - %s"
msgid "workspace.tokens.tools"
msgstr "Peralatan"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Nilai tidak valid"
@@ -5700,55 +5660,55 @@ msgstr "Nilai tidak valid"
msgid "workspace.toolbar.assets"
msgstr "Aset"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Palet Warna (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Komentar (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Kurva (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elips (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Papan (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Gambar (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Pindahkan (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Jalur (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugin (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Persegi Panjang (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Teks (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Saklar bilah alat"
@@ -5761,7 +5721,7 @@ msgstr "Selesai"
msgid "workspace.top-bar.view-only"
msgstr "**Menginspeksi kode** (Hanya Lihat)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Tidak ada riwayat perubahan sejauh ini"
@@ -5901,19 +5861,19 @@ msgstr "aset tipografi"
msgid "workspace.undo.entry.unknown"
msgstr "Operasi pada %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Abaikan"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Info lebih lanjut"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Ada pembaruan dalam pustaka terbagi"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Perbarui"
diff --git a/frontend/translations/ig.po b/frontend/translations/ig.po
index 0c6048ae17..3c9f6655e9 100644
--- a/frontend/translations/ig.po
+++ b/frontend/translations/ig.po
@@ -25,7 +25,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Chefuru akara mpibanye ?"
@@ -33,27 +33,27 @@ msgstr "Chefuru akara mpibanye ?"
msgid "auth.fullname"
msgstr "Aha n'uju"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Banye ebe a"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "Obi Git"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "Ụlọ nchọcha Git"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Gọgụlụ"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "Mepe ID"
@@ -73,7 +73,7 @@ msgstr "E nyochaghị nchịkọta , Biko nyocha nchịkọta tupu ị gaa n'ihu
msgid "auth.notifications.recovery-token-sent"
msgstr "E zigara akara njikọ nnweghachi akara mpibanye n'igbe mbata ozi gị ."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Sonyere n'otu nke ọma"
@@ -101,11 +101,11 @@ msgstr "Chefuru akara mpịbanye ?"
msgid "auth.recovery-submit"
msgstr "Gbanye akara mpịbanye."
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "E nweghị ebe Ntinye ihe ma kịta?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Mepee ebe Ntinye ihe"
@@ -113,93 +113,93 @@ msgstr "Mepee ebe Ntinye ihe"
msgid "auth.register-title"
msgstr "Mepee ebe ntinye ihe"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Ọnọdụ ọrụ"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "bipụta"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Ndị niile ji ite mkpịsị arụ ọrụ"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(kee ugbu a )"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Mebie njiko"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Weta njiko"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "E setere njiko nke ọma"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Jikwa ikike"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "nwere ike ikwu okwu"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Nwere Ike inyocha akara"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Onye ọ bụla ga-enwe ohere mbanye"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Ihu akwụkwọ ekekoritara"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Njikọ e nwere ike ikekorita ga-apụta"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Sọọsọ ndị otu"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Kee atụ gasị"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Ebiputaghị"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Ite mkpịsị bụ maka otu . Kpọọ ndị otu ka arụkọta ọnụ on arụmarụ na ederede "
"ọnụ"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Jikota ọnụ !"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Tinye dị ka ọ a nkwekọrịta"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Gbanwee ozi - n"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(sere)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Mebe otu ọhụrụ"
@@ -207,11 +207,11 @@ msgstr "Mebe otu ọhụrụ"
msgid "dashboard.default-team-name"
msgstr "Ite mkpịsị gị"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "kacha otu"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Butuo ederede ite mkpịsị (.penpot)"
@@ -227,116 +227,88 @@ msgstr "Mee o yiri %s ederede"
msgid "dashboard.export-binary-multi"
msgstr "Butuo %s ederede ite mkpịsị (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Bupu bọọdụ dị ka PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Bupu dị ka PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "A họrọ %s nke %s ndị na"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Ị nwere ike ị tinye ntọala mbupu na ndịna site na ngwongwo nse (n'ala akụkụ "
"aka nri ihe ndepụta)"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Ozi etu esi ahazi mbupu n'ite mkpịsị"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "E nweghị ndịna ọ bụla na ntọala mbupu"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Nhọrọ mbupu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Mkpụrụ edemede na-efu efu"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Gbasaa ha niile"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Mkpụrụ edemede ndị ị bugoro ga-apụta ebe."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Bugo ha niile"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
"Anyị chọpụtara nsogbu nwere ike ịpụta na mkpụrụ edide gị gbasara ntụ kwụ "
"ọtọ "
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ewuu! Anyị enweghị ike bubata ederede a"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Ụfọdụ ederede nwere ihe ndị adabaghị na ya nke ewepugoro. ."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Nhazi agwụgwara gasị"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Nhazi ngwa gasị"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Nhazi mgbasa ozi"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Nhazi ihu akwụkwọ : %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Nhazi akara nkụpụta"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Ibugo njatụle n'ebe nkesa (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Ibugo ederede : %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Kpọta mmadụ"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Hapụ otu"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Ọba ederede gasị & ndebiri"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "E nwere nsogbu ibu aba ndebiri . E bubataghị ndebiri."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Ọba ederede gasị"
@@ -344,7 +316,7 @@ msgstr "Ọba ederede gasị"
msgid "dashboard.loading-files"
msgstr "Mbụbata ederede gị …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "mbubata mkpụrụ edemede gị …"
@@ -360,35 +332,35 @@ msgstr "Buga %s ederede gasị na"
msgid "dashboard.move-to-other-team"
msgstr "Gaa n'otu ọzọ"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Ederede ọhụrụ"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Ederede ọhụrụ"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nchọcha ọhụrụ"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Arụmarụ ọhụrụ"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Ọ nweghị ihe ndabara e nwetara maka “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Arụmarụ a kụdoro ga-apụta ebe a"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Adreesị ozi - n gị ahazigharịala gara nke ọma"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "E nyochala adreesị ozi - n gị nke ọma"
@@ -396,7 +368,7 @@ msgstr "E nyochala adreesị ozi - n gị nke ọma"
msgid "dashboard.notifications.password-saved"
msgstr "E dọkwara akara mpịbanye nke ọma !"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s Ndị otu"
@@ -404,7 +376,7 @@ msgstr "%s Ndị otu"
msgid "dashboard.open-in-new-tab"
msgstr "Mepe ederede na tabụ ọhụrụ"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Nhọrọ gasị"
@@ -412,31 +384,31 @@ msgstr "Nhọrọ gasị"
msgid "dashboard.password-change"
msgstr "Gbanwee akara mpịbanye"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Nọmba /Wepụ nọmba"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Arụmarụ"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Chọọ iwepu ebe Ntinye ihe gị ?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Dokwa ntọala"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Chọọ…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Na-achọ “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Họrọ asụsụ UI"
@@ -444,7 +416,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "E wepula ederede gị nke ọma\""
@@ -452,78 +424,78 @@ msgstr "E wepula ederede gị nke ọma\""
msgid "dashboard.success-move-project"
msgstr "E bupula arụmarụ gị nke ọma"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Ozi otu"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Ndị otu"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Arụmarụ otu"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Isiokwu UI"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Chọọ risọltụ gasị"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Pinye ịchọ risọltụ"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Ọba ederede ebiputaghị"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Hazie ntọala"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Dị gara gara"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Mgbe a kpọlitere nkọ a, ọ ga-Ezipụta nkọwa emume n'uju"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Ụdị ndịna"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Mepe nko - ududọ"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "E mepere nko-ududọ nke ọma ."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Nko-ududọ bụ ụzọ dị mfe ga-ekwe ka ebe ududọ na apps ndị ọzọ nweta ozi Mgbe "
"ụfọdụ emume na eme n'ite mkpịsị . Anyị ga e ziga OZI arịrịọ nwe URLs ọ bụla "
"ị nwetara"
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Pịa mpị \"Tinye nko-ududọ \" ịtinye otu ."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "E nweghị Nko-ududọ e ebere ruo ugbu a ."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ebe Ntinye ihe gị"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Ozi-n"
@@ -535,7 +507,7 @@ msgstr "Okay"
msgid "ds.alert-title"
msgstr "Gee ntị"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Kagbuo"
@@ -547,15 +519,15 @@ msgstr "Okay"
msgid "ds.confirm-title"
msgstr "Ọ doro gị anya ?"
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Ọ dị ka enyochaghị gị ma ọ bụ na oge agwụla ."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "E nweghị ike bugo %s mkpụrụ edide"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "E nweghị ike bugo %s mkpụrụ edide"
@@ -563,15 +535,15 @@ msgstr "E nweghị ike bugo %s mkpụrụ edide"
msgid "errors.cannot-upload"
msgstr "E nweghị ike ị ugo ederede ."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Your browser cannot do this operation"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E jibuola ozi - n rụọ ọrụ"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Aha ozi-n adabala."
@@ -579,25 +551,25 @@ msgstr "Aha ozi-n adabala."
msgid "errors.email-as-password"
msgstr "Ị nweghị ike iji aha ozi-n gị dị ka akara mpịbanye"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Ozi-n «%s» nwere ọtụtụ ozi nkọwa mbịaghachigide."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "E nwela ozi nkọwa na ozi-n«%s» dị ka ozi abaghị uru ma ọ bụ mbịaghachigide."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Ọ dị ka ị na-emepe ederede nwere a gwara naọ gara aga '%s' mana ihu "
"itemkpịsị gị akwadoghị ya ma ọ bụ gosiri ọ gaghị aga."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Akwadoghị agwara '%s' ."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Ihe ezighị ezi emela ."
@@ -609,7 +581,7 @@ msgstr "Agwụgwara adabaghị"
msgid "errors.invalid-email"
msgstr "Debanye aha ozi-n dabara adaba"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Ozi-n nnabata ga-adabrịrị"
@@ -629,7 +601,7 @@ msgstr "This invite might be canceled or may be expired."
msgid "errors.ldap-disabled"
msgstr "LDAP mbinye aka agaghị ."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "I ruola '%s' ole a chọrọ . Chọọ enyemaka nkwado ."
@@ -641,7 +613,7 @@ msgstr "Onyinyo a ebuka ibu maka itinye ."
msgid "errors.media-type-mismatch"
msgstr "Dị ka ihe dị na onyinyo adabaghị na mgbatị ederede."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Nchịkọta gị nwere ozi-n mechiri emechi (akụkọ ozi-n adịghị mma ma ọ bụ "
@@ -651,7 +623,7 @@ msgstr ""
msgid "errors.profile-blocked"
msgstr "A gbachiri nchịkọta agbachi"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Nchịkọta gị lnwere ozi-n mechiri emechi(akụkọ ozi-n adịghị mma ma ọ bụ "
@@ -661,15 +633,15 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Ndebanye merụrụ emerụ ugbu a."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Ndị otu ezughị okè ịhapụ otu, ọ nyere ike na ị chọrọ ihichapụ ya ."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Onye otu ị na-achọ inye adịghị ."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "O wee enweghị ike ịhapụ otu, ị ga-enyegharịrị ọrụ onwee."
@@ -677,23 +649,23 @@ msgstr "O wee enweghị ike ịhapụ otu, ị ga-enyegharịrị ọrụ onwee.
msgid "errors.unexpected-error"
msgstr "Ndejo atughị anya ya pụtara ."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Ọdịmara amaghị ama"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Mmejọ, e nwetaghị URL"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL enweghị nkwado ."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Mmejọ na nkwado SSL ."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Oge ezuola"
@@ -709,13 +681,13 @@ msgstr "Akara mpịbanye ochie adịghị mma"
msgid "feedback.description"
msgstr "Nkọwa"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Obi dị anyị añụrị ịhụ gị ebea. Ọ bụrụ na enyemaka dị mkpa , biko chọọ tupu "
"ị ịga ozi ."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Ogbe Ite mkpịsị"
@@ -729,7 +701,7 @@ msgstr ""
"Biko, kọwaa ihe isi ozi-n gị , kwuo ma ọ bụ nsogbu , ncheputara ma ọ bụ "
"ekaenyeghị. Onye otu anyị ga-azaghachi ozugbo ọ nwere ike ."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Ebe inyere gị aka n'ajụjụ nkà gị ."
@@ -761,7 +733,7 @@ msgstr "Butuo onyinyo nsina"
msgid "inspect.attributes.shadow"
msgstr "Oninyo"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Nhazi na ọnọdụ"
@@ -769,35 +741,23 @@ msgstr "Nhazi na ọnọdụ"
msgid "inspect.attributes.stroke"
msgstr "Akara"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Etiti"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Ime"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Ezi"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Akara nkụpụta"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Ezinụlọ mkpụrụ edide"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Nhazi mkpụrụ edide"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Ndesa mkpụrụ edemede"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Ogo akara"
@@ -809,7 +769,7 @@ msgstr "Ncha ncha"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "N'okpuru"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Mkpụrụ edemede isiokwu"
@@ -817,7 +777,7 @@ msgstr "Mkpụrụ edemede isiokwu"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "None"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Mkpụrụ edemede nnukwu"
@@ -875,31 +835,31 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Ederede"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Ụzọ mkpirisi"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Nabata"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Gara gara"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Tinye mkpụrụ edide a haziri ahazi"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Ọchịkwa"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Ngwa nrụkọrịta ọrụ Adobe"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Ha niile"
@@ -907,23 +867,23 @@ msgstr "Ha niile"
msgid "labels.and"
msgstr "na"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Azụ"
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Ajọ ụzọ mbanye"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Kagbuo"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Kanva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Megbuo"
@@ -931,11 +891,11 @@ msgstr "Megbuo"
msgid "labels.code"
msgstr "Akara"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Okwu gasị"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Ogbe"
@@ -943,27 +903,27 @@ msgstr "Ogbe"
msgid "labels.confirm-password"
msgstr "Nabata akara mpịbanye"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Ga n'ihu"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "I Nwere Ike ịganihu"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Dọrọ njikọ"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Meputa"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Mepee otu ọhụrụ"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Hichaa"
@@ -975,7 +935,7 @@ msgstr "Hichaa okwu"
msgid "labels.delete-comment-thread"
msgstr "Hichapụ eri"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Hichapụ oku"
@@ -983,23 +943,23 @@ msgstr "Hichapụ oku"
msgid "labels.delete-multi-files"
msgstr "Hichapụ ederede %s"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Onye nrụpụta"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Ndesita"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Dezie"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Odezi"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Mebiri"
@@ -1011,43 +971,43 @@ msgstr "Nzaghachi merụrụ emeru"
msgid "labels.feedback-sent"
msgstr "Zigara nzaghachi"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Ihe onyonyo"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Ezinụlọ mkpụrụ edide"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Ụdịdị gasị"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Mkpụrụ edide gasị"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Ọ a Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Nye nzaghachi"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Gaa azụ"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Ebe enyemaka"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Zoo nkwupụta e kpebiri"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Arụghị ọrụ"
@@ -1055,47 +1015,47 @@ msgstr "Arụghị ọrụ"
msgid "labels.info"
msgstr "Ozi"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Mkpụrụ edide gasị ewubere"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Nrụjọ ndịnime"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "Mmakpo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Akwụkwọ ịkpọ ọkụ gasị"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Asụsụ"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Ọba ederede na Ndebiri gasị"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Banye ma ọ bụ debanye"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Pụọ"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Ịzụ ahịa"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Onye otu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Ndị otu"
@@ -1103,19 +1063,19 @@ msgstr "Ndị otu"
msgid "labels.new-password"
msgstr "Akara mpịbanye ọhụrụ"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Ọzọ"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "E jidere unu niile! Ngosi nkwupụta ọhụrụ ga-apụta ebe a ."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "E nweghị ọkụ na-echere"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "E wuu !"
@@ -1123,119 +1083,119 @@ msgstr "E wuu !"
msgid "labels.old-password"
msgstr "Akara mpịbanye ochie"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Ọzọ (zipụta)"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Onye nwe"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Akara mpịbanye"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Na-echere"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Onye njikwa ngwaahịa ma ọ bụ arụmarụ"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Nchịkọta"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Ọrụ gasị"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Wepụta ndetu"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Wepu"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Wepụ onye otu"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Nyegharịa aha"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Nyegharịa otu"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Nwagharịa"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Ọrụ"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Dokwa"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Chọọ mkpụrụ edide"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Họrọ nhọ"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Ziga"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Na-eziga…"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Ntọala"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Ọba ederede"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Gosi nkwupụta niile"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Gosi ndepụta nkwupụta gasị"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Gosi nanị nkwupụta gị gasị"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Eserese"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Bido"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Ọnọdụ"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Nwata akwụkwọ ma ọ bụ onye nkụzi"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Nkuzi"
@@ -1243,23 +1203,23 @@ msgstr "Nkuzi"
msgid "labels.unpublish-multi-files"
msgstr "%s ederede ebipụtaghị"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Hazigharịa"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Hazigharịa otu"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Bugo"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Bugo ederede gasị ahaziri"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Na-ebugo…"
@@ -1267,11 +1227,11 @@ msgstr "Na-ebugo…"
msgid "labels.view-only"
msgstr "Sọọsọ nkiri"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Ndị nkiri"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Nko-ududọ"
@@ -1279,11 +1239,11 @@ msgstr "Nko-ududọ"
msgid "labels.write-new-comment"
msgstr "Dee nkwupụta ọhụrụ"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(gị)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Akara mbata gị"
@@ -1312,45 +1272,45 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Tinye “%s” dị ka ọba ederede ekekoritara"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "nnukwu nkpatụ"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Gbanwee ozi nl"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Mebe nko - ududo"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Mebe nko-ududo"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Isi ozi URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://ọmụmaaụ.com/ozi anabara"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Kagbuo ma dobe ebe ntinye ihe m"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Eee, hichapụ ebe ntinye ihe m"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Site na iwepu ebe ntinye ihe gị, arụmarụ gị gasị ugbu a naebe nchekwa "
"ga-efu ."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ ebe ntinye ihe gị?"
@@ -1390,15 +1350,15 @@ msgstr "Na-ehichapụ ederede"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Na-ehichapụ ederede %s"
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Na-ehichapụ mkpụrụ edide"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
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:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Hichapụ ihu akwụkwọ"
@@ -1428,133 +1388,133 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Na-ehichapụ otu"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Hichapụ onye otu"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ onye otu n'otu a?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Hichapụ onye otu"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Hichapụ nko-ududọ"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ nko-ududọ ?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Na-ehichapụ nko-ududo"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Dezie nko-ududo"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Dezie nko-ududo"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Ziga akwụkwọ ozi mkpọta"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Ozi-n gasị, Rịkọm e kewara"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Ụfọdụ ozi n sitere na ndị ugbu a A gaghị e ịga akwụkwọ ozi mkpọta ha"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "kpọta ndị otu n'otu a"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Etu ị bụ sọọ otu onye otu , a ga e hichapụ otu a ya n'ọrụ na ederede ya "
"gasịits projects and files."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Ọ kara gị obi na ị chọrọ ịhapụ otu %s ?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"I nweghị ike ịhapụ otu ma ọ bụrụ na e nweghị onye otu ọzọ akwalitere ga na "
"onye nwe ya . Ị nwere ike chọọ ị hichapụ otu ."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Gị bụ onye nwee otu a, . Biko, họrọ onye otu ọzọ maka ịkwalite gana onye "
"nweeya tupu ị hapụ ."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Kwalite ma hapụ"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Họrọ onye otu maka ịkwalite"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Tupu ị hapụ"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Hapụ otu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Ọ kara gị obi na ịchọrọ ịhapụ otu ?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Nhapụ otu"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "ọnụ ọgụgụ nkpatụ"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Ọ bụrụ na Inyefe onwunwe , ị ga-agbanwe ọrụ gị ka ọchikwa, ụfọdụ ikikere "
"n'isi ndị otu na-efu "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"G bụ onye nwe otu a ugbu a, Ọ doro gị anya na ị chọrọ ime%s Onye ọhụrụ nwe "
"otu a?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Onye nwe otu ọhụrụ"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Biputa"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Biputa ọba ederede efu"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "kpatụ obere"
@@ -1570,15 +1530,15 @@ msgstr "Kagbuo"
msgid "notifications.by-code.upgrade-version"
msgstr "A new version is available."
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "I nweghị ike ị hichapụ nchịkọta gị . Nyegharịa ya ndị otu gị tupu ị ganihu"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "E dọkwara nchịkọta nke ọma"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Ozi nnyocha n zigara na%s. Mepe ozi n gị !"
@@ -1596,15 +1556,15 @@ msgstr "Nabata ite mkpịsị !"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "I nye ha otu gị aha , I nwere ike ị kpọta ndị mmadụ ka ha sonye."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Kpọta ndị otu"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "kpọta tinye ọrụ :"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Ka anyị bido!"
@@ -1650,38 +1610,38 @@ msgstr "Bido osise"
msgid "profile.recovery.go-to-login"
msgstr "Gaa na mbanye"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Wega ebe azụ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Mkpị"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Nyado"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Kachapụ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Umezi nlekwasa anya"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Gbanye nlekwasa anya"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Mee ọtụtụ akọrọngwa ga"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Agba[ Palette (Na narị)"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
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 3fa5b6d7b9..2c5a54362f 100644
--- a/frontend/translations/it.po
+++ b/frontend/translations/it.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Italian "
" \n"
"Language: it\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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Hai già un account?"
+#: src/app/main/ui/auth/recovery_request.cljs:111, src/app/main/ui/auth/register.cljs:250
+msgid "auth.check-email"
+msgstr "Controlla la tua email!"
+
#: src/app/main/ui/auth/recovery.cljs:83
msgid "auth.confirm-password"
msgstr "Conferma la password"
@@ -29,7 +33,7 @@ msgstr ""
"Questo è un servizio di prova, non utilizzare per il lavoro reale, i "
"progetti verranno eliminati periodicamente."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Hai dimenticato la password?"
@@ -37,37 +41,37 @@ msgstr "Hai dimenticato la password?"
msgid "auth.fullname"
msgstr "Nome completo"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Accedi al mio account"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Accedi qui."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot è lo strumento di design open-source e gratuito per la "
"collaborazione tra Design e Sviluppo"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -75,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Inserisci una nuova password"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Ora fai parte di %s"
@@ -91,7 +95,7 @@ msgstr "Il profilo non è verificato. Verifica il profilo prima di continuare."
msgid "auth.notifications.recovery-token-sent"
msgstr "Il link per il recupero password è stato inviato alla tua e-mail."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Unito al team con successo"
@@ -123,7 +127,7 @@ msgstr "Hai dimenticato la password?"
msgid "auth.recovery-submit"
msgstr "Cambia la tua password"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Non hai ancora un account?"
@@ -137,7 +141,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Il tuo nome"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Crea un account"
@@ -150,10 +154,14 @@ msgstr "Crea un account"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Condizioni di servizio"
+#: src/app/main/ui/auth/register.cljs:251
+msgid "auth.verification-sent-email"
+msgstr "Abbiamo inviato un'email di verifica a:"
+
#: src/app/main/ui/auth/login.cljs:185, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:182
msgid "auth.work-email"
msgstr "Email di lavoro"
@@ -168,93 +176,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Nessuna persona trovata per @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Pubblica"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Tutti gli utenti Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Sei sicuro di voler eliminare questo link? Se sì, non sarà più disponibile "
"per nessuno"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(attuale)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Elimina link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Ottieni link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copiato con successo"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gestisci permessi"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 pagina condivisa"
msgstr[1] "%s pagine condivise"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Può commentare"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Può ispezionare il codice"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Chiunque possieda questo link può accedere"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pagine condivise"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Il codice per condividere apparirà qui"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Solo i membri del team"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Condividi i prototipi"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Seleziona tutto"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Rimuovi pubblicazione"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestisci team"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot è studiato per i team. Invita membri per lavorare insieme a file e "
"progetti"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Fai squadra!"
@@ -270,47 +278,103 @@ msgstr "Ripristina file"
msgid "dashboard.add-file"
msgstr "Aggiungi file"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Aggiungi come libreria condivisa"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Cambia indirizzo e-mail"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "SPOSTA TEAM"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Sposta in:"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:611
+msgid "dashboard.change-organization-modal.description"
+msgstr ""
+"I progetti e i file rimarranno disponibili ai membri del team. Il team "
+"otterrà la configurazione dalla nuova organizzazione."
+
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Seleziona un'organizzazione"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Cambia organizzazione del team"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/check_updates.cljs:334
+msgid "dashboard.check-updates.available-message"
+msgstr ""
+"Le nuove versioni includono miglioramenti alle prestazioni, nuove "
+"funzionalità e correzioni che mantengono la tua installazione attuale."
+
+#: src/app/main/ui/dashboard/check_updates.cljs:309
+msgid "dashboard.check-updates.available-title"
+msgstr "È DISPONIBILE UNA NUOVA VERSIONE DI PENPOT"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:341
+msgid "dashboard.check-updates.highlights-title"
+msgstr "Novità - In evidenza"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:318
+msgid "dashboard.check-updates.installed-version"
+msgstr "Versione installata"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:326
+msgid "dashboard.check-updates.latest-version"
+msgstr "Ultima versione"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:235
+msgid "dashboard.check-updates.try-again"
+msgstr "Riprova"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:230
+msgid "dashboard.check-updates.unable-hint"
+msgstr "Controlla la tua connessione o la configurazione dell'istanza e riprova."
+
+#: src/app/main/ui/dashboard/check_updates.cljs:215
+msgid "dashboard.check-updates.unable-title"
+msgstr "IMPOSSIBILE CONTROLLARE GLI AGGIORNAMENTI"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:265
+msgid "dashboard.check-updates.uptodate-message"
+msgstr "Stai eseguendo l'ultima versione stabile:"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:254
+msgid "dashboard.check-updates.uptodate-title"
+msgstr "PENPOT È AGGIORNATO"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:371
+msgid "dashboard.check-updates.view-changelog"
+msgstr "Visualizza changelog completo"
+
+#: src/app/main/ui/dashboard/check_updates.cljs:374
+msgid "dashboard.check-updates.view-release-notes"
+msgstr "Visualizza note di rilascio"
+
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Svuota il cestino"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Crea org"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Crea un nuovo team"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Appunta questa versione"
@@ -318,7 +382,7 @@ msgstr "Appunta questa versione"
msgid "dashboard.default-team-name"
msgstr "Il tuo Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Sei sicuro di voler eliminare definitivamente tutti i progetti e file "
@@ -330,42 +394,42 @@ msgstr ""
"Sei sicuro di voler eliminare definitivamente %s? Questa azione è "
"irreversibile."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s file sono stati eliminati con successo."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Elimina definitivamente"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Elimina progetto"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Sei sicuro di voler eliminare definitivamente il progetto %s? Eliminerai "
"definitivamente anche tutti i file al suo interno. Questa azione è "
"irreversibile."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s è stato eliminato con successo."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Elimina team"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Il tuo cestino è vuoto. I file e i progetti eliminati appariranno qui."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Sarà eliminato %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Scarica il file Penpot (.penpot)"
@@ -377,19 +441,19 @@ msgstr "Duplica"
msgid "dashboard.duplicate-multi"
msgstr "Duplica %s file"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Nessuna bozza presente."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Quando un membro del progetto crea un file, verrà mostrato qui."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Nessun file presente."
@@ -437,23 +501,23 @@ msgstr "Importa un file .penpot"
msgid "dashboard.empty-project.start"
msgstr "Inizia a creare cose straordinarie"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Si è verificato un errore durante l'eliminazione dei file."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Si è verificato un errore durante l'eliminazione del progetto %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Si è verificato un errore durante il ripristino del file %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Si è verificato un errore durante il ripristino dei file."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr ""
"Si è verificato un errore durante il ripristino del progetto %s e dei suoi "
@@ -463,37 +527,37 @@ msgstr ""
msgid "dashboard.export-binary-multi"
msgstr "Scarica %s file Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Esporta le tavole da disegno in PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Esporta in PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s di %s elementi selezionati"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Esporta"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Puoi aggiungere dei parametri di esportazione agli elementi accedendo alle "
"proprietà del design (in fondo alla barra laterale destra)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informazioni utili su come configurare l'esportazione in Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Non ci sono elementi con parametri di esportazione."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Esporta selezionati"
@@ -509,35 +573,43 @@ msgid_plural "dashboard.file-menu.restore-files-option"
msgstr[0] "Ripristina file"
msgstr[1] "Ripristina file"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/dashboard/layout_toggle.cljs:32
+msgid "dashboard.files-layout.grid"
+msgstr "Visualizzazione a griglia"
+
+#: src/app/main/ui/dashboard/layout_toggle.cljs:28
+msgid "dashboard.files-layout.list"
+msgstr "Visualizzazione a elenco"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Carattere mancante"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Chiudi tutto"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "I caratteri personalizzati che carichi appariranno qui."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Nessun carattere personalizzato presente."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Quando un membro del progetto carica un carattere personalizzato, verrà "
"mostrato qui."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "1 carattere aggiunto"
msgstr[1] "%s caratteri aggiunti"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -548,7 +620,7 @@ msgstr ""
"È possibile caricare caratteri con i seguenti formati: **TTF, OTF e WOFF** "
"(uno solo di questi è necessario)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -558,11 +630,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Carica tutto"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -573,111 +645,109 @@ msgstr ""
"utilizzare [Transfonter](https://transfonter.org/) per generare webfont e "
"correggere errori. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Vai alla console amministratore"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/grid.cljs:253
+msgid "dashboard.grid.last-modified-at"
+msgstr "Ultima modifica %s"
+
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importa file Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ops! Non possiamo importare questo file"
+#: src/app/main/ui/dashboard/import.cljs:698
+msgid "dashboard.import.auto-linked-libraries"
+msgid_plural "dashboard.import.auto-linked-libraries"
+msgstr[0] "1 libreria è stata collegata automaticamente tramite nome."
+msgstr[1] "%s librerie sono state collegate automaticamente tramite nome."
+
#: src/app/main/ui/dashboard.cljs:264
msgid "dashboard.import.bad-url"
msgstr "Importazione non riuscita. L'URL del modello non è corretto"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:838
+msgid "dashboard.import.confirm-library-links"
+msgstr "Conferma collegamenti libreria"
+
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Connetti le librerie selezionate"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Nome file"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Impossibile verificare questo file."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Questo file sembra essere danneggiato."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Non tutti i file sono stati importati"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "I seguenti file presentano errori:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "I file con errori non verranno caricati."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Qualcosa è andato storto durante l'elaborazione di questo file."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Alcuni file contenenti oggetti non validi sono stati rimossi."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Prossimo file"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Non hai i permessi per importare in questo team"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Elaborazione dei colori"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Elaborazione dei componenti"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Elaborazione dei media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Elaborazione pagina: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Elaborazione degli elementi tipografici"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Caricamento dei dati sul server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Caricamento file: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Stai per eliminare gli inviti a:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Stai per reinviare gli inviti a:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Elimina inviti"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Reinvia inviti"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Non hai i permessi per invitare persone ad unirsi a questo team oppure "
"modificare o eliminare gli inviti."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invita nel team"
@@ -689,29 +759,29 @@ msgstr "Lascia org"
msgid "dashboard.leave-organization.toast"
msgstr "Non fai più parte dell'organizzazione %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Abbandona il team"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Librerie e modelli"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "Ecco alcune librerie e modelli che puoi aggiungere al tuo progetto"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Esplorane di più e scopri come contribuire"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Librerie condivise"
@@ -719,7 +789,7 @@ msgstr "Librerie condivise"
msgid "dashboard.loading-files"
msgstr "caricamento dei file …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "caricamento dei caratteri…"
@@ -739,61 +809,61 @@ msgstr "Sposta %s file in"
msgid "dashboard.move-to-other-team"
msgstr "Sposta in un altro team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nuovo File"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nuovo File"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nuovo progetto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nuovo progetto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nessuna corrispondenza trovata per \"%s\""
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "Non hai i permessi per aggiungere team a nessuna delle tue organizzazioni."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Non sei autorizzato a creare team nell'organizzazione %s. Per maggiori "
"informazioni, contatta il proprietario dell'organizzazione."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Non sei autorizzato ad eliminare team nell'organizzazione %s. Per maggiori "
"informazioni, contatta il proprietario dell'organizzazione."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Non sei autorizzato a spostare team che fanno parte dell'organizzazione %s. "
"Per maggiori informazioni, contatta il proprietario dell'organizzazione."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "I progetti appuntati appariranno qui"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifiche"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Il tuo indirizzo e-mail è stato aggiornato con successo"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Il tuo indirizzo e-mail è stato verificato con successo"
@@ -805,11 +875,11 @@ msgstr "Impostazioni di notifica aggiornate"
msgid "dashboard.notifications.password-saved"
msgstr "La password è stata salvata con successo!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Visualizza notifiche"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membri"
@@ -817,19 +887,19 @@ msgstr "%s membri"
msgid "dashboard.open-in-new-tab"
msgstr "Apri file in una nuova scheda"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opzioni"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Ordina per ruolo"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Ordina per stato"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "L'organizzazione %s è stata eliminata."
@@ -853,7 +923,7 @@ msgstr "Ora sei il proprietario di questo team."
msgid "dashboard.permissions-change.viewer"
msgstr "Ora sei un visualizzatore di questo team."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Appunta/Rimuovi"
@@ -869,27 +939,27 @@ msgstr "Impossibile analizzare il manifesto del plugin"
msgid "dashboard.plugins.try-plugin"
msgstr "Prova il plugin: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Eliminazione file…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Ripristino file…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Eliminazione inaspettatamente lenta"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Ripristino inaspettatamente lento"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Progetti"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Desideri eliminare il tuo account?"
@@ -897,106 +967,106 @@ msgstr "Desideri eliminare il tuo account?"
msgid "dashboard.removed-from-team"
msgstr "Non fai più parte del team \"%s\"."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Stai per ripristinare tutti i tuoi progetti e file. Potrebbe richiedere un "
"po' di tempo."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Ripristina tutti i progetti e file"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Ripristina tutto"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s file sono stati ripristinati con successo."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Ripristina progetto"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Stai per ripristinare il progetto %s e tutti i file al suo interno."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Ripristina progetto"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s è stato ripristinato con successo."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Salva impostazioni"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Cerca…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Ricerca di \"%s\"…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organizzazioni"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "AGGIUNGI ALL'ORGANIZZAZIONE"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Scegli un'organizzazione:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" autorizza solo i membri dell'organizzazione ad unirsi al suo team. "
"Qualsiasi invito in sospeso a persone al di fuori dell'organizzazione verrà "
"revocato."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Gli inviti in sospeso ad utenti esterni verranno annullati."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Qui trovi tutte le organizzazioni dove sei autorizzato a creare o "
"aggiungere team."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Seleziona un'organizzazione"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Aggiungi team ad una organizzazione"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Seleziona la lingua per l'interfaccia utente"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Seleziona un tema"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Scuro (predefinito)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Chiaro"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Tema di sistema"
@@ -1060,11 +1130,11 @@ msgstr "Aggiorna impostazioni"
msgid "dashboard.settings.notifications.title"
msgstr "Notifiche"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Mostra tutti i file"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Cronologia versione"
@@ -1088,7 +1158,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Il tuo file è stato spostato con successo"
@@ -1100,112 +1170,112 @@ msgstr "I tuoi file sono stati spostati con successo"
msgid "dashboard.success-move-project"
msgstr "Il tuo progetto è stato spostato con successo"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s ora appartiene a %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informazioni sul team"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membri del team"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s non appartiene più a %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Organizzazione del team"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Aggiungi ad una organizzazione"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr ""
"Non hai i permessi per aggiungere questo team a nessuna delle tue "
"organizzazioni."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Cambia organizzazione del team"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr ""
"Solo le persone all'interno della tua organizzazione possono essere "
"invitate."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Questo team non appartiene a nessuna organizzazione"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Rimuovi team dall'organizzazione"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Progetti del team"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Aggiungi al tuo progetto"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema dell'interfaccia utente"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Risultati della ricerca"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "I file eliminati rimarranno nel cestino per"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s giorni. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "In seguito, verranno eliminati definitivamente."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Se cambi idea, puoi ripristinarli o eliminarlo definitivamente dal menu di "
"ciascun file."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Scrivi per cercare"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Annulla pubblicazione libreria"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Aggiorna le impostazioni"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Non sei più un membro dell'organizzazione %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"Il rendering WebGL può migliorare le prestazioni, ma è in versione beta e "
@@ -1213,74 +1283,74 @@ msgstr ""
"tra l'area di lavoro, le esportazioni (SVG/PDF) e la modalità di "
"visualizzazione."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Disabilitato"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Abilitato"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Invia feedback"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Stato"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Rendering WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "È attivo"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Quando questo webhook viene attivato verranno inviati i dati dell'evento"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Puoi solo eliminare o modificare i webhook creati da te."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tipo di contenuto"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Crea webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook creato con successo."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"I webhook sono un modo semplice per consentire ad altri siti web e app di "
"essere notificati quando si verificano determinati eventi su Penpot. "
"Invieremo una richiesta POST a ciascuno degli URL che fornisci."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Premi il bottone \"Aggiungi webhook\" per aggiungerne uno."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Nessun webhook presente."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Il tuo account"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Il tuo nome"
@@ -1296,11 +1366,11 @@ msgstr "Attenzione"
msgid "ds.component-subtitle"
msgstr "Componenti da aggiornare:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Acconsenti"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Annulla"
@@ -1320,7 +1390,7 @@ msgstr "Nessun token applicabile nei set o temi attivi."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Nessuna corrispondenza trovata."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Apri elenco token"
@@ -1332,15 +1402,15 @@ msgstr "Provider di autenticazione non consentito per questo profilo"
msgid "errors.auth-provider-not-configured"
msgstr "Provider di autenticazione non configurato."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Il carattere %s non può essere caricato"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "I caratteri %s non posso essere caricati"
@@ -1352,55 +1422,55 @@ msgstr "Impossible caricare il file multimediale."
msgid "errors.character-limit-exceeded"
msgstr "Limite di caratteri superato"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"L'API Clipboard non è disponibile. Distribuisci Penpot tramite HTTPS per "
"abilitare l'accesso agli appunti"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Il tuo browser non può effettuare questa operazione"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Accesso agli appunti negato. Consenti l'autorizzazione agli appunti nel tuo "
"browser per incollare i contenuti"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Si è verificato un errore con il commento"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Spiacenti! Questo è un file obsoleto che utilizza un tipo di risorsa Penpot "
"non più supportato e non può essere aperto."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "e cercheremo di aiutarti."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Anche se Penpot non supporta più questo tipo di risorse, puoi"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "contattarci"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr ""
"Impossibile rilasciare un set genitore in un percorso appartenente a un "
"proprio elemento figlio."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Indirizzo e-mail già utilizzato"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Indirizzo e-mail già convalidato."
@@ -1412,29 +1482,29 @@ msgstr "Non è possibile utilizzare il tuo indirizzo e-mail come password"
msgid "errors.email-does-not-match-invitation"
msgstr "L’email non corrisponde all’invito."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Dominio non consentito"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "L'email «%s» ha molti report di rimbalzi permanenti."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "L'e-mail \"%s\" è stata riportata come spam o respinta in modo permanente."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Sembra che tu stia aprendo un file con la funzione '%s' abilitata, ma la "
"versione attuale di Penpot non la supporta o l'ha disabilitata."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "La funzione '%s' non è supportata."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Deve contenere al massimo %s caratteres."
@@ -1442,7 +1512,7 @@ msgstr "Deve contenere al massimo %s caratteres."
msgid "errors.field-min-length"
msgstr "Deve contenere almeno 1 carattere."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Campo vuoto"
@@ -1450,24 +1520,24 @@ msgstr "Campo vuoto"
msgid "errors.field-not-all-whitespace"
msgstr "Il nome deve contenere alcuni caratteri oltre allo spazio."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Sembra che ci sia una discrepanza tra le funzioni abilitate e quelle del "
"file che stai cercando di aprire. È necessario applicare le migrazioni per "
"'%s' prima di poter aprire il file."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Il nome della famiglia di caratteri può contenere solo lettere, numeri, "
"spazi, trattini, trattini bassi e punti."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Si è verificato un problema."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Qualcosa è andato storto con il web worker."
@@ -1483,7 +1553,7 @@ msgstr "Dati non validi"
msgid "errors.invalid-email"
msgstr "Inserisci una email valida"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "L'indirizzo e-mail di conferma deve corrispondere"
@@ -1519,11 +1589,11 @@ msgstr "Questo è invito può essere stato revocato o può essere scaduto."
msgid "errors.ldap-disabled"
msgstr "Autenticazione LDAP disabilitata."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Hai raggiunto la quota '%s'. Contatta il supporto."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"È stato raggiunto il massimo numero di email (%s) che possono essere "
@@ -1543,21 +1613,21 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "L'immagine non sembra valida."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Il profilo che stai invitando ha le email disattivate (rapporti di spam o "
"alti tassi di rimbalzo)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migrazione in corso"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Solo il creatore della versione può bloccarla"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Solo il creatore della versione può sbloccarla"
@@ -1571,7 +1641,7 @@ msgstr ""
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Il proprietario dell'organizzazione non può lasciare l'organizzazione."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "L'organizzazione non esiste"
@@ -1583,7 +1653,7 @@ msgstr "La password di conferma deve corrispondere"
msgid "errors.password-too-short"
msgstr "La password deve contenere almeno 8 caratteri"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Dati non validi negli appunti"
@@ -1591,7 +1661,7 @@ msgstr "Dati non validi negli appunti"
msgid "errors.profile-blocked"
msgstr "Questo profilo è bloccato"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Il tuo profilo ha le email disattivate (rapporti di spam o alti tassi di "
@@ -1601,21 +1671,21 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "La registrazione è al momento disabilitata."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "L'SVG non è valido o è danneggiato"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Rilevata funzione incompatibile '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Il numero di membri non è sufficiente per abbandonare il team. "
"Probabilmente lo vuoi eliminare."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Il membro che stai provando ad assegnare non esiste."
@@ -1623,7 +1693,7 @@ msgstr "Il membro che stai provando ad assegnare non esiste."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Solo il proprietario di un team può eliminarlo."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Il proprietario non può abbandonare il team. Devi riassegnare il ruolo di "
@@ -1639,13 +1709,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Esiste già un set con lo stesso nome"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Impossibile completare il rilascio: esiste già un set con lo stesso nome in "
"questo percorso."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Esiste già un'opzione tema con lo stesso nome"
@@ -1653,13 +1723,13 @@ msgstr "Esiste già un'opzione tema con lo stesso nome"
msgid "errors.token-theme-not-existing-sets"
msgstr "Il tema fa riferimento ad alcuni set non esistenti: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"L'interlinea dipende dalla dimensione del carattere. Aggiungi una "
"dimensione carattere per ottenere il valore risolto."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Questo campo non può essere vuoto"
@@ -1679,13 +1749,13 @@ msgstr "Errore di importazione:"
msgid "errors.tokens.invalid-color"
msgstr "Valore colore invalido: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr ""
"Valore del token non valido: puoi fare riferimento solo a un token "
"font-family"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valore del peso del font non valido: usa valori numerici (100-950) o nomi "
@@ -1707,37 +1777,37 @@ msgstr ""
"I nomi dei token devono contenere solo lettere e cifre, separate dal "
"carattere . e non devono iniziare con il simbolo $."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr ""
"Tipologia ombra non valida: sono consentite solo 'innerShadow' o "
"'dropShadow'"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valore del token non valido: sono accettati solo none, Uppercase, Lowercase "
"o Capitalize"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Valore del token non valido: sono accettati solo none, underline e "
"strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Valore non valido: deve fare riferimento a un token ombra composito."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Valore non valido: deve fare riferimento a un token tipografico composito."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valore token non valido: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Riferimenti al token mancanti: "
@@ -1749,33 +1819,33 @@ msgstr "Nessun token, set o tema trovato in questo file."
msgid "errors.tokens.number-too-large"
msgstr "Valore token non valido. Il valore risolto è troppo grande: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr ""
"L'opacità deve essere compresa tra 0 e 100% o tra 0 e 1 (ad esempio 50% o "
"0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Il token ha un riferimento a se stesso"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "La sfocatura dell'ombra deve essere maggiore o uguale a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "La diffusione dell'ombra deve essere maggiore o uguale a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "La larghezza della traccia deve essere maggiore o uguale a 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valore non valido: % non è consentito."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valore non valido: le unità non sono consentite."
@@ -1783,55 +1853,55 @@ msgstr "Valore non valido: le unità non sono consentite."
msgid "errors.unexpected-error"
msgstr "Si è verificato un errore inaspettato."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token sconosciuto"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Questa versione è già bloccata"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Questa versione è bloccata e non può essere eliminata da altri"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Il file ha un numero di versione incompatibile"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL ha smesso di funzionare. Ricarica la pagina per ripristinarlo"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oops! Il contesto della canvas è stato perso"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Errore di connessione, l'URL è irraggiungibile"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "L'URL non ha superato la validazione."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Errore nell'ultimo invio."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Errore nella validazione SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Errore inaspettato durante la validazione"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Stato inaspettato %s"
@@ -1851,17 +1921,17 @@ msgstr "Descrizione"
msgid "feedback.description-placeholder"
msgstr "Descrivi il motivo del tuo feedback"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Siamo felici di averti qui. Se hai bisogno di aiuto, fai una ricerca prima "
"di postare una richiesta."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Community di Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Altri modi per contattarci"
@@ -1884,11 +1954,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contattaci"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Siamo qui per aiutarti con le tue domande tecniche."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Account di supporto X"
@@ -1908,10 +1978,6 @@ msgstr "Idea"
msgid "feedback.type.issue"
msgstr "Problema"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Scarica file"
-
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "Si è verificato un errore"
@@ -1948,7 +2014,7 @@ msgstr "Anteprima dell’immagine di riempimento della forma"
msgid "inspect.attributes.shadow"
msgstr "Ombra"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Dimensione e posizione"
@@ -1956,43 +2022,31 @@ msgstr "Dimensione e posizione"
msgid "inspect.attributes.stroke"
msgstr "Contorno"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centro"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Interno"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Esterno"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Famiglia di caratteri"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Dimensione del carattere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Stile del carattere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Spaziatura delle lettere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Interlinea"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Famiglie di caratteri miste"
@@ -2004,11 +2058,11 @@ msgstr "Nessuno"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Sottolineato"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Prime lettere maiuscole"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minuscolo"
@@ -2020,7 +2074,7 @@ msgstr "Nessuno"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Annulla impostazione"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Maiuscolo"
@@ -2144,23 +2198,23 @@ msgstr "Valore risolto:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Proprietà delle varianti"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Crea nuovo token di accesso"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Premi il pulsante \"Crea nuovo token di accesso\" per generarne uno."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Non hai ancora nessun token."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Token di accesso personale"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"I token di accesso personale funzionano come alternativa al nostro sistema "
@@ -2237,25 +2291,25 @@ msgstr ""
"Il server MCP di Penpot consente ai client MCP di interagire direttamente "
"con i file di design di Penpot."
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Il server MCP di Penpot consente ai client MCP di interagire direttamente "
"con i file di design di Penpot."
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Stato"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Disabilitato"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Abilitato"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"La chiave MCP utilizzata per connettersi al server MCP è scaduta. Di "
@@ -2265,10 +2319,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "Server MCP"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:392
msgid "integrations.no-expiration"
msgstr "Nessuna data di scadenza"
@@ -2279,47 +2329,47 @@ msgstr ""
"Questo token unico non è recuperabile. In caso di smarrimento, sarà "
"necessario crearne uno nuovo."
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Contassegna tutto come letto"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Scorciatoie"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Informazioni su Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Accetto"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Attivo"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Aggiungi"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Aggiungi un carattere personalizzato"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Aggiungendo…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Amministratore"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Tutti"
@@ -2327,17 +2377,17 @@ msgstr "Tutti"
msgid "labels.and"
msgstr "e"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Indietro"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Sembra che tu debba aspettare un po' e riprovare; stiamo eseguendo dei "
"piccoli lavori di manutenzione sui nostri server."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Gateway non corretto"
@@ -2345,15 +2395,15 @@ msgstr "Gateway non corretto"
msgid "labels.blur"
msgstr "Sfocatura"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Annulla"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Chiudi"
@@ -2361,7 +2411,7 @@ msgstr "Chiudi"
msgid "labels.code"
msgstr "Codice"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Comprimi"
@@ -2373,15 +2423,15 @@ msgstr "Colore"
msgid "labels.comment"
msgstr "Commenta"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Commenti"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Community"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Comunità e contributi"
@@ -2393,19 +2443,19 @@ msgstr "Calcolato"
msgid "labels.confirm-password"
msgstr "Conferma la password"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contatta il supporto"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contattaci"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continua"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Puoi continuare con un account Penpot"
@@ -2417,31 +2467,31 @@ msgstr "Copia"
msgid "labels.copy-color"
msgstr "Copia colore"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copia link"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-presente"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Crea"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Crea un nuovo team"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Inserisci il nome del nuovo team"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Pannello di controllo"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Elimina"
@@ -2453,7 +2503,7 @@ msgstr "Elimina il commento"
msgid "labels.delete-comment-thread"
msgstr "Elimina il thread"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Elimina l'invito"
@@ -2461,23 +2511,23 @@ msgstr "Elimina l'invito"
msgid "labels.delete-multi-files"
msgstr "Elimina %s file"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Eliminati"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Sviluppo"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Scarta"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Scarica %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Bozze"
@@ -2485,27 +2535,27 @@ msgstr "Bozze"
msgid "labels.duplicate"
msgstr "Duplica"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Modifica"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Redattore"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Vuoto"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Errore"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Scaduto"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Esporta"
@@ -2517,7 +2567,7 @@ msgstr "Feedback disabilitato"
msgid "labels.feedback-sent"
msgstr "Feedback inviato"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2525,55 +2575,55 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Riempimento"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Famiglia di caratteri"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stili"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Font"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repository Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Dai la tua opinione"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Torna indietro"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Graphic design"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Supporto"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Aiuto e apprendimento"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Nascondi"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Non mostrare i commenti risolti"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importa"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inattivo"
@@ -2581,49 +2631,49 @@ msgstr "Inattivo"
msgid "labels.info"
msgstr "Informazione"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Caratteri installati"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Qualcosa è andato storto."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Puoi riprovare l’operazione oppure contattare il supporto per segnalare "
"l’errore."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Errore interno"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Inviti"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Lingua"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centro di apprendimento"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Librerie e modelli"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Caricamento…"
@@ -2631,7 +2681,7 @@ msgstr "Caricamento…"
msgid "labels.lock"
msgstr "Blocca"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Connettiti o iscriviti"
@@ -2639,19 +2689,19 @@ msgstr "Connettiti o iscriviti"
msgid "labels.login"
msgstr "Accesso"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Disconnetti"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membro"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membri"
@@ -2663,43 +2713,43 @@ msgstr "Menziona"
msgid "labels.new-password"
msgstr "Nuova password"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Successivo"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Non ci sono notifiche di commenti in attesa."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Non ci sono inviti."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Raduna le persone e costruite grandi cose insieme."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ops!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifiche"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 file"
msgstr[1] "%s file"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tavola da disegno"
msgstr[1] "%s tavole da disegno"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 progetto"
@@ -2709,39 +2759,39 @@ msgstr[1] "%s progetti"
msgid "labels.old-password"
msgstr "Vecchia password"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opzioni"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Altro (specifica)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Altro"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Proprietario"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Password"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "In attesa"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Registro delle modifiche di Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Hub di Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Progetti in evidenza"
@@ -2749,31 +2799,31 @@ msgstr "Progetti in evidenza"
msgid "labels.post"
msgstr "Pubblica"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Precedente"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Design del prodotto o UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestione del prodotto"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profilo"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Progetti"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Recenti"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Riferimento"
@@ -2781,27 +2831,27 @@ msgstr "Riferimento"
msgid "labels.refresh"
msgstr "Ricarica"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Note di versione"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Ricarica pagina"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Rimuovi"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Rimuovi membro"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Rinomina"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Rinomina il team"
@@ -2825,11 +2875,11 @@ msgstr "nuova risposta"
msgid "labels.reply.thread"
msgstr "Rispondi"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Reinvia"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Invia di nuovo l'invito"
@@ -2837,43 +2887,43 @@ msgstr "Invia di nuovo l'invito"
msgid "labels.restore"
msgstr "Ricarica file"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Riprova"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Ruolo"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Salva"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Cerca"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Cerca un carattere"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Seleziona opzione"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Invia"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Invio…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Stiamo effettuando la manutenzione programmata dei nostri sistemi."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Servizio non disponibile"
@@ -2881,55 +2931,55 @@ msgstr "Servizio non disponibile"
msgid "labels.sets"
msgstr "Set"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configurazione"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Ombra"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Condividi"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Librerie condivise"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Mostra"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Mostra tutti i commenti"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Mostra la lista dei commenti"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Mostra solo le tue menzioni"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Mostra solo i tuoi commenti"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Fonti"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Inizia"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Stato"
@@ -2937,7 +2987,7 @@ msgstr "Stato"
msgid "labels.stroke"
msgstr "Traccia"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Studente o docente"
@@ -2949,7 +2999,7 @@ msgstr "Stili"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Cambia"
@@ -2957,19 +3007,19 @@ msgstr "Cambia"
msgid "labels.text"
msgstr "Testo"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Temi"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorial"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Tipografia"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Errore sconosciuto"
@@ -2981,31 +3031,31 @@ msgstr "Sblocca"
msgid "labels.unpublish-multi-files"
msgstr "Rimuovi pubblicazione a %s file"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Aggiorna"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Aggiorna team"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Carica"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Carica caratteri personalizzati"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Caricamento…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variante"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Note della versione %s"
@@ -3013,7 +3063,7 @@ msgstr "Note della versione %s"
msgid "labels.view-only"
msgstr "Solo visualizzazione"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visualizzatore"
@@ -3021,7 +3071,7 @@ msgstr "Visualizzatore"
msgid "labels.visibility"
msgstr "Visibilità"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhook"
@@ -3029,11 +3079,11 @@ msgstr "Webhook"
msgid "labels.write-new-comment"
msgstr "Scrivi un nuovo commento"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(tu)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Il tuo account"
@@ -3170,63 +3220,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Aggiungi \"%s\" come libreria condivisa"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grande scatto"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Conferma il nuovo indirizzo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Ti invieremo un'e-mail al tuo attuale indirizzo e-mail \"%s\" per "
"verificare la tua identità."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nuovo indirizzo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Cambiare indirizzo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Cambia il tuo indirizzo e-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Crea webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Crea webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL del payload"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Annulla e mantieni il mio account"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Sì, cancella il mio account"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Cancellando il tuo account, perderai tutti i tuoi archivi e progetti "
"attuali."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Eliminare il proprio account?"
@@ -3276,29 +3326,29 @@ msgstr "Eliminare %s files?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Eliminazione %s files"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Eliminazione stile del carattere"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "Eliminare questo carattere? Se è usato in un file, non verrà caricato."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Eliminazione carattere"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Eliminare questa pagina?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Elimina pagina"
@@ -3314,31 +3364,31 @@ msgstr "Eliminare questo progetto?"
msgid "modals.delete-project-confirm.title"
msgstr "Elimina progetto"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Elimina file"
msgstr[1] "Elimina i file"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Non è attivato in alcun file."
msgstr[1] "Non sono attivati in alcun file."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Questa libreria è attivata qui: "
msgstr[1] "Queste librerie sono attivate qui: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Eliminare questo file?"
msgstr[1] "Eliminare questi file?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Eliminazione del file"
@@ -3358,19 +3408,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Eliminazione del team in corso"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Elimina membro"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Eliminare questo membro dal team?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Elimina membro del team"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3380,23 +3430,23 @@ msgstr[1] ""
"Le risorse già utilizzare in questi file rimarranno lì (nessun design verrà "
"compromesso)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Elimina webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Sei sicuro di voler eliminare questo webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Eliminazione del webhook in corso"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Modifica webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Modifica webhook"
@@ -3414,145 +3464,145 @@ msgstr "Importa token"
msgid "modals.import-library-tokens.title"
msgstr "Importare i token dalla libreria?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Invia invito"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Email, separate da virgole"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Alcuni membri sono già nel team. Inviteremo i restanti."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Puoi invitare membri nel team affinché possano accedere a questo file e a "
"tutti i file del team."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Invita membri al team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Poiché sei il solo membro di questo team, il team verrà eliminato insieme "
"ai sui file e progetti."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Lasciare il team di %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Non puoi lasciare il team se non c'è un altro membro da promuovere a "
"proprietario. Potresti voler eliminare il team."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Sei il proprietario di questo team. Per favore seleziona un altro membro da "
"promuovere a proprietario prima di uscire."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promuovi e esci"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Seleziona un membro da promuovere"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Prima di uscire"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Lascia il team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Vuoi lasciare questo team?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Lasciando il team"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Sposta"
msgstr[1] "Sposta"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Sei sicuro di voler spostare questa libreria?"
msgstr[1] "Sei sicuro di voler spostare queste librerie?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Sposta libreria"
msgstr[1] "Sposta librerie"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Ampiezza scatto"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Trasferisci proprietà"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Trasferendo la proprietà, il tuo ruolo diverrà quello di Admin, perdendo "
"alcuni privilegi su questo team. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Sei l'attuale proprietario di questo team. Trasferire la proprietà del team "
"a %s?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nuovo proprietario del team"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Pubblica"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "La tua libreria è vuota. Sei sicuro di volerla pubblicare?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Pubblica libreria vuota"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Piccolo scatto"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Rimuovi pubblicazione"
msgstr[1] "Rimuovi pubblicazioni"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Annullare la pubblicazione di questa libreria?"
msgstr[1] "Annullare la pubblicazione di queste librerie?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Annulla pubblicazione libreria"
@@ -3576,11 +3626,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Aggiorna un componente in una libreria condivisa"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Questa pagina non esiste"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Errore 404"
@@ -3598,11 +3648,11 @@ msgstr "Abbiamo inviato un email di recupero a"
msgid "not-found.login.sent-recovery-check"
msgstr "Controlla la tua email e clicca nel link per creare una nuova password."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Iscriviti gratuitamente"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "E inizia ad utilizzare Penpot in pochi secondi!"
@@ -3610,67 +3660,67 @@ msgstr "E inizia ad utilizzare Penpot in pochi secondi!"
msgid "not-found.made-with-love"
msgstr "Fatto con AMORE e Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Hai già richiesto l'accesso a questo file."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Hai già richiesto l'accesso a questo file o ad altri file o progetti di "
"questo team."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Hai già richiesto l'accesso a questo progetto o ad altri progetti o file di "
"questo team."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Hai già richiesto l'accesso a questo progetto."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "RICHIEDI ACCESSO"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Ricorda che, se il proprietario lo consente, verrai invitato nel team."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "La tua richiesta è stata inviata correttamente!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Non hai accesso a questo file."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Vai al tuo Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Se il proprietario lo consente, sarai invitato al team."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "File Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Non hai accesso a questo progetto."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROGETTO"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Per accedere a questo file, puoi chiedere al proprietario del team."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Per accedere a questo progetto, puoi chiedere al proprietario del team."
@@ -3684,27 +3734,27 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Una nuova versione è disponibile."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invito eliminato con successo"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invito inviato con successo"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Link d'invito copiato"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Non puoi eliminare il tuo profilo. Riassegna i tuoi team prima di procedere."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profilo salvato con successo!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Email di verifica inviata a %s. Controlla la tua email!"
@@ -3734,78 +3784,78 @@ msgstr "Dopo aver nominato il tuo team, potrai invitare persone ad unirsi ad ess
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Crea team"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Invita membri"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Invita con il ruolo:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Iniziamo!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generare codice partendo dal design"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Creare Design System"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipazione"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Progettare la UI/UX di un'applicazione"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Per cosa utilizzerai Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Facci sapere qualcosa su di te per aiutarci ad ottimizzare Penpot rispetto "
"alle tue esigenze. Le tue risposte ci aiuteranno a dare priorità a nuove "
"funzionalità e a guidarti nella giusta direzione per iniziare."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Aiutaci a conoscerti meglio"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Quale di questi strumenti utilizzi maggiormente?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Che genere di lavori fai?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Parlaci del tuo lavoro"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Da dove ti piacerebbe iniziare?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Educazione"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personale"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Lavoro"
@@ -3855,11 +3905,11 @@ msgstr "Inizia a progettare"
msgid "profile.recovery.go-to-login"
msgstr "Vai all'accesso"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Scollega"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Misto"
@@ -3871,35 +3921,35 @@ msgstr "Rimuovi colore"
msgid "settings.select-this-color"
msgstr "Seleziona gli elementi che utilizzano questo stile"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Commenti"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Allinea in basso"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Allinea al centro orizzontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Allinea a sinistra"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Allinea a destra"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Allinea in alto"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Allinea al centro verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Crea una tavola da disegno a partire dalla selezione"
@@ -3907,55 +3957,55 @@ msgstr "Crea una tavola da disegno a partire dalla selezione"
msgid "shortcuts.bold"
msgstr "Attiva/Disattiva grassetto"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Differenza"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Escludi"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Interseca"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Unisci"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Porta sotto"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Porta dietro"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Porta avanti"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Porta in primo piano"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Pulisci cronologia"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copia"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copia link negli appunti"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copia proprietà"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Crea componente / variante"
@@ -3963,35 +4013,35 @@ msgstr "Crea componente / variante"
msgid "shortcuts.create-new-project"
msgstr "Crea nuovo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Taglia"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zoom indietro"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Elimina"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Elimina nodo"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Scollega componente"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellisse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tavola da disegno"
@@ -3999,39 +4049,39 @@ msgstr "Tavola da disegno"
msgid "shortcuts.draw-nodes"
msgstr "Disegna tracciato"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Tracciato"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rettangolo"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Testo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplica"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Annulla"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Esporta forme"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Adatta zoom a tutto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Capovolgi orizzontalmente"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Capovolgi verticalmente"
@@ -4055,23 +4105,23 @@ msgstr "Vai alle librerie condivise"
msgid "shortcuts.go-to-search"
msgstr "Cerca"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Raggruppa"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuisci orizzontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Mostra / Nascondi UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Aumenta zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Inserisci immagine"
@@ -4079,7 +4129,7 @@ msgstr "Inserisci immagine"
msgid "shortcuts.italic"
msgstr "Attiva/Disattiva corsivo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Unisci nodi"
@@ -4087,39 +4137,39 @@ msgstr "Unisci nodi"
msgid "shortcuts.line-through"
msgstr "Attiva/disattiva testo barrato"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Crea angolo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Crea curva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maschera"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fondi nodi"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Sposta"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Sposta rapidamente in basso"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Sposta rapidamente a sinistra"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Sposta rapidamente a destra"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Sposta rapidamente in alto"
@@ -4127,333 +4177,333 @@ msgstr "Sposta rapidamente in alto"
msgid "shortcuts.move-nodes"
msgstr "Sposta nodo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Sposta in basso"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Sposta a sinistra"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Sposta a destra"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Sposta in alto"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Tavola da disegno successiva"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nessuna scorciatoia trovata"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Imposta opacità al 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Imposta opacità al 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Imposta opacità al 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Imposta opacità al 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Imposta opacità al 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Imposta opacità al 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Imposta opacità al 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Imposta opacità al 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Imposta opacità all'80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Imposta opacità al 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Selettore colore"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Vai alla sezione commenti"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Vai al pannello di controllo"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Vai alla sezione di ispezione"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Vai alla sezione interazioni"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Vai alla sezione interazioni del visualizzatore"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Vai all'area di lavoro"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " o "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Incolla"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Incolla proprietà"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Gestore plugin"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tavola da disegno precedente"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Ripeti"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Rinomina"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Reimposta zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Ridimensiona"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Nozioni di base"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Pannello di controllo"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visualizzatore"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Area di lavoro"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Seleziona tutto"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Seleziona livello successivo"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Seleziona livello genitore"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Seleziona livello precedente"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separa nodi"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Mostra/Nascondi griglia pixel"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Mostra/Nascondi scorciatoie"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Aggancia ai nodi"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Aggancia alla griglia pixel"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Inizia a modificare"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Allineamento"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Modifica"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generico"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu principale"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modifica livelli"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigazione"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigazione"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigazione"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Pannelli"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Tracciati"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Forme"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Testi"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Strumenti"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Imposta miniature"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Scorciatoie da tastiera"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Attiva/Disattiva allineamento dinamico"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Attiva/Disattiva risorse"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Attiva/Disattiva palette colori"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Attiva/Disattiva modalità focus"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Attiva/Disattiva schermo intero"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Mostra/Nascondi guide"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Attiva/Disattiva cronologia"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Attiva/Disattiva livelli"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Aggiungi / Rimuovi layout flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Aggiungi / Rimuovi layout grid"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Blocca/Sblocca"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Blocca proporzioni"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Mostra/Nascondi righelli"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Aggancia alle guide"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Aggancia alle guide del righello"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Attiva/Disattiva palette testi"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Cambia tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Mostra/Nascondi"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Attiva/Disattiva stile zoom"
@@ -4461,31 +4511,31 @@ msgstr "Attiva/Disattiva stile zoom"
msgid "shortcuts.underline"
msgstr "Attiva/Disattiva sottolineatura"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Annulla"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Separa"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Rimuovi maschera"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuisci verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Diminuire lo zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Aumentare lo zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoom su selezione"
@@ -4577,204 +4627,204 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Invita persone con il piano Unlimited"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abbonamento"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Aggiungi un metodo di pagamento per continuare dopo il periodo di prova"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Tutti i vantaggi del piano Professional e:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Tutti i vantaggi del piano Unlimited e:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editor)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (versione di prova)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Versioni di salvataggio automatico a 90 giorni e recupero file"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Fattura mensile fissa"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Spazio di archiviazione illimitato"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gestisci il tuo abbonamento"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Aggiungi dettagli di pagamento"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Aggiungi subito i tuoi dati di pagamento per mantenere attiva la "
"sottoscrizione dopo il periodo di prova e continuare a supportare il nostro "
"progetto open-source. Non ti verrà ancora addebitato nulla."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Salta per ora e inizia la prova"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Aiutaci a crescere e rendi la tua prova ancora più semplice"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Attualmente hai %s persona nei tuoi team che può modificare."
msgstr[1] "Attualmente hai %s persone nei tuoi team che possono modificare."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Attenzione: passare a un piano inferiore significa meno spazio di "
"archiviazione e backup e cronologia delle versioni più brevi."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editor"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Proprietari, Amministratore ed Editor. I Visualizzatori non vengono "
"considerati Editor)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Non puoi impostare un numero di editor inferiore a quello attuale. Modifica "
"il ruolo (editor/admin in visualizzatore) per le persone che non modificano "
"effettivamente i file nelle impostazioni del team."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "(Non verrà effettuato nessun pagamento in questo momento)"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "$7 per editor/mese x %s"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Applica %s ai tuoi team"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Suggerimento: puoi aumentare ora il numero di posti per anticipare gli "
"inviti. Con oltre 25 editor nei team, pagherai un costo fisso di 175 $/mese."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Membro Penpot dal %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Ulteriori informazioni"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Altri piani Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organizzazione per mese"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "Versioni di salvataggio automatico a 7 giorni e recupero file"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB di spazio di archiviazione"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Team illimitati. Fino a 8 editor nei team di tua proprietà."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Consigliato"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Il tuo abbonamento"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Inizia la prova gratuita"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Abbonati"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Puoi modificare il tuo abbonamento in qualsiasi momento tramite la pagina "
"'Abbonamento' nei dettagli del tuo account."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Goditi il tuo piano!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Grazie per aver scelto il piano Penpot %s!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Sei %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Provalo gratuitamente per 14 giorni"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Illimitato"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (prova)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "Versioni di salvataggio automatico a 30 giorni e recupero file"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Fattura mensile con tetto massimo"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB di spazio di archiviazione"
@@ -4801,41 +4851,41 @@ msgstr ""
"Se desideri aumentare questo limite, [esegui l'upgrade del tuo "
"piano|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 invito selezionato"
msgstr[1] "%s inviti selezionati"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Fornitori dei caratteri - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Caratteri - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Progetti - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Cerca - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Librerie condivise - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Libertà di design per i team"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Fornisci feedback - Penpot"
@@ -4843,7 +4893,7 @@ msgstr "Fornisci feedback - Penpot"
msgid "title.settings.notifications"
msgstr "Notifiche - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Impostazioni - Penpot"
@@ -4851,27 +4901,27 @@ msgstr "Impostazioni - Penpot"
msgid "title.settings.password"
msgstr "Password - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profilo - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Inviti - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membri - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Impostazioni - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhook - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Modalità di visualizzazione - Penpot"
@@ -4883,99 +4933,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Scollega token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Nessuna tavola da disegno trovata nella pagina."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Tavola da disegno non trovata."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Commenti (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Non mostrare le interazioni"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Schermo intero"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Ispeziona (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interazioni"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interazioni (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copia link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Mostra interazioni"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Mostra interazioni al click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "L'ultimo invio è avvenuto con successo."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Allinea orizzontalmente al centro (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuisci spaziatura orizzontale (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Allinea a sinistra (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Allinea a destra (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Allinea in basso (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Allinea verticalmente al centro (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuisci spaziatura verticale (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Allinea in alto (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Aggiungi libreria"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Tutte le risorse"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Colori"
@@ -4987,7 +5037,7 @@ msgstr "Aggiungi colore"
msgid "workspace.assets.component-group-options"
msgstr "Opzioni gruppo componenti"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componenti"
@@ -4995,7 +5045,7 @@ msgstr "Componenti"
msgid "workspace.assets.components.add-component"
msgstr "Aggiungi componente"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Varianti"
@@ -5003,17 +5053,17 @@ msgstr "%s Varianti"
msgid "workspace.assets.create-group"
msgstr "Crea un gruppo"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"I tuoi elementi verrano rinominati automaticamente come \"Nome gruppo / "
"nome elemento\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Elimina"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplica"
@@ -5021,39 +5071,39 @@ msgstr "Duplica"
msgid "workspace.assets.duplicate-main"
msgstr "Duplica principale"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Modifica"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtra"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Vista a griglia"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Gruppo"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nome gruppo"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Vista a elenco"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "libreria locale"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gestisci libreria"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nessuna risorsa trovata"
@@ -5061,7 +5111,7 @@ msgstr "Nessuna risorsa trovata"
msgid "workspace.assets.open-library"
msgstr "Apri file libreria"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Rinomina"
@@ -5069,11 +5119,11 @@ msgstr "Rinomina"
msgid "workspace.assets.rename-group"
msgstr "Rinomina gruppo"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Cerca risorse"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Librerie condivise"
@@ -5083,43 +5133,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 componente"
msgstr[1] "%s componenti"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Ordina"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Elementi tipografici"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Aggiungi elemento tipografico"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Dimensione"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Stile del carattere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Spaziatura tra lettere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Interlinea"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Trasforma testo"
@@ -5131,65 +5181,65 @@ msgstr "Separa"
msgid "workspace.colorpicker.color-tokens"
msgstr "Token colore"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "I componenti non possono essere annidati dentro sé stessi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Alcune copie non possono essere sostituite. I componenti non possono essere "
"annidati dentro sé stessi."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Crea area"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Crea tavola da disegno"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Unisci celle"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Aggiungi 1 colonna a destra"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Aggiungi 1 colonna a sinistra"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Elimina colonna"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Elimina colonna e forme"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplica colonna"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Aggiungi 1 riga sotto"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Aggiungi 1 riga sopra"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Elimina riga"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Elimina riga e forme"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplica riga"
@@ -5197,15 +5247,15 @@ msgstr "Duplica riga"
msgid "workspace.debug.title"
msgstr "Strumenti di debug"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Modalità focus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Disattiva modalità focus"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Attiva modalità focus"
@@ -5217,191 +5267,191 @@ msgstr "Gradiente lineare"
msgid "workspace.gradients.radial"
msgstr "Gradiente radiale"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Disattiva allineamento dinamico"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Disattiva ridimensionamento proporzionale"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Disattiva allineamento a guide"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Disattiva allineamento al pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Disattiva allineamento alle guide righello"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Attiva allineamento dinamico"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Attiva ridimensionamento proporzionale"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Allinea alle guide"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Attiva allineamento al poxel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Allinea alle guide righello"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Nascondi nomi delle tavole da disegno"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Nascondi guide"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Nascondi palette colori"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Nascondi griglia pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Nascondi righelli"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Nascondi palette caratteri"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Modifica"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "File"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Aiuto e informazioni"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferenze"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Visualizza"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Ripeti"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Seleziona tutto"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Mostra nomi delle tavole da disegno"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Mostra guide"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Mostra palette colori"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Mostra griglia pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Mostra righelli"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Mostra palette caratteri"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Passa al tema scuro"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Passa al tema chiaro"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Passa al tema di sistema"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Annulla"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Reimposta"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Errore durante il salvataggio"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Salvato"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "In salvataggio"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Condividi"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Riempi - Ridimensiona per riempire"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Adatta - Riduci per adattare"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Adatta zoom a tutto"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Schermo intero"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom su selezione"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Modifica griglia"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Esci"
@@ -5409,7 +5459,7 @@ msgstr "Esci"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Padding inferiore"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Mostra opzioni di padding su 4 lati"
@@ -5445,29 +5495,29 @@ msgstr "Fatto"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Individua"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Individua layout grid"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 colore"
msgstr[1] "%s colori"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Non ci sono ancora stili di colore nella tua libreria"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Non ci sono ancora stili di carattere nella tua libreria"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Libreria del file"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Colori recenti"
@@ -5479,93 +5529,93 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Salva stile di colore"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 componente"
msgstr[1] "%s componenti"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Connesso a"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "O aggiungi alcuni di questi per provare:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "Non ci sono librerie condivise nel tuo team, puoi cercare"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "alcuni modelli qui"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Libreria del file"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 grafica"
msgstr[1] "%s grafiche"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "LIBRERIE IN QUESTO FILE"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "LIBRERIE"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "AGGIORNAMENTI DELLA LIBRERIA"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Caricamento…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Non ci sono librerie condivise che necessitano un aggiornamento"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Nessun risultato trovato per “%s”"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Cerca librerie condivise"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "LIBRERIE CONDIVISE"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Connetti libreria"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 tipografia"
msgstr[1] "%s tipografie"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Disconnetti libreria"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Aggiorna"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "vedi tutti i cambiamenti"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "AGGIORNAMENTI"
@@ -5601,117 +5651,117 @@ msgstr "Attiva/Disattiva sfocatura"
msgid "workspace.options.canvas-background"
msgstr "Colore di sfondo"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Ritaglia contenuto"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Componente"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Annotazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copia"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Crea un'annotazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Modifica un'annotazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principale"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Sostituisci componente"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Non ci sono ancora risorse in questa libreria"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Scollegato"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Individua varianti in conflitto"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Questo componente ha varianti in conflitto. Verifica che ciascuna variante "
"abbia un set di valori di proprietà univoci."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Individua varianti duplicate"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Alcune varianti hanno proprietà e valori identici"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Queste varianti hanno proprietà e valori identici. Modifica i valori "
"affinché possano essere distinti."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Questa variante ha proprietà e valori identici ad un'altra variante. "
"Modifica i valori affinché possano essere distinti."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Alcune di queste varianti hanno proprietà e valori identici. Modifica i "
"valori affinché possano essere distinti."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Questo componente ha varianti con nomi non validi. Verifica che ogni "
"variante rispetti la struttura corretta."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Individua varianti non valide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Alcune varianti hanno nomi non validi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Individua varianti non valide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Queste varianti hanno nomi non validi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Questa variante ha un nome non valido."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Alcune di queste varianti hanno nomi non validi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[proprietà]=[valore], [proprietà]=[valore]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Prova a usare la seguente struttura:"
@@ -5750,7 +5800,7 @@ msgstr "Si trovano allo stesso livello gerarchico."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Gruppi, tavole da disegno e layout sono considerati equivalenti."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Come rimangono connesse le varianti"
@@ -5794,11 +5844,11 @@ msgstr "Superiore"
msgid "workspace.options.constraints.topbottom"
msgstr "Superiore e Inferiore"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Esporta"
@@ -5806,37 +5856,37 @@ msgstr "Esporta"
msgid "workspace.options.export-multiple"
msgstr "Esporta selezione"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Aggiungi esportazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Rimuovi esportazione"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffisso"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Esportazione completata"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "In esportazione…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Esportazione fallita"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Esportazione inaspettatamente lenta"
@@ -5852,7 +5902,7 @@ msgstr "Aggiungi riempimento"
msgid "workspace.options.fill.remove-fill"
msgstr "Elimina riempimento"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Adatta tavola da disegno al contenuto"
@@ -5876,67 +5926,67 @@ msgstr "Inizi flusso"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Colonne"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Colore"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Interspazio"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Altezza"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margine"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Imposta come predefinito"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Basso"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Sinistra"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Destra"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Estendi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Alto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Usa predefinito"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Larghezza"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Righe"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Quadrato"
@@ -5948,7 +5998,7 @@ msgstr "Riempimento di gruppo"
msgid "workspace.options.group-stroke"
msgstr "Traccia di gruppo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Aggiungi guida"
@@ -5956,19 +6006,19 @@ msgstr "Aggiungi guida"
msgid "workspace.options.guides.remove-guide"
msgstr "Rimuovi guida"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Attiva/Disattiva guida"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altezza"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Ispeziona"
@@ -6184,107 +6234,107 @@ msgstr "Interazioni"
msgid "workspace.options.interactions.add-interaction"
msgstr "Aggiungi interazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Colore"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Colore brucia"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Colore scherma"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Scurisci"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Differenza"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Esclusione"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Luce intensa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Tonalità"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Schiarisci"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosità"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Moltiplica"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normale"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Sovrapponi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Scolora"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Luce soffusa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Attiva/Disattiva visibilità livello"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Altezza.Max"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Larghezza.Max"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Altezza.Min"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Larghezza.Min"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Più colori"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Più librerie colori"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Altri token colore"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacità"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototipo"
@@ -6316,19 +6366,19 @@ 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:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recenti"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Riprova"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Cerca carattere"
@@ -6338,7 +6388,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Colori selezionati"
@@ -6406,55 +6456,55 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Mostra in modalità visualizzazione"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Dimensione"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Dimensioni predefinite"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Blocca proporzioni"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Sblocca proporzioni"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cerchio"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamante"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Freccia"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nessuno"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Rotondo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Quadrato"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rettangolo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangolo"
@@ -6462,7 +6512,7 @@ msgstr "Triangolo"
msgid "workspace.options.stroke-color"
msgstr "Colore traccia"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Spessore traccia"
@@ -6470,35 +6520,35 @@ msgstr "Spessore traccia"
msgid "workspace.options.stroke.add-stroke"
msgstr "Aggiungi colore traccia"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tratteggiato"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Puntinato"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Interno"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Misto"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Esterno"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Rimuovi traccia"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solido"
@@ -6534,11 +6584,11 @@ msgstr "Larghezza automatica"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fisso"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Spaziatura tra lettere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Interlinea"
@@ -6584,126 +6634,126 @@ msgstr ""
"Utilizza il pulsante di riproduzione nell'header per avviare la "
"visualizzazione del prototipo."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Larghezza"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Asse X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Asse Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Disegna nodi (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Unisci nodi (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Concerti in angolo (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Converti in curva (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Fondi nodi (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Sposta nodo (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separa nodi (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Aggancia nodi (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Apri"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Scopri [altri plugin](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Nessun plugin ancora installata"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Il manifesto del plugin è errato."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Devi essere un editor per utilizzare questo plugin"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Il plugin non esiste o l'URL non è corretto."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installa"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Plugin installati"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Manager dei plugin"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugin"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "AGGIORNA QUESTO PLUGIN"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Il plugin è stato modificato da quando l'hai aperto l'ultima volta. Ora "
"richiede l'accesso a:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Inizia il download dei file."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Memorizza i dati nel browser."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Leggi i tuoi commenti e risposte."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Leggi e modifica i tuoi commenti e rispondi a tuo nome."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Leggi il contenuto dei file a cui gli utenti hanno accesso."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Leggi e modifica il contenuto dei file a cui gli utenti hanno accesso."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Tieni presente che questo plugin è creato da una terza parte, quindi "
@@ -6711,74 +6761,74 @@ msgstr ""
"sicurezza dei dati sono importanti per noi. Se hai dubbi, contatta il "
"supporto."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Leggere le tue librerie e risorse."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Leggere e modificare le tue librerie e risorse."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "IL PLUGIN '%s' VUOLE ACCEDERE A:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Leggere le informazioni del profilo dell'utente attuale."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Lista plugin"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Rimuovi plugin"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Scrivi URL di un plugin"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugin"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NON ORA"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Vuoi dare un'occhiata? Si aprirà in una nuova bozza per il tuo team "
"attuale. (In caso contrario, puoi sempre trovarlo nei plugin installati di "
"qualsiasi file.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "IL PLUGIN '%s' È INSTALLATO PER IL TUO UTENTE!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PROVA PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Aggiungi layout flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Aggiungi layout grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Aggiungi layout"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Crea variante"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Aggiungi nuova proprietà"
@@ -6790,7 +6840,7 @@ msgstr "Porta in fondo"
msgid "workspace.shape.menu.backward"
msgstr "Porta indietro"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combina come varianti"
@@ -6798,7 +6848,7 @@ msgstr "Combina come varianti"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "I componenti devono essere nella stessa pagina"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copia"
@@ -6834,27 +6884,27 @@ msgstr "Copia come testo"
msgid "workspace.shape.menu.create-annotation"
msgstr "Crea annotazione"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Tavola da disegno da selezione"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Crea componente"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Crea componenti multipli"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Taglia"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Elimina"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Elimina inizio del flusso"
@@ -6866,7 +6916,7 @@ msgstr "Scollega istanza"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Scollega istanze"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Differenza"
@@ -6874,15 +6924,15 @@ msgstr "Differenza"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplica"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Modifica"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Escludi"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Appiattisci"
@@ -6894,7 +6944,7 @@ msgstr "Capovolgi orizzontalmente"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Capovolgi verticalmente"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Inizio del flusso"
@@ -6906,31 +6956,31 @@ msgstr "Porta avanti"
msgid "workspace.shape.menu.front"
msgstr "Porta in primo piano"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Raggruppa"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Nascondi"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Mostra/Nascondi UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Interesezione"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Blocca"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maschera"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Incolla"
@@ -6938,27 +6988,27 @@ msgstr "Incolla"
msgid "workspace.shape.menu.paste-props"
msgstr "Incolla proprietà"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Tracciato"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Rimuovi layout flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Rimuovi layout grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Rimuovi layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Rimuovi proprietà"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Le varianti devono avere almeno una proprietà"
@@ -6982,11 +7032,11 @@ msgstr "Ripristina variante"
msgid "workspace.shape.menu.select-layer"
msgstr "Seleziona livello"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Mostra"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Mostra nel pannello delle risorse"
@@ -7002,19 +7052,19 @@ msgstr "Rimuovi miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Imposta come miniatura"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Separa"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Unione"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Sblocca"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Rimuovi maschera"
@@ -7030,51 +7080,51 @@ msgstr "Comprimi barra laterale"
msgid "workspace.sidebar.expand"
msgstr "Espandi barra laterale"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Cronologia"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Livelli"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componenti"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtro"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Tavole da disegno"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Gruppi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Immagini"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maschere"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Cerca livelli"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Forme"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Testi"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Attributi SVG importati"
@@ -7086,7 +7136,7 @@ msgstr "Pagine"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Aggiungi pagina"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Sitemap"
@@ -7106,7 +7156,7 @@ msgstr "Aggiungi il set a questo gruppo"
msgid "workspace.tokens.add-token"
msgstr "Aggiungi token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Applicato a"
@@ -7128,7 +7178,7 @@ msgstr ""
"La dimensione base del carattere deve essere un valore in pixel o senza "
"unità."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Colore"
@@ -7136,7 +7186,7 @@ msgstr "Colore"
msgid "workspace.tokens.create-new-theme"
msgstr "Crea ora il tuo prima tema."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Creane uno."
@@ -7156,7 +7206,7 @@ msgstr "Elimina tema"
msgid "workspace.tokens.duplicate"
msgstr "Duplica token"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copia"
@@ -7204,7 +7254,7 @@ msgstr "Anteprima:"
msgid "workspace.tokens.export.single-file"
msgstr "File singolo"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Dimensione carattere o {alias}"
@@ -7214,7 +7264,7 @@ msgstr ""
"Errore nell’impostazione del peso/stile del font. Questo stile non esiste "
"nel font corrente"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Font weight (300, Bold, Regular Italic...) o {alias}"
@@ -7252,7 +7302,7 @@ msgstr ""
"In un singolo file JSON, le chiavi di primo livello devono corrispondere ai "
"nomi dei set di token."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importa token"
@@ -7262,17 +7312,17 @@ msgstr ""
"L'importazione dei token sovrascriverà tutti i tuoi attuali token, set e "
"temi."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inattivo"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Questo set non è attivo. Cambia tema o attiva questo set per vedere "
"modifiche nell'anteprima"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Utilizza token individuali"
@@ -7292,11 +7342,11 @@ msgstr "Tema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Aggiungi un tema (es. Chiaro)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Letter spacing o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Line height (moltiplicatore, px, %) o {alias}"
@@ -7312,11 +7362,11 @@ msgstr "Dimensione max"
msgid "workspace.tokens.min-size"
msgstr "Dimensione min"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Riferimento mancante"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Fai clic con il tasto destro per vedere le opzioni"
@@ -7332,7 +7382,7 @@ msgstr "Nessun tema attivo"
msgid "workspace.tokens.no-permisions-set"
msgstr "Devi essere un editor per attivare / disattivare i set"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Devi essere un editor per usare i temi"
@@ -7344,7 +7394,7 @@ msgstr "Non sono ancora stati definiti dei set. Creane prima uno."
msgid "workspace.tokens.no-sets-yet"
msgstr "Non ci sono ancora dei set."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Non ci sono temi."
@@ -7360,7 +7410,7 @@ msgstr "Non riassegnare"
msgid "workspace.tokens.num-active-sets"
msgstr "% set attivi"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valore originale: %s"
@@ -7372,11 +7422,11 @@ msgstr "Padding"
msgid "workspace.tokens.radius"
msgstr "Raggio"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Inserisci un alias tipografico del token"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Inserisci un alias per il token ombra"
@@ -7392,7 +7442,7 @@ msgstr "Riassegnare tutti i token che usano `%s` a `%s`?"
msgid "workspace.tokens.remap-warning-time"
msgstr "Questa azione può richiedere un po' di tempo."
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valore risolto: %"
@@ -7426,27 +7476,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Impostazioni token"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Aggiungi ombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Sfocatura"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Interna"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Rimuovi ombra"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Diffusione"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Il valore della sfocatura non può essere negativo"
@@ -7454,11 +7504,11 @@ msgstr "Il valore della sfocatura non può essere negativo"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Il valore della diffusione non può essere negativo"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -7466,11 +7516,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Dimensione"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize o {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through o {alias}"
@@ -7488,27 +7538,27 @@ msgstr "Elenco temi"
msgid "workspace.tokens.token-description"
msgstr "Descrizione"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Seleziona famiglia di caratteri"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Famiglia di caratteri"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Famiglia di caratteri o elenco di caratteri separati da virgola (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nome"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Il nome deve essere di almeno 1 carattere"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" non è un nome di token valido.\n"
@@ -7519,11 +7569,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valore"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Inserisci un valore o un alias con {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKEN - %s"
@@ -7542,11 +7592,11 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Il tipo '%s' non è supportato (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Utilizza un riferimento"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Il valore non è valido"
@@ -7554,55 +7604,55 @@ msgstr "Il valore non è valido"
msgid "workspace.toolbar.assets"
msgstr "Risorse"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Palette colori (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Commenti (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Curva (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellisse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tavola da disegno (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Immagine (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Sposta (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Tracciato (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugin (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rettangolo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Testo (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografie (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Attiva/Disattiva barra degli strumenti"
@@ -7615,7 +7665,7 @@ msgstr "Fatto"
msgid "workspace.top-bar.view-only"
msgstr "**Ispezione codice** (Solo visualizzazione)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Non ci sono cambiamenti nella cronologia al momento"
@@ -7755,19 +7805,19 @@ msgstr "risorsa tipografica"
msgid "workspace.undo.entry.unknown"
msgstr "Operazione su %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ignora"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Maggiori informazioni"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Sono presenti degli aggiornamenti nelle librerie condivise"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Aggiorna"
diff --git a/frontend/translations/jpn_JP.po b/frontend/translations/jpn_JP.po
index 65ee25f35b..08fdb0977f 100644
--- a/frontend/translations/jpn_JP.po
+++ b/frontend/translations/jpn_JP.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Tatsuto Yamamoto \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Japanese "
" \n"
"Language: jpn_JP\n"
@@ -9,9 +9,9 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "アカウントをお持ちですか?"
@@ -31,7 +31,7 @@ msgstr "デモアカウントを作成"
msgid "auth.demo-warning"
msgstr "これはデモ用のサービスです。実際の業務には使用しないでください。プロジェクトは定期的に削除されます。"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "パスワードをお忘れですか?"
@@ -39,35 +39,35 @@ msgstr "パスワードをお忘れですか?"
msgid "auth.fullname"
msgstr "氏名"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "アカウントにログイン"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "こちらからログイン"
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpotは、デザインとコードの共同作業のための無料のオープンソースデザインツールです"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -75,7 +75,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "新しいパスワードを入力"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "%sに参加しました"
@@ -91,7 +91,7 @@ msgstr "プロフィールが確認されていません。続行する前にプ
msgid "auth.notifications.recovery-token-sent"
msgstr "パスワード再設定用のリンクをメールで送信しました。"
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "チームに参加しました"
@@ -123,7 +123,7 @@ msgstr "パスワードをお忘れですか?"
msgid "auth.recovery-submit"
msgstr "パスワードを変更"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "アカウントをお持ちでないですか?"
@@ -135,7 +135,7 @@ msgstr "ダッシュボードやメールで表示するお名前を教えてく
msgid "auth.register-account-title"
msgstr "お名前"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "アカウントを作成"
@@ -148,7 +148,7 @@ msgstr "アカウントを作成"
msgid "auth.terms-and-privacy-agreement"
msgstr "[利用規約](%s)と[プライバシーポリシー](%s)に同意します。"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "利用規約"
@@ -168,88 +168,88 @@ msgstr "利用できるカラートークンがありません。有効なセッ
msgid "comments.mentions.not-found"
msgstr "@%sに一致するユーザーが見つかりません"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "公開"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "すべてのPenpotユーザー"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "このリンクを削除しますか?削除すると、誰もこのリンクを使用できなくなります。"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(現在)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "リンクを削除"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "リンクを取得"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "リンクをコピーしました"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "権限を管理"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "%sページを共有"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "コメント可能"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "コードをインスペクト可能"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "リンクを知っている全員がアクセスできます"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "共有するページ"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "共有リンクがここに表示されます"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "チームメンバーのみ"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "プロトタイプを共有"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "すべて選択"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "公開を停止"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "チームを管理"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpotはチームで使うためのツールです。メンバーを招待して、プロジェクトやファイルで一緒に作業しましょう"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "チームで使おう!"
@@ -265,31 +265,31 @@ msgstr "ファイルを復元"
msgid "dashboard.add-file"
msgstr "ファイルを追加"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "共有ライブラリとして追加"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "メールアドレスを変更"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "チームを移動"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "移動先:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr "プロジェクトとファイルは引き続きチームメンバーが利用できます。チームには新しい組織の設定が適用されます。"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "組織を選択"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "チームの組織を変更"
@@ -345,23 +345,23 @@ msgstr "すべての変更履歴を表示"
msgid "dashboard.check-updates.view-release-notes"
msgstr "リリースノートを表示"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "ゴミ箱を空にする"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(コピー)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "組織を新規作成"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "チームを新規作成"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "このバージョンを固定"
@@ -369,7 +369,7 @@ msgstr "このバージョンを固定"
msgid "dashboard.default-team-name"
msgstr "個人プロジェクト"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr "削除済みのプロジェクトとファイルをすべて完全に削除しますか?この操作は元に戻せません。"
@@ -377,39 +377,39 @@ msgstr "削除済みのプロジェクトとファイルをすべて完全に削
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "%sを完全に削除しますか?この操作は元に戻せません。"
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s個のファイルを削除しました。"
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "完全に削除"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "プロジェクトを削除"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr "プロジェクト「%s」を完全に削除しますか?プロジェクトとその中のすべてのファイルが完全に削除されます。この操作は元に戻せません。"
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%sを削除しました。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "チームを削除"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "ゴミ箱は空です。削除したファイルやプロジェクトはここに表示されます。"
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "%sに削除されます"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Penpotファイル(.penpot)をダウンロード"
@@ -421,19 +421,19 @@ msgstr "複製"
msgid "dashboard.duplicate-multi"
msgstr "%s個のファイルを複製"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "プロジェクトメンバーが下書きを作成すると、ここに表示されます。"
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "下書きはまだありません。"
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "プロジェクトメンバーがファイルを作成すると、ここに表示されます。"
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "ファイルはまだありません。"
@@ -480,23 +480,23 @@ msgstr ".penpotファイルをインポート"
msgid "dashboard.empty-project.start"
msgstr "すばらしいものを作り始めましょう"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "ファイルの削除中にエラーが発生しました。"
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "プロジェクト「%s」の削除中にエラーが発生しました。"
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "ファイル「%s」の復元中にエラーが発生しました。"
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "ファイルの復元中にエラーが発生しました。"
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "プロジェクト「%s」とそのファイルの復元中にエラーが発生しました。"
@@ -504,35 +504,35 @@ msgstr "プロジェクト「%s」とそのファイルの復元中にエラー
msgid "dashboard.export-binary-multi"
msgstr "%s個のPenpotファイル(.penpot)をダウンロード"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "ボードをPDFとしてエクスポート"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "PDFとしてエクスポート"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s / %s個の要素を選択中"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "エクスポート"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr "デザインプロパティ(右サイドバーの下部)から、要素にエクスポート設定を追加できます。"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Penpotでのエクスポート設定方法"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "エクスポート設定のある要素がありません。"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "選択範囲をエクスポート"
@@ -554,32 +554,32 @@ msgstr "グリッド表示"
msgid "dashboard.files-layout.list"
msgstr "リスト表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "見つからないフォント"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "すべて破棄"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "アップロードしたカスタムフォントはここに表示されます。"
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "カスタムフォントはまだありません。"
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "プロジェクトメンバーがカスタムフォントをアップロードすると、ここに表示されます。"
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "%s個のフォントを追加しました"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -587,7 +587,7 @@ msgstr ""
"のフォントは**1つのフォントファミリー**としてまとめられます。アップロードできる形式は**TTF、OTF、WOFF**です(いずれか1"
"つで十分です)。"
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -595,11 +595,11 @@ msgstr ""
"s)の「コンテンツの権利」セクションをご覧ください。[フォントのライセンス](https://www.typography.com/faq)"
"についての情報も参考にしてください。"
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "すべてアップロード"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -607,23 +607,23 @@ msgstr ""
"metrics.netlify.app/)のようなフォントの垂直メトリクス確認サービスを利用できます。また、Webフォントの生成とエラーの修正には["
"Transfonter](https://transfonter.org/)の使用をおすすめします。"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "管理コンソールへ移動"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "最終更新:%s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Penpotファイルをインポート"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "このファイルをインポートできませんでした"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "%s個のライブラリを名前で自動的にリンクしました。"
@@ -632,52 +632,52 @@ msgstr[0] "%s個のライブラリを名前で自動的にリンクしました
msgid "dashboard.import.bad-url"
msgstr "インポートに失敗しました。テンプレートのURLが正しくありません"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "ライブラリのリンクを確認"
-#: src/app/main/ui/dashboard/import.cljs:709
+#: src/app/main/ui/dashboard/import.cljs:814
msgid "dashboard.import.connect-selected-libraries"
msgstr "選択したライブラリを接続"
-#: src/app/main/ui/dashboard/import.cljs:296
+#: src/app/main/ui/dashboard/import.cljs:288
msgid "dashboard.import.file-name-label"
msgstr "ファイル名"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "このファイルを検証できませんでした。"
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "このファイルは破損しているようです。"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "一部のファイルがインポートされませんでした"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "次のファイルにエラーがあります:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "エラーのあるファイルはアップロードされません。"
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "このファイルの処理中に問題が発生しました。"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "%s個のファイルをインポートしました。"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "一部のファイルに無効なオブジェクトが含まれていたため、削除しました。"
-#: src/app/main/ui/dashboard/import.cljs:710
+#: src/app/main/ui/dashboard/import.cljs:815
msgid "dashboard.import.next-file"
msgstr "次のファイル"
@@ -685,95 +685,67 @@ msgstr "次のファイル"
msgid "dashboard.import.no-perms"
msgstr "このチームにインポートする権限がありません"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "色を処理しています"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "コンポーネントを処理しています"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "メディアを処理しています"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "ページを処理しています:%s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "タイポグラフィを処理しています"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "サーバーにデータをアップロードしています (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "ファイルをアップロードしています:%s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr "一部のライブラリを自動的にリンクできませんでした。それぞれに正しいライブラリを選択してください:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "確定する前にライブラリのリンクを確認してください:"
-#: src/app/main/ui/dashboard/import.cljs:459
+#: src/app/main/ui/dashboard/import.cljs:447
msgid "dashboard.import.resolve-libraries.connect-to"
msgstr "接続先"
-#: src/app/main/ui/dashboard/import.cljs:453
+#: src/app/main/ui/dashboard/import.cljs:441
msgid "dashboard.import.resolve-libraries.original-library"
msgstr "元のライブラリ"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "自動リンク済み"
-#: src/app/main/ui/dashboard/import.cljs:529
+#: src/app/main/ui/dashboard/import.cljs:517
msgid "dashboard.import.summary.manually-linked"
msgstr "手動でリンク"
-#: src/app/main/ui/dashboard/import.cljs:537
+#: src/app/main/ui/dashboard/import.cljs:525
msgid "dashboard.import.summary.new"
msgstr "新規"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "ライブラリが選択されていません"
-#: src/app/main/ui/dashboard/import.cljs:534
+#: src/app/main/ui/dashboard/import.cljs:522
msgid "dashboard.import.summary.original"
msgstr "元"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "次の宛先への招待を削除します:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "次の宛先に招待を再送信します:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "招待を削除"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "招待を再送信"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr "このチームにユーザーを招待したり、招待を編集・削除したりする権限がありません。"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "メンバーを招待"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "このチームにユーザーを招待する権限がありません"
@@ -785,27 +757,27 @@ msgstr "組織から退出"
msgid "dashboard.leave-organization.toast"
msgstr "組織「%s」から退出しました。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "チームから退出"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "ライブラリとテンプレート"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "プロジェクトに追加できるライブラリとテンプレートです"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "さらに探して、貢献する方法を知る"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "テンプレートのインポート中に問題が発生しました。テンプレートはインポートされませんでした。"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "ライブラリ"
@@ -813,7 +785,7 @@ msgstr "ライブラリ"
msgid "dashboard.loading-files"
msgstr "ファイルを読み込んでいます…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "フォントを読み込んでいます…"
@@ -833,59 +805,59 @@ msgstr "%s個のファイルを移動"
msgid "dashboard.move-to-other-team"
msgstr "他のチームへ移動"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ 新規ファイル"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "新規ファイル"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ 新規プロジェクト"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "新規プロジェクト"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "「%s」に一致する結果が見つかりませんでした"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "どの組織にもチームを追加する権限がありません。"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:185
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
msgid "dashboard.no-organizations-yet"
msgstr "組織はまだありません。"
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr "組織「%s」内でチームを作成する権限がありません。詳しくは組織のオーナーにお問い合わせください。"
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr "組織「%s」に属するチームを削除する権限がありません。詳しくは組織のオーナーにお問い合わせください。"
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr "組織「%s」に属するチームを移動する権限がありません。詳しくは組織のオーナーにお問い合わせください。"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "ピン留めしたプロジェクトはここに表示されます"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "通知"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "メールアドレスを更新しました"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "メールアドレスを確認しました"
@@ -897,11 +869,11 @@ msgstr "通知設定を更新しました"
msgid "dashboard.notifications.password-saved"
msgstr "パスワードを保存しました!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "通知を表示"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s人のメンバー"
@@ -909,23 +881,23 @@ msgstr "%s人のメンバー"
msgid "dashboard.open-in-new-tab"
msgstr "新しいタブでファイルを開く"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "オプション"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "役割で並べ替え"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "ステータスで並べ替え"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "組織「%s」は削除されました。"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "その他のチーム"
@@ -949,11 +921,11 @@ msgstr "このチームのオーナーになりました。"
msgid "dashboard.permissions-change.viewer"
msgstr "このチームでのあなたのロールが閲覧者になりました。"
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "個人プロジェクト"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "ピン留め/ピン留めを解除"
@@ -969,27 +941,27 @@ msgstr "プラグインのマニフェストを解析できません"
msgid "dashboard.plugins.try-plugin"
msgstr "プラグインを試す: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "ファイルを削除しています…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "ファイルを復元しています…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "削除に予想以上に時間がかかっています"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "復元に予想以上に時間がかかっています"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "プロジェクト"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "アカウントを削除しますか?"
@@ -997,107 +969,107 @@ msgstr "アカウントを削除しますか?"
msgid "dashboard.removed-from-team"
msgstr "あなたはチーム「%s」のメンバーではなくなりました。"
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "すべてのプロジェクトとファイルを復元します。しばらく時間がかかる場合があります。"
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "すべてのプロジェクトとファイルを復元"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "すべて復元"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s個のファイルを復元しました。"
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "プロジェクトを復元"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "プロジェクト「%s」と、その中のすべてのファイルを復元します。"
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "プロジェクトを復元"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "「%s」を復元しました。"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "設定を保存"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "検索…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "「%s」を検索しています…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "組織"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "チーム"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "組織に追加"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "組織を選択してください:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr "「%s」では、組織のメンバーのみがチームに参加できます。組織外のユーザーへの保留中の招待はすべて取り消されます。"
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "外部ユーザーへの保留中の招待はキャンセルされます。"
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr "ここには、あなたが所属していて、チームを移動できる組織が表示されます。"
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr "ここには、あなたが所属していて、チームを作成または追加できる組織が表示されます。"
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "組織を選択"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "チームを組織に追加"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "表示言語を選択"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "テーマを選択"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot ダーク(デフォルト)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot ライト"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "システムのテーマ"
@@ -1161,11 +1133,11 @@ msgstr "設定を更新"
msgid "dashboard.settings.notifications.title"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "すべてのファイルを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "バージョン履歴"
@@ -1187,7 +1159,7 @@ msgstr[0] "ファイルを複製しました"
msgid "dashboard.success-duplicate-project"
msgstr "プロジェクトを複製しました"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "ファイルを移動しました"
@@ -1199,179 +1171,179 @@ msgstr "ファイルを移動しました"
msgid "dashboard.success-move-project"
msgstr "プロジェクトを移動しました"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s は組織「%s」に所属しました"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "チーム情報"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "チームのメンバー"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s は組織「%s」に所属しなくなりました"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "チームの組織"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "組織に追加"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "このチームを、あなたが所属するどの組織にも追加する権限がありません。"
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "チームの組織を変更"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "組織内のユーザーのみ招待できます。"
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "このチームはどの組織にも所属していません"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "チームを組織から削除"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "チームのプロジェクト"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "プロジェクトに追加"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UIテーマ"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "検索結果"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "削除したファイルはゴミ箱に"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr "%s日間"
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "保持され、その後完全に削除されます。"
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr "気が変わった場合は、各ファイルのメニューから復元または完全に削除できます。"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "入力して検索"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "ライブラリの公開を停止"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "設定を更新"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "あなたは組織「%s」のメンバーではなくなりました"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "ベータ"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"WebGL "
"レンダリングはパフォーマンスを向上させる可能性がありますが、ベータ版のため動作が不安定な場合があります。キャンバス、エクスポート(SVG/"
"PDF)、表示モードの間で見た目に違いが出ることがあります。"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "無効"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "有効"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "フィードバックを送る"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "ステータス"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL レンダリング"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "有効"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "このWebhookがトリガーされると、イベントの詳細が送信されます"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "削除または変更できるのは、自分が作成したWebhookのみです。"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "コンテンツタイプ"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Webhookを作成"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhookを作成しました。"
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhookを使うと、Penpotで特定のイベントが発生したときに、他のWebサイトやアプリに簡単に通知できます。指定した各URLにPOSTリクエスト"
"を送信します。"
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "「Webhookを追加」ボタンを押して追加してください。"
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "まだWebhookは作成されていません。"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "あなたのアカウント"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "メールアドレス"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "名前"
@@ -1387,11 +1359,11 @@ msgstr "注意"
msgid "ds.component-subtitle"
msgstr "更新するコンポーネント:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "許可"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "キャンセル"
@@ -1411,7 +1383,7 @@ msgstr "アクティブなセットまたはテーマに適用可能なトーク
msgid "ds.inputs.numeric-input.no-matches"
msgstr "一致するものが見つかりません。"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "トークン一覧を開く"
@@ -1431,15 +1403,15 @@ msgstr "このプロフィールではこの認証プロバイダーは使用で
msgid "errors.auth-provider-not-configured"
msgstr "認証プロバイダーが設定されていません。"
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "認証されていないか、セッションの有効期限が切れているようです。"
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "フォント%sを読み込めませんでした"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "フォント%sを読み込めませんでした"
@@ -1451,55 +1423,55 @@ msgstr "メディアファイルをアップロードできません。"
msgid "errors.character-limit-exceeded"
msgstr "文字数の上限を超えています"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "ライブラリを追加できません: 循環依存が発生します"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr "クリップボードAPIを利用できません。クリップボードにアクセスするには、PenpotをHTTPSで提供してください"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "お使いのブラウザではこの操作を実行できません"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr "クリップボードへのアクセスが拒否されました。内容を貼り付けるには、ブラウザでクリップボードの権限を許可してください"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "コメントでエラーが発生しました"
-#: src/app/main/errors.cljs:499
+#: src/app/main/errors.cljs:586
msgid "errors.connection-error"
msgstr "サーバーに接続できません。接続を確認して、もう一度お試しください。"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr "申し訳ありません。このファイルは廃止された形式のPenpotアセットを使用している古いファイルのため、開くことができません。"
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "サポートいたします。"
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Penpotはこの形式のアセットをサポートしていませんが、"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "お問い合わせいただければ"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "親セットを自身の子パスにドロップすることはできません。"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "このメールアドレスはすでに使用されています"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "メールアドレスはすでに確認済みです。"
@@ -1511,27 +1483,27 @@ msgstr "メールアドレスをパスワードとして使用することはで
msgid "errors.email-does-not-match-invitation"
msgstr "メールアドレスが招待と一致しません。"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "このドメインは許可されていません"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "メールアドレス「%s」には多数の恒久的な配信エラーが報告されています。"
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "メールアドレス「%s」はスパムとして報告されたか、恒久的な配信エラーが発生しています。"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr "機能「%s」が有効になっているファイルを開こうとしていますが、現在のPenpotのバージョンではこの機能がサポートされていないか、無効になっています。"
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "機能「%s」はサポートされていません。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "%s文字以内で入力してください。"
@@ -1539,7 +1511,7 @@ msgstr "%s文字以内で入力してください。"
msgid "errors.field-min-length"
msgstr "1文字以上入力してください。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "空のフィールド"
@@ -1547,19 +1519,19 @@ msgstr "空のフィールド"
msgid "errors.field-not-all-whitespace"
msgstr "名前にはスペース以外の文字を含める必要があります。"
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr "有効な機能と、開こうとしているファイルの機能が一致していないようです。ファイルを開く前に「%s」の移行を適用する必要があります。"
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr "フォントファミリー名に使用できるのは、英数字、スペース、ハイフン、アンダースコア、ドットのみです。"
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "問題が発生しました。"
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Webワーカーで問題が発生しました。"
@@ -1575,7 +1547,7 @@ msgstr "無効なデータ"
msgid "errors.invalid-email"
msgstr "有効なメールアドレスを入力してください"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "確認用メールアドレスが一致しません"
@@ -1607,11 +1579,11 @@ msgstr "この招待はキャンセルされたか、有効期限が切れてい
msgid "errors.ldap-disabled"
msgstr "LDAP認証は無効になっています。"
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "「%s」の上限に達しました。サポートにお問い合わせください。"
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "1回のリクエストで招待できるメールアドレスの上限(%s件)に達しました"
@@ -1627,19 +1599,19 @@ msgstr "画像の内容がファイルの拡張子と一致していないよう
msgid "errors.media-type-not-allowed"
msgstr "有効な画像ではないようです。"
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "招待しようとしているユーザーは、メールがミュートされています(スパム報告または配信エラーの多発)。"
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "移行中です"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "このバージョンをロックできるのは作成者のみです"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "このバージョンのロックを解除できるのは作成者のみです"
@@ -1651,7 +1623,7 @@ msgstr "組織からの退出中に問題が発生しました。もう一度お
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "組織のオーナーは組織から退出できません。"
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "その組織は存在しません"
@@ -1663,7 +1635,7 @@ msgstr "確認用パスワードが一致しません"
msgid "errors.password-too-short"
msgstr "パスワードは8文字以上で入力してください"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "クリップボードのデータが無効です"
@@ -1671,7 +1643,7 @@ msgstr "クリップボードのデータが無効です"
msgid "errors.profile-blocked"
msgstr "このプロフィールはブロックされています"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "あなたのプロフィールはメールがミュートされています(スパム報告または配信エラーの多発)。"
@@ -1679,27 +1651,27 @@ msgstr "あなたのプロフィールはメールがミュートされていま
msgid "errors.registration-disabled"
msgstr "新規登録は現在無効になっています。"
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr "エラーのため自動保存が機能していません。サポートに連絡してエラーを報告し、再読み込みして最後に保存されたバージョンから続けてください。"
-#: src/app/main/data/persistence.cljs:307
+#: src/app/main/data/persistence.cljs:447
msgid "errors.save-retrying"
msgstr "接続が切断されました。変更の保存を再試行しています。"
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVGが無効か、形式が正しくありません"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "互換性のない機能「%s」が検出されました"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "メンバーが不足しているためチームから退出できません。チームを削除することを検討してください。"
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "割り当てようとしたメンバーは存在しません。"
@@ -1707,7 +1679,7 @@ msgstr "割り当てようとしたメンバーは存在しません。"
msgid "errors.team-leave.only-owner-can-delete"
msgstr "チームを削除できるのはオーナーのみです。"
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "オーナーはチームから退出できません。オーナーのロールを他のメンバーに譲渡してください。"
@@ -1719,11 +1691,11 @@ msgstr "チーム名に次の文字は使用できません: '.'、':'、'/'"
msgid "errors.token-set-already-exists"
msgstr "同じ名前のセットがすでに存在します"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "ドロップできません。同じパスに同じ名前のセットがすでに存在します。"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "同じ名前のテーマオプションが存在します"
@@ -1735,11 +1707,11 @@ msgstr "テーマが存在しないセットを参照しています: %s"
msgid "errors.tokens.circular-reference"
msgstr "トークンに循環参照があります"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr "行の高さはフォントサイズに依存します。解決された値を得るには、フォントサイズを追加してください。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "このフィールドは空にできません"
@@ -1759,11 +1731,11 @@ msgstr "インポートエラー:"
msgid "errors.tokens.invalid-color"
msgstr "無効な色の値: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "無効なトークンの値: 参照できるのはfont-familyトークンのみです"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"無効なフォントの太さの値: "
@@ -1783,35 +1755,35 @@ msgstr ""
"「%s」は有効なトークン名ではありません。\n"
"トークン名には、. で区切られた英字と数字のみを使用でき、$記号で始めることはできません。"
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "無効なシャドウの種類: 使用できるのは「innerShadow」または「dropShadow」のみです"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr "無効なトークンの値: 使用できるのはnone、Uppercase、Lowercase、Capitalizeのみです"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "無効なトークンの値: 使用できるのはnone、underline、strike-throughのみです"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "無効な値: 複合シャドウトークンを参照する必要があります。"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "無効な値: 複合タイポグラフィトークンを参照する必要があります。"
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "無効なトークンの値: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "見つからないトークン参照: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "グループ名%sが、別のアクティブなセットにある同じ名前のトークンと競合しています。"
@@ -1823,31 +1795,31 @@ msgstr "このファイルにはトークン、セット、テーマが見つか
msgid "errors.tokens.number-too-large"
msgstr "無効なトークンの値。解決された値が大きすぎます: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "不透明度は0〜100%または0〜1の範囲で指定してください(例: 50%または0.5)。"
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "トークンが自身を参照しています"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "シャドウのぼかしは0以上である必要があります。"
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "シャドウの広がりは0以上である必要があります。"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "線の幅は0以上である必要があります。"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "無効な値: %は使用できません。"
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "無効な値: 単位は使用できません。"
@@ -1855,19 +1827,19 @@ msgstr "無効な値: 単位は使用できません。"
msgid "errors.unexpected-error"
msgstr "予期しないエラーが発生しました。"
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "不明なトークン"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "このバージョンはすでにロックされています"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "このバージョンはロックされているため、他のユーザーは削除できません"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "ファイルのバージョン番号に互換性がありません"
@@ -1900,39 +1872,39 @@ msgstr "1文字以上の大文字"
msgid "errors.weak-password.too-short"
msgstr "8文字以上"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGLが動作を停止しました。ページを再読み込みしてリセットしてください"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "キャンバスのコンテキストが失われました"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "接続エラー:URLに到達できません"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URLの検証に失敗しました。"
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "前回の配信は失敗しました。"
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSLの検証でエラーが発生しました。"
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "タイムアウト"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "検証中に予期しないエラーが発生しました"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "予期しないステータス%s"
@@ -1952,15 +1924,15 @@ msgstr "説明"
msgid "feedback.description-placeholder"
msgstr "フィードバックの理由を記入してください"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "ご参加ありがとうございます。お困りの際は、投稿する前に検索してください。"
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpotコミュニティ"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "その他のお問い合わせ方法"
@@ -1980,11 +1952,11 @@ msgstr "メールの目的を、問題・アイデア・質問のどれに当た
msgid "feedback.title-contact-us"
msgstr "お問い合わせ"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "技術的なご質問にお答えします。"
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Xサポートアカウント"
@@ -2004,39 +1976,35 @@ msgstr "アイデア"
msgid "feedback.type.issue"
msgstr "問題"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "ファイルをダウンロード"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "リンクされたライブラリのアセットはファイルに含まれません。"
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "アセットを基本オブジェクトとして扱う"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr "リンクされたライブラリを持つファイルは、リンクを保ったままエクスポートに含まれます。"
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "ファイルとライブラリをエクスポート"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr "インポート時に、名前が一致する既存のライブラリにリンクできます。"
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "インポート時に一致するライブラリをリンク"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr "ライブラリのアセットをローカルライブラリに統合してファイルをエクスポートします。"
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "ライブラリのアセットをファイルに埋め込む"
@@ -2044,7 +2012,7 @@ msgstr "ライブラリのアセットをファイルに埋め込む"
msgid "generic.error"
msgstr "エラーが発生しました"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "適用"
@@ -2092,7 +2060,7 @@ msgstr "シェイプの塗り画像のプレビュー"
msgid "inspect.attributes.shadow"
msgstr "シャドウ"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "サイズと位置"
@@ -2100,43 +2068,31 @@ msgstr "サイズと位置"
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 "外側"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "タイポグラフィ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "フォントファミリー"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "フォントサイズ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "フォントスタイル"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "文字間隔"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "行の高さ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "複数のフォントファミリー"
@@ -2152,11 +2108,11 @@ msgstr "取り消し線"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "下線"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "先頭を大文字"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "小文字"
@@ -2168,7 +2124,7 @@ msgstr "なし"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "未設定"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "大文字"
@@ -2292,23 +2248,23 @@ msgstr "解決された値:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "バリアントのプロパティ"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "アクセストークンを作成"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "「アクセストークンを作成」ボタンを押して生成してください。"
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "まだトークンがありません。"
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "個人用アクセストークン"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"個人用アクセストークンは、ログイン/"
@@ -2390,47 +2346,47 @@ msgstr "このMCPキーは%sに期限切れになります"
msgid "integrations.mcp-key.will-not-expire"
msgstr "このMCPキーには有効期限がありません"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr "Penpot MCPサーバーを使うと、MCPクライアントがPenpotのデザインファイルを直接操作できます。"
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "MCPクライアントの設定方法"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr "これは、MCPクライアントをPenpot MCPサーバーに接続するための設定に必要なサーバーURLです。"
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "MCPキーを再生成"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCPキー"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "MCPクライアントの設定にはMCPキーが必要です"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "ステータス"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "無効"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "有効"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr "MCPサーバーへの接続に使用するMCPキーの有効期限が切れています。そのため、接続を確立できません。"
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr "MCPキーを再生成し、新しいキーでクライアントの設定を更新してください。"
@@ -2438,10 +2394,6 @@ msgstr "MCPキーを再生成し、新しいキーでクライアントの設定
msgid "integrations.mcp-server.title"
msgstr "MCPサーバー"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "ベータ"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "名前"
@@ -2490,7 +2442,7 @@ msgstr "MCPキーを再生成"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCPキーを再生成しました"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "連携"
@@ -2506,47 +2458,47 @@ msgstr "このトークンは%sに期限切れになります"
msgid "integrations.token.will-not-expire"
msgstr "このトークンには有効期限がありません"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "すべて既読にする"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "ショートカット"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Penpotについて"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "承諾"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "有効"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "追加"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "カスタムフォントを追加"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "追加中…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "管理者"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "すべて"
@@ -2554,15 +2506,15 @@ msgstr "すべて"
msgid "labels.and"
msgstr "および"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "戻る"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "サーバーの小規模なメンテナンスを実施しています。しばらく待ってから再度お試しください。"
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2574,23 +2526,23 @@ msgstr "ぼかし"
msgid "labels.blur-effects"
msgstr "ぼかし効果"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "キャンセル"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "アップデートを確認"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "アップデートを確認中…"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "閉じる"
@@ -2598,7 +2550,7 @@ msgstr "閉じる"
msgid "labels.code"
msgstr "コード"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "折りたたむ"
@@ -2610,15 +2562,15 @@ msgstr "カラー"
msgid "labels.comment"
msgstr "コメント"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "コメント"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "コミュニティ"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "コミュニティと貢献"
@@ -2630,19 +2582,19 @@ msgstr "計算値"
msgid "labels.confirm-password"
msgstr "パスワードを確認"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "サポートに問い合わせる"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "お問い合わせ"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "続行"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Penpotアカウントで続行できます"
@@ -2654,23 +2606,23 @@ msgstr "コピー"
msgid "labels.copy-color"
msgstr "カラーをコピー"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "リンクをコピー"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-present"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "作成"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "チームを作成"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "新しいチーム名を入力"
@@ -2678,7 +2630,7 @@ msgstr "新しいチーム名を入力"
msgid "labels.current"
msgstr "現在"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "ダッシュボード"
@@ -2686,7 +2638,7 @@ msgstr "ダッシュボード"
msgid "labels.default"
msgstr "デフォルト"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "削除"
@@ -2698,7 +2650,7 @@ msgstr "コメントを削除"
msgid "labels.delete-comment-thread"
msgstr "スレッドを削除"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "招待を削除"
@@ -2706,39 +2658,35 @@ msgstr "招待を削除"
msgid "labels.delete-multi-files"
msgstr "%s個のファイルを削除"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "プロフィール写真を削除してもよろしいですか?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "プロフィール写真を削除"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "削除済み"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "開発"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "破棄"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%sをダウンロード"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "ダウンロード"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "ファイルをダウンロード中…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "下書き"
@@ -2746,19 +2694,19 @@ msgstr "下書き"
msgid "labels.duplicate"
msgstr "複製"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "編集"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "編集者"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "空"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "エラー"
@@ -2766,11 +2714,11 @@ msgstr "エラー"
msgid "labels.exit"
msgstr "終了"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "期限切れ"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "エクスポート"
@@ -2782,7 +2730,7 @@ msgstr "フィードバックは無効です"
msgid "labels.feedback-sent"
msgstr "フィードバックを送信しました"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2790,63 +2738,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "塗り"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "フレックスレイアウト"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "フォントファミリー"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "スタイル"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "フォント"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHubリポジトリ"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "フィードバックを送信"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "戻る"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "グラフィックデザイン"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "グリッドレイアウト"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "ヘルプセンター"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "ヘルプと学習"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "非表示"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "解決済みのコメントを非表示"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "インポート"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "無効"
@@ -2854,51 +2802,51 @@ msgstr "無効"
msgid "labels.info"
msgstr "情報"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "インストール済みのフォント"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "連携"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "問題が発生しました。"
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "操作をやり直すか、サポートに連絡してエラーを報告してください。"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "内部エラー"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "招待"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "言語"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "レイアウト"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "ラーニングセンター"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "ライブラリとテンプレート"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "読み込み中…"
@@ -2906,7 +2854,7 @@ msgstr "読み込み中…"
msgid "labels.lock"
msgstr "ロック"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "ログインまたは新規登録"
@@ -2914,19 +2862,19 @@ msgstr "ログインまたは新規登録"
msgid "labels.login"
msgstr "ログイン"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "ログアウト"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "マーケティング"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "メンバー"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "メンバー"
@@ -2938,39 +2886,39 @@ msgstr "メンション"
msgid "labels.new-password"
msgstr "新しいパスワード"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "次へ"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr "このインスタンスには、最新バージョンで必要になった設定手順が必要です。"
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "詳しくは"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpotをまだ起動できません。"
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "テクニカルガイドをご覧ください"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr "システムの問題により、Penpotは一時的に利用できません。しばらくしてからもう一度お試しください。"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "すべて確認済みです。新しいコメントの通知はここに表示されます。"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "保留中の招待はありません。"
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "仲間を集めて、一緒に素晴らしいものを作りましょう。"
@@ -2978,25 +2926,25 @@ msgstr "仲間を集めて、一緒に素晴らしいものを作りましょう
msgid "labels.no-matches"
msgstr "一致する項目がありません"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "おっと!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "%s個のファイル"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s個のボード"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "%s個のプロジェクト"
@@ -3005,43 +2953,43 @@ msgstr[0] "%s個のプロジェクト"
msgid "labels.old-password"
msgstr "現在のパスワード"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "開く"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "オプション"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "その他(具体的に入力)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "その他"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "オーナー"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "パスワード"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "保留中"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot変更履歴"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot Hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "ピン留めしたプロジェクト"
@@ -3049,31 +2997,31 @@ msgstr "ピン留めしたプロジェクト"
msgid "labels.post"
msgstr "投稿"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "前へ"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "プロダクトデザインまたはUXデザイン"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "プロダクトマネジメント"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "プロフィール"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "プロジェクト"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "最近"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "参照"
@@ -3081,27 +3029,27 @@ msgstr "参照"
msgid "labels.refresh"
msgstr "再読み込み"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "リリースノート"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "ページを再読み込み"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "削除"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "メンバーを削除"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "名前を変更"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "チーム名を変更"
@@ -3125,11 +3073,11 @@ msgstr "件の新しい返信"
msgid "labels.reply.thread"
msgstr "返信"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "再送信"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "招待を再送信"
@@ -3137,43 +3085,43 @@ msgstr "招待を再送信"
msgid "labels.restore"
msgstr "復元"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "再試行"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "ロール"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "保存"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "検索"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "フォントを検索"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "選択してください"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "送信"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "送信中…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "現在、システムの定期メンテナンス中です。"
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "サービスを利用できません"
@@ -3181,71 +3129,71 @@ msgstr "サービスを利用できません"
msgid "labels.sets"
msgstr "セット"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "設定"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "シャドウ"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "共有"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "ライブラリ"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "表示"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "すべてのコメントを表示"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "コメント一覧を表示"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "自分へのメンションのみ表示"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "自分のコメントのみ表示"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/import.cljs:703
+#: src/app/main/ui/dashboard/import.cljs:808
msgid "labels.skip"
msgstr "スキップ"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "リソース"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr "組織のIDプロバイダーでのログインが完了しませんでした。プロバイダーが利用できないか、アカウントがまだディレクトリに登録されていない可能性があります。"
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "もう一度試す"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "%sにログインできませんでした"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "開始"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "ステータス"
@@ -3253,7 +3201,7 @@ msgstr "ステータス"
msgid "labels.stroke"
msgstr "線"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "学生または教員"
@@ -3265,11 +3213,11 @@ msgstr "スタイル"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "入れ替え"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
msgid "labels.team-management"
msgstr "チーム管理"
@@ -3277,19 +3225,19 @@ msgstr "チーム管理"
msgid "labels.text"
msgstr "テキスト"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "テーマ"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "チュートリアル"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "タイポグラフィ"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "不明なエラー"
@@ -3301,35 +3249,31 @@ msgstr "ロックを解除"
msgid "labels.unpublish-multi-files"
msgstr "%s個のファイルの公開を停止"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "更新"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "チームを更新"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "アップロード"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "カスタムフォントをアップロード"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "アップロード中…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "ファイルをアップロード中…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "バリアント"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "バージョン%sのリリースノート"
@@ -3337,7 +3281,7 @@ msgstr "バージョン%sのリリースノート"
msgid "labels.view-only"
msgstr "閲覧のみ"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "閲覧者"
@@ -3350,7 +3294,7 @@ msgid "labels.warning-count"
msgid_plural "labels.warning-count"
msgstr[0] "%s件の警告"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhook"
@@ -3358,11 +3302,11 @@ msgstr "Webhook"
msgid "labels.write-new-comment"
msgstr "新しいコメントを入力"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(あなた)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "アカウント"
@@ -3494,7 +3438,7 @@ msgstr "「%s」を共有ライブラリとして追加"
msgid "modals.before-leave-organization.message"
msgstr "あなたが唯一のメンバーであるチームがあります。これらのチームは、プロジェクトやファイルとともに削除されます。"
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "組織を離れる前に"
@@ -3502,75 +3446,75 @@ msgstr "組織を離れる前に"
msgid "modals.before-leave-organization.warning"
msgstr "あなたが唯一のメンバーであるチームはすべて削除されます。"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "大きい移動量"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "新しいメールアドレスを確認"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "本人確認のため、現在のメールアドレス「%s」にメールを送信します。"
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "新しいメールアドレス"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "メールアドレスを変更"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "メールアドレスの変更"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Webhookを作成"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Webhookを作成"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "ペイロードURL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "キャンセルしてアカウントを残す"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "はい、アカウントを削除します"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "アカウントを削除すると、現在のプロジェクトとアーカイブがすべて失われます。"
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr "この操作は元に戻せません。アカウント、サブスクリプション、組織はすぐに削除されます。現在のプロジェクトやファイルにもアクセスできなくなります。"
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "削除される組織"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s人のメンバー"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s個のチーム"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "アカウントを削除してもよろしいですか?"
@@ -3627,19 +3571,19 @@ msgstr "%s個のファイルを削除してもよろしいですか?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "%s個のファイルの削除"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "このフォントスタイルを削除してもよろしいですか?ファイルで使用されている場合、読み込まれなくなります。"
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "フォントスタイルの削除"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "このフォントを削除してもよろしいですか?ファイルで使用されている場合、読み込まれなくなります。"
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "フォントの削除"
@@ -3647,19 +3591,19 @@ msgstr "フォントの削除"
msgid "modals.delete-organization-team-confirm.message"
msgstr "組織「%s」に属するこのチームを削除してもよろしいですか?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "このページを削除してもよろしいですか?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "ページを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "選択したページを削除してもよろしいですか?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "ページを削除"
@@ -3675,27 +3619,27 @@ msgstr "このプロジェクトを削除してもよろしいですか?"
msgid "modals.delete-project-confirm.title"
msgstr "プロジェクトを削除"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "ファイルを削除"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
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:58
+#: src/app/main/ui/delete_shared.cljs:60
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:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "選択したファイルを削除してもよろしいですか?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "ファイルの削除"
@@ -3712,40 +3656,40 @@ msgstr "このチームを削除してもよろしいですか?チームに関
msgid "modals.delete-team-confirm.title"
msgstr "チームの削除"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "メンバーを削除"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "このメンバーをチームから削除してもよろしいですか?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "チームメンバーを削除"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
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:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Webhookを削除"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "このWebhookを削除してもよろしいですか?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Webhookの削除"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Webhookを編集"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Webhookを編集"
@@ -3761,15 +3705,15 @@ msgstr "トークンをインポート"
msgid "modals.import-library-tokens.title"
msgstr "ライブラリからトークンをインポートしますか?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "招待を送信"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "メールアドレス(カンマ区切り)"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "一部のメンバーはすでにチームに参加しています。残りのメンバーを招待します。"
@@ -3785,87 +3729,87 @@ msgstr "招待は送信されませんでした"
msgid "modals.invite-restricted-members.all-organization-members-in-team"
msgstr "このチームに招待できるのは組織「%s」のメンバーのみですが、全員がすでにチームのメンバーです。詳しくは組織のオーナーにお問い合わせください。"
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "招待が届かないアドレス"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "キャンセル"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "招待できるのは組織の既存メンバーのみです。"
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "招待を送信"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "一部の招待を送信できません"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "リストの一部の人には招待が届きません。"
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr "メンバーをチームに招待すると、このファイルとチームのすべてのファイルにアクセスできるようになります。"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "チームにメンバーを招待"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "あなたはこのチームの唯一のメンバーのため、チームはプロジェクトやファイルとともに削除されます。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "チーム「%s」から退出してもよろしいですか?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr "オーナーに昇格できる他のメンバーがいないため、チームから退出できません。チームの削除を検討してください。"
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "あなたはこのチームのオーナーです。退出する前に、オーナーに昇格させる別のメンバーを選択してください。"
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "昇格して退出"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "昇格させるメンバーを選択"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "退出する前に"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "チームから退出"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "このチームから退出してもよろしいですか?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "チームからの退出"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr "あなたは組織内の一部のチームのオーナーです。別のメンバーをオーナーに昇格させてください。"
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr "あなたが唯一のメンバーであるチームがあります。それらのチームはプロジェクトやファイルとともに削除されます。"
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr "また、あなたは組織内の一部のチームのオーナーです。別のメンバーをオーナーに昇格させてください。"
@@ -3881,50 +3825,50 @@ msgstr "組織内のすべてのチーム、プロジェクト、ファイルへ
msgid "modals.leave-organization-confirm.title"
msgstr "組織「%s」から退出しますか?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "移動"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "ライブラリを移動してもよろしいですか?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "ライブラリを移動"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "矢印キーでの移動量"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "オーナー権限を譲渡"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr "オーナー権限を譲渡すると、あなたのロールは管理者に変更され、このチームに対する一部の権限を失います。 "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "あなたは現在このチームのオーナーです。%sをチームの新しいオーナーにしてもよろしいですか?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "チームの新しいオーナー"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "公開"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "ライブラリが空です。公開してもよろしいですか?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "空のライブラリを公開"
@@ -3944,21 +3888,21 @@ msgstr "チーム「%s」を組織「%s」から削除してもよろしいで
msgid "modals.remove-team-organization.title"
msgstr "組織からチームを削除"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "小さい移動量"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "公開を停止"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "ライブラリの公開を停止してもよろしいですか?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "ライブラリの公開を停止"
@@ -4043,31 +3987,31 @@ msgstr "有効化"
msgid "nitrate.code-activation.title"
msgstr "Enterpriseを有効化"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "営業担当に問い合わせる"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr "このプランに切り替えるには、営業チームにお問い合わせください。サブスクリプションの変更と、すべてが正しく設定されるようサポートいたします。"
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "組織は削除されます。"
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr "ストレージの総容量、自動バージョン履歴、ファイルの復元期間が制限されます。"
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr "チーム、プロジェクト、ファイルはどの組織にも属さなくなりますが、引き続き利用できます。"
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "ダウングレードすると:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "%sプランに切り替えますか?"
@@ -4083,15 +4027,15 @@ msgstr "Enterpriseを14日間お試しいただくには、お問い合わせく
msgid "nitrate.form.contact-upgrade"
msgstr "Enterpriseへのアップグレードについては、お問い合わせください:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Enterpriseプランを14日間お試しいただくには、お問い合わせください:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Enterpriseプランへのアップグレードについては、お問い合わせください:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr "今すぐ請求されることはありません。お支払いはトライアル終了時に処理されます。いつでもキャンセルできます。"
@@ -4107,7 +4051,7 @@ msgstr "専用の管理コンソールで、誰がどこで何をするかを一
msgid "nitrate.form.enterprise-feature-3"
msgstr "オープンソースの自由はそのままに、組織に必要なガバナンスを"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "チームが大規模に安全に作業するために必要なものがすべて揃っています%s"
@@ -4115,7 +4059,7 @@ msgstr "チームが大規模に安全に作業するために必要なものが
msgid "nitrate.form.enterprise.price"
msgstr "メンバー1人あたり月額"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "14日間無料で試す"
@@ -4131,7 +4075,7 @@ msgstr "Enterpriseを始める"
msgid "nitrate.form.subscribe-with-code"
msgstr "アクティベーションコードで登録"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Enterpriseの機能を利用する"
@@ -4143,7 +4087,7 @@ msgstr "14日間無料で試す"
msgid "nitrate.modal-success.title"
msgstr "Enterpriseへようこそ!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "%sまで有効"
@@ -4151,23 +4095,23 @@ msgstr "%sまで有効"
msgid "nitrate.subscription.renew-success"
msgstr "Enterpriseサブスクリプションを更新しました。"
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "サブスクリプションをキャンセル"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Enterpriseサブスクリプションをキャンセルするには、次の連絡先までお問い合わせください:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "アクティベーションコードで更新"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "このページは存在しません"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404エラー"
@@ -4183,11 +4127,11 @@ msgstr "パスワード再設定用のメールを次のアドレスに送信し
msgid "not-found.login.sent-recovery-check"
msgstr "メールを確認し、リンクをクリックして新しいパスワードを作成してください。"
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "無料で新規登録"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "数秒でPenpotを使い始められます!"
@@ -4195,63 +4139,63 @@ msgstr "数秒でPenpotを使い始められます!"
msgid "not-found.made-with-love"
msgstr "LOVEとオープンソースで作られています"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "このファイルへのアクセスはすでにリクエスト済みです。"
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr "このファイル、またはこのチームの他のファイルやプロジェクトへのアクセスはすでにリクエスト済みです。"
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr "このプロジェクト、またはこのチームの他のプロジェクトやファイルへのアクセスはすでにリクエスト済みです。"
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "このプロジェクトへのアクセスはすでにリクエスト済みです。"
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "アクセスをリクエスト"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "オーナーが許可すると、チームに招待されます。"
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "リクエストを送信しました!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "このファイルへのアクセス権がありません。"
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "個人プロジェクトへ移動"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "オーナーが許可すると、チームに招待されます。"
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpotファイル"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "このプロジェクトへのアクセス権がありません。"
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "プロジェクト"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "このファイルにアクセスするには、チームのオーナーに依頼してください。"
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "このプロジェクトにアクセスするには、チームのオーナーに依頼してください。"
@@ -4263,31 +4207,31 @@ msgstr "メンテナンスのお知らせ:5分以内に短時間のメンテ
msgid "notifications.by-code.upgrade-version"
msgstr "新しいバージョンが利用可能です。"
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "この招待は無効になりました。"
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "招待を削除しました"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "招待を送信しました"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "招待リンクをコピーしました"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "プロフィールを削除できません。先にチームのオーナーを他のメンバーに割り当ててください。"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "プロフィールを保存しました!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "%sに確認メールを送信しました。メールを確認してください!"
@@ -4323,7 +4267,7 @@ msgstr "チーム名"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "チームを作成"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "メンバーを招待"
@@ -4331,97 +4275,97 @@ msgstr "メンバーを招待"
msgid "onboarding.choice.team-up.invite-members-desc"
msgstr "開発者、デザイナー、マネージャーなど、誰でも歓迎です。後から追加で招待することもできます。"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "付与するロール:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "さあ、始めましょう!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "デザインから実際のコードを生成"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "デザインシステムの作成"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "プロトタイピング"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "アプリのUI/UXデザイン"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "ワイヤーフレーム作成"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Penpotを何に使用しますか?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Penpotをより使いやすくするために、あなたについて少し教えてください。いただいた回答は、新機能の優先順位付けや、スムーズに使い始めるためのご案内に役"
"立てます。"
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "あなたについて教えてください"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "最もよく使用しているツールはどれですか?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "どのようなお仕事をされていますか?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "会社の規模はどのくらいですか?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "どこから始めますか?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1,001〜5,000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101〜500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2〜100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501〜1,000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "自分だけ"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5,001以上"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "教育"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "個人"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "仕事"
@@ -4501,11 +4445,11 @@ msgstr "デフォルト設定に戻す"
msgid "restore-shortcuts.restore"
msgstr "復元"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "切り離す"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "混在"
@@ -4517,35 +4461,35 @@ msgstr "カラーを削除"
msgid "settings.select-this-color"
msgstr "このスタイルを使用している要素を選択"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "コメント"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "下揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "水平方向の中央揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "左揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "右揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "上揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "垂直方向の中央揃え"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "選択範囲からボードを作成"
@@ -4553,55 +4497,55 @@ msgstr "選択範囲からボードを作成"
msgid "shortcuts.bold"
msgstr "太字の切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "ブーリアン:型抜き"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "ブーリアン:除外"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "ブーリアン:交差"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "ブーリアン:合体"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "最背面へ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "背面へ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "前面へ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "最前面へ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "元に戻す履歴を消去"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "コピー"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "リンクをコピー"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "プロパティをコピー"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "コンポーネント/バリアントを作成"
@@ -4609,63 +4553,63 @@ msgstr "コンポーネント/バリアントを作成"
msgid "shortcuts.create-new-project"
msgstr "新規作成"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "切り取り"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "ズームアウト"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "削除"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "ノードを削除"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "ノードとセグメントを削除"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "すべての選択を解除"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "コンポーネントを切り離す"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "ショートカットを無効化"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "無効"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "無効なショートカット"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "矢印"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "曲線"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "楕円"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "ボード"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "直線"
@@ -4673,63 +4617,63 @@ msgstr "直線"
msgid "shortcuts.draw-nodes"
msgstr "パスを描画"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "パス"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "長方形"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "テキスト"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "複製"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "このキーの組み合わせは「%s」に割り当てられています。保存すると、そちらの割り当ては削除されます。"
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "保存すると、このショートカットは元の値に戻ります:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "このキーの組み合わせは使用可能で、競合なく割り当てられます。"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "設定でカスタマイズ"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "キャンセル"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "シェイプをエクスポート"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "検索"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "検索と置換"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "全体を表示"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "左右反転"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "上下反転"
@@ -4753,27 +4697,27 @@ msgstr "共有ライブラリへ移動"
msgid "shortcuts.go-to-search"
msgstr "検索"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "グループ化"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "水平方向に等間隔に分布"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "UIの表示/非表示"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "インポート/エクスポート"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "ズームイン"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "画像を挿入"
@@ -4781,11 +4725,11 @@ msgstr "画像を挿入"
msgid "shortcuts.italic"
msgstr "斜体の切り替え"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "ノードを連結"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "キーの組み合わせを押してください"
@@ -4793,39 +4737,39 @@ msgstr "キーの組み合わせを押してください"
msgid "shortcuts.line-through"
msgstr "取り消し線の切り替え"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "コーナーにする"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "曲線にする"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "マスク"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "ノードを結合"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "下へ大きく移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "左へ大きく移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "右へ大きく移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "上へ大きく移動"
@@ -4833,377 +4777,377 @@ msgstr "上へ大きく移動"
msgid "shortcuts.move-nodes"
msgstr "ノードを移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "下へ移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "左へ移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "右へ移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "上へ移動"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "次のボード"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "無効なショートカットはありません"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "「すべて」からショートカットのカスタマイズを始めましょう。"
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "検索に一致するショートカットはありません"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "ショートカットが見つかりません"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "不透明度を100%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "不透明度を10%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "不透明度を20%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "不透明度を30%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "不透明度を40%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "不透明度を50%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "不透明度を60%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "不透明度を70%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "不透明度を80%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "不透明度を90%に設定"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "カラーピッカー"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "ビューアーのコメントへ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "ダッシュボードへ移動"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "ビューアーのインスペクトへ移動"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "ビューアーのインタラクションへ移動"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "ビューアーのインタラクションへ移動"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "ワークスペースへ移動"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " または "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "このショートカットは%sに再割り当てされました"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "ショートカットページ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "貼り付け"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "プロパティを貼り付け"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "貼り付けて置換"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "カスタマイズ済み"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "プラグインマネージャー"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "前のボード"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "やり直し"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr "ショートカットを編集したら、開いている他のPenpotタブを再読み込みして変更を反映してください。"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "名前を変更"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "デフォルトに戻す"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "ズームをリセット"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "拡大縮小"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "基本"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "ダッシュボード"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "ビューアー"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "ワークスペース"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "すべて選択"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "次のレイヤーを選択"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "親レイヤーを選択"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "前のレイヤーを選択"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "ノードを分離"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "寸法を表示"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "ピクセルグリッドの表示/非表示"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "ショートカットの表示/非表示"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "ノードにスナップ"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "ピクセルグリッドにスナップ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "編集を開始"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "整列"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "編集"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "一般"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "メインメニュー"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "レイヤーの変更"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "ナビゲーション"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "ナビゲーション"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "ナビゲーション"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "パネル"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "パス"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "シェイプ"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "テキスト"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "ツール"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "ズーム"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "ズーム"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "サムネイルに設定"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "キーボードショートカット"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "動的な整列の切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "アセットの切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "カラーパレットの切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "コメントの表示切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "フォーカスモードの切り替え"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "フルスクリーンの切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "ガイドの表示/非表示"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "履歴の切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "レイヤーの切り替え"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "フレックスレイアウトを追加/削除"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "グリッドレイアウトを追加/削除"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "ロック/ロック解除"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "縦横比を固定"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "定規の表示/非表示"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "ガイドにスナップ"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "定規ガイドにスナップ"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "テキストパレットの切り替え"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "テーマを変更"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "表示/非表示"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "ズーム方式の切り替え"
@@ -5211,31 +5155,31 @@ msgstr "ズーム方式の切り替え"
msgid "shortcuts.underline"
msgstr "下線の切り替え"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "元に戻す"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "グループ解除"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "マスクを解除"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "垂直方向に等間隔に分布"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "ズームレンズで縮小"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "ズームレンズで拡大"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "選択範囲にズーム"
@@ -5253,7 +5197,7 @@ msgstr "Enterpriseを体験"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5265,7 +5209,7 @@ msgstr "Enterprise(トライアル)"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "ご利用中のサブスクリプション"
@@ -5379,261 +5323,261 @@ msgstr "今後の請求対象になるのは、所有するチーム全体で新
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Unlimitedプランでのメンバー招待"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "支払いが完了しませんでした。準備ができたら、もう一度お試しください。"
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr "支払いが完了しませんでした。もう一度お試しください。問題が解決しない場合は、support@penpot.app までお問い合わせください。"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "サブスクリプション"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "アクティベーションコードを入力"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "トライアル終了後も続けるには、支払い方法を追加してください"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "管理コンソール"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Professionalプランのすべての特典に加えて:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Unlimitedプランのすべての特典に加えて:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Unlimitedプランのすべての特典に加えて:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(編集者%s人分)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise(トライアル)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90日間の自動保存されたバージョンとファイルの復元"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "月額定額料金"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "高度な管理:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "エンタープライズ向けセキュリティ:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "複数組織の管理:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "ネイティブのSAML/SSOと、コンプライアンス報告のための完全な監査ログ。"
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr "きめ細かなプラグインの許可リスト。AI連携のための安全で隔離されたMCPサーバーも含みます。"
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "複雑なチーム階層と独立したサブ組織に対応。"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "ストレージ無制限"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "サブスクリプションを管理"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "支払い情報を追加"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"今のうちに支払い情報を追加しておけば、トライアル終了後もサブスクリプションをスムーズに継続でき、オープンソースプロジェクトの支援も続けられます。まだ料金"
"は発生しません。"
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "今はスキップしてトライアルを開始"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Penpotの成長を支え、トライアルをもっと手軽に"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "現在、チーム全体で編集できるメンバーは%s人です。"
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr "ご注意:下位のプランに切り替えると、ストレージが減り、バックアップとバージョン履歴の保存期間も短くなります。"
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "編集者"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(オーナー、管理者、編集者が対象です。閲覧者は編集者に含まれません)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"現在の人数より少ない編集者数には設定できません。実際にファイルを編集しないメンバーは、チーム設定でロールを変更してください(編集者/"
"管理者から閲覧者へ)。"
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "料金はトライアル終了後に請求されます。現時点ではクレジットカードは不要です。"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/月"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "%sをチームに適用"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr "ヒント:招待に備えて、今のうちにシート数を増やしておけます。チーム全体で編集者が25人以上になると、月額$175の定額料金になります。"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpotメンバー登録日:%s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "詳細情報"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "組織メンバー/月"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Penpotのその他のプラン"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "組織あたり/月"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "ユーザー/月"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7日間の自動保存されたバージョンとファイルの復元"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "すべてのデザイン・プロトタイプ機能。コミュニティサポート。"
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "データとインフラを完全に管理できます。"
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "ユーザー、チーム、ファイルが無制限。"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GBのストレージ"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "チーム数無制限。所有するチーム全体で最大8人の編集者。"
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "おすすめ"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "ご利用中のサブスクリプション"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "無料トライアルを開始"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "登録する"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "%sプランを%sからご利用中です。"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "サブスクリプションは、アカウント情報の「サブスクリプション」ページからいつでも変更できます。"
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "プランをお楽しみください!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Penpot %sプランをお選びいただき、ありがとうございます!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "%sプランになりました!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "14日間無料でお試し"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited(トライアル)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30日間の自動保存バージョンとファイル復旧"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "月額料金の上限は$175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GBのストレージ"
@@ -5656,44 +5600,44 @@ msgstr "この上限を引き上げたい場合は、チームのオーナーに
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "この上限を引き上げたい場合は、[プランをアップグレード|target:self](%s)してください"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "%s件の招待を選択中"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "フォントプロバイダー - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "フォント - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "プロジェクト - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "検索 - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "共有ライブラリ - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot | フルスタックデザイン"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "フィードバックを送る - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "連携 - Penpot"
@@ -5701,7 +5645,7 @@ msgstr "連携 - Penpot"
msgid "title.settings.notifications"
msgstr "通知 - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "設定 - Penpot"
@@ -5709,27 +5653,27 @@ msgstr "設定 - Penpot"
msgid "title.settings.password"
msgstr "パスワード - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "プロフィール - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "招待 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "メンバー - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "設定 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhook - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - 表示モード - Penpot"
@@ -5741,51 +5685,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "トークンを切り離す"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "このページにボードがありません。"
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "ボードが見つかりません。"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "コメント(%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "インタラクションを表示しない"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "フルスクリーン"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "インスペクト(%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "インタラクション"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "インタラクション(%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "リンクをコピー"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "インタラクションを表示"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "クリック時にインタラクションを表示"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "サイトマップ"
@@ -5819,67 +5763,67 @@ msgstr "詳しくは、"
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGLトラブルシューティングガイド"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL レンダリングを無効にしました"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL レンダリングを有効にしました"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGLコンテキストが失われました"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGLコンテキストが復旧しました"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "前回の配信は成功しました。"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "水平方向中央揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "水平方向に等間隔に分布(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "左揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "右揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "下揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "垂直方向中央揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "垂直方向に等間隔に分布(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "上揃え(%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "ライブラリを追加"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "すべてのアセット"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "カラー"
@@ -5891,7 +5835,7 @@ msgstr "カラーを追加"
msgid "workspace.assets.component-group-options"
msgstr "コンポーネントグループのオプション"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "コンポーネント"
@@ -5899,7 +5843,7 @@ msgstr "コンポーネント"
msgid "workspace.assets.components.add-component"
msgstr "コンポーネントを追加"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s個のバリアント"
@@ -5907,11 +5851,11 @@ msgstr "%s個のバリアント"
msgid "workspace.assets.create-group"
msgstr "グループを作成"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "アイテムには「グループ名 / アイテム名」の形式で自動的に名前が付けられます"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "削除"
@@ -5919,11 +5863,11 @@ msgstr "削除"
msgid "workspace.assets.delete-group"
msgstr "グループを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "ページを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "複製"
@@ -5931,39 +5875,39 @@ msgstr "複製"
msgid "workspace.assets.duplicate-main"
msgstr "メインコンポーネントを複製"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "編集"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "フィルター"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "グリッド表示"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "グループ化"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "グループ名"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "リスト表示"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "ローカルライブラリ"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "ライブラリを管理"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "アセットが見つかりません"
@@ -5971,7 +5915,7 @@ msgstr "アセットが見つかりません"
msgid "workspace.assets.open-library"
msgstr "ライブラリファイルを開く"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "名前を変更"
@@ -5979,11 +5923,11 @@ msgstr "名前を変更"
msgid "workspace.assets.rename-group"
msgstr "グループ名を変更"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "アセットを検索"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "共有ライブラリ"
@@ -5992,43 +5936,43 @@ msgid "workspace.assets.sidebar.components"
msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "%s個のコンポーネント"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "並べ替え"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "タイポグラフィ"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "タイポグラフィを追加"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "サイズ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "フォントスタイル"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "編集するにはスタイルライブラリのファイルを開いてください"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "文字間隔"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "行の高さ"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "大文字小文字"
@@ -6036,15 +5980,15 @@ msgstr "大文字小文字"
msgid "workspace.assets.ungroup"
msgstr "グループ解除"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "画像をコピー中…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "画像をクリップボードにコピーしました"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "画像のコピー中にエラーが発生しました"
@@ -6056,83 +6000,83 @@ msgstr "画面から色を抽出"
msgid "workspace.colorpicker.color-tokens"
msgstr "カラートークン"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "コンポーネントを自分自身の中に入れ子にすることはできません。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "一部のコピーを切り替えられませんでした。コンポーネントを自分自身の中に入れ子にすることはできません。"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "エリアを作成"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "列をコピー"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "行をコピー"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "ボードを作成"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "セルを結合"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "貼り付け"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "右に1列追加"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "左に1列追加"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "列を削除"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "列とシェイプを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "列を複製"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "下に1行追加"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "上に1行追加"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "行を削除"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "行とシェイプを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "行を複製"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "ガイドの色"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "ガイドを削除"
@@ -6140,15 +6084,15 @@ msgstr "ガイドを削除"
msgid "workspace.debug.title"
msgstr "デバッグツール"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "フォーカスモード"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "フォーカスモードをオフ"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "フォーカスモードをオン"
@@ -6160,247 +6104,247 @@ msgstr "線形グラデーション"
msgid "workspace.gradients.radial"
msgstr "放射状グラデーション"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "動的整列を無効化"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "比率を保った拡大縮小を無効化"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "ガイドへのスナップを無効化"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "ピクセルへのスナップを無効化"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "定規ガイドへのスナップを無効化"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "WebGL レンダリングを無効化(ベータ)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "動的整列を有効化"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "比率を保った拡大縮小を有効化"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "ガイドにスナップ"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "ピクセルへのスナップを有効化"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "定規ガイドにスナップ"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "WebGL レンダリングを有効化(ベータ)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "検索"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "検索と置換"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "ボード名を非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "コメントを非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "ガイドを非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "カラーパレットを非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "ピクセルグリッドを非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "定規を非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "フォントパレットを非表示"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "ガイドをロック"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "接続"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "切断"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "管理(ステータス:無効)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "管理(ステータス:有効)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "編集"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "ファイル"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "ヘルプと情報"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCPサーバー"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "環境設定"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "表示"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "やり直し"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "すべて選択"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "ボード名を表示"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "コメントを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "ガイドを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "カラーパレットを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "ピクセルグリッドを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "定規を表示"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "フォントパレットを表示"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "ダークテーマに切り替え"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "ライトテーマに切り替え"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "システムテーマに切り替え"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "元に戻す"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "ガイドのロックを解除"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "リセット"
-#: src/app/main/ui/workspace/left_header.cljs:125
+#: src/app/main/ui/workspace/left_header.cljs:133
msgid "workspace.header.retrying"
msgstr "保存を再試行中"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "保存エラー"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "保存済み"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "保存中"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "共有"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "表示モード(%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "ズーム"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "フィル - 画面いっぱいに拡大"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "フィット - 画面に収まるよう縮小"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "全体を表示"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "フルスクリーン"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "選択範囲にズーム"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "グリッドを編集"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "終了"
@@ -6408,7 +6352,7 @@ msgstr "終了"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "下パディング"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4辺のパディングオプションを表示"
@@ -6444,36 +6388,36 @@ msgstr "完了"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "位置を表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "グリッドレイアウトの位置を表示"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "%s色"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "カラーをライブラリに追加"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "ライブラリにはまだカラースタイルがありません"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "最近使用したカラーはまだありません"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "ライブラリにはまだタイポグラフィスタイルがありません"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "ファイルライブラリ"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "最近使用したカラー"
@@ -6485,97 +6429,97 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "カラースタイルを保存"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "カラーパレットの表示切り替え"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "%s個のコンポーネント"
-#: src/app/main/ui/workspace/libraries.cljs:842
+#: src/app/main/ui/workspace/libraries.cljs:864
msgid "workspace.libraries.connected-libraries"
msgstr "接続済みライブラリ"
-#: src/app/main/ui/workspace/libraries.cljs:183
+#: src/app/main/ui/workspace/libraries.cljs:235
msgid "workspace.libraries.connected-through"
msgstr "経由:"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "接続先:"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "または、以下のライブラリを追加して試してみましょう:"
-#: src/app/main/ui/workspace/libraries.cljs:812
+#: src/app/main/ui/workspace/libraries.cljs:834
msgid "workspace.libraries.empty.no-assets"
msgstr "アセットはまだありません"
-#: src/app/main/ui/workspace/libraries.cljs:895
+#: src/app/main/ui/workspace/libraries.cljs:918
msgid "workspace.libraries.empty.no-connected-libraries"
msgstr "接続済みのライブラリはまだありません。"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "チームに共有ライブラリがありません。"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "こちらでテンプレートを探せます"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "ファイルライブラリ"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "%s個のグラフィック"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "このファイルのライブラリ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "ライブラリ"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ライブラリの更新"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "読み込み中…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "更新が必要な共有ライブラリはありません"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "「%s」に一致する結果は見つかりませんでした"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "共有ライブラリを検索"
-#: src/app/main/ui/workspace/libraries.cljs:827, src/app/main/ui/workspace/libraries.cljs:874
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
msgid "workspace.libraries.set-as-tokens-source"
msgstr "トークンのソースに設定"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "共有ライブラリ"
-#: src/app/main/ui/workspace/libraries.cljs:621
+#: src/app/main/ui/workspace/libraries.cljs:674
msgid "workspace.libraries.shared-library-added"
msgstr "追加済み"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "ライブラリを接続"
@@ -6599,43 +6543,43 @@ msgstr "すべてのアセットのリンクを解除"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "すべてのトークンを切り離す"
-#: src/app/main/ui/workspace/libraries.cljs:167, src/app/main/ui/workspace/libraries.cljs:211
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
msgid "workspace.libraries.token-sets"
msgid_plural "workspace.libraries.token-sets"
msgstr[0] "%s個のセット"
-#: src/app/main/ui/workspace/libraries.cljs:170, src/app/main/ui/workspace/libraries.cljs:215
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
msgid "workspace.libraries.token-themes"
msgid_plural "workspace.libraries.token-themes"
msgstr[0] "%s個のテーマ"
-#: src/app/main/ui/workspace/libraries.cljs:164, src/app/main/ui/workspace/libraries.cljs:207
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
msgid "workspace.libraries.tokens"
msgid_plural "workspace.libraries.tokens"
msgstr[0] "%s個のトークン"
-#: src/app/main/ui/workspace/libraries.cljs:820, src/app/main/ui/workspace/libraries.cljs:866
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
msgid "workspace.libraries.tokens-source"
msgstr "トークンのソース"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "%s個のタイポグラフィ"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "ライブラリの接続を解除"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "更新"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "すべての変更を表示"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "更新"
@@ -6695,7 +6639,7 @@ msgstr "ぼかしの切り替え"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "その他のオプションを表示/非表示"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "キャンセル"
@@ -6703,107 +6647,107 @@ msgstr "キャンセル"
msgid "workspace.options.canvas-background"
msgstr "キャンバスの背景"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "コンテンツをクリップ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "コンポーネント"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "注釈"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "コピー"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "注釈を作成"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "注釈を編集"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "メイン"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "コンポーネントを入れ替え"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "このライブラリにはまだアセットがありません"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "リンクなし"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "競合しているバリアントを表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr "このコンポーネントには競合しているバリアントがあります。各バリアントのプロパティ値の組み合わせが一意になるようにしてください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "重複しているバリアントを表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "プロパティと値が同じバリアントがあります"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "これらのバリアントはプロパティと値が同じです。取得できるように値を調整してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "このバリアントは、別のバリアントとプロパティと値が同じです。取得できるように値を調整してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "これらのバリアントの一部はプロパティと値が同じです。取得できるように値を調整してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr "このコンポーネントには無効な名前のバリアントがあります。すべてのバリアントが正しい構造に従っているか確認してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "無効なバリアントを表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "無効な名前のバリアントがあります"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "無効なバリアントを表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "これらのバリアントの名前は無効です。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "このバリアントの名前は無効です。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "これらのバリアントの一部は名前が無効です。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[プロパティ]=[値], [プロパティ]=[値]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "次の構造を使ってみてください:"
@@ -6835,7 +6779,7 @@ msgstr "階層レベルが同じである。"
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "グループ、ボード、レイアウトは同等とみなされます。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "バリアントの接続を保つしくみ"
@@ -6883,11 +6827,11 @@ msgstr "上下"
msgid "workspace.options.convert-to-typography"
msgstr "タイポグラフィスタイルを作成"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "デザイン"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "エクスポート"
@@ -6895,52 +6839,52 @@ msgstr "エクスポート"
msgid "workspace.options.export-multiple"
msgstr "選択範囲をエクスポート"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "%s個の要素をエクスポート"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "エクスポートを追加"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "エクスポートを削除"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "接尾辞"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "エクスポートサービスが混み合っています。しばらくしてからもう一度お試しください"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "エクスポートをキャンセルしました"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "キャンセル中…"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "エクスポートが完了しました"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "エクスポート中…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "エクスポートに失敗しました"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "エクスポートに予想以上に時間がかかっています"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "待機中…"
@@ -6960,7 +6904,7 @@ msgstr "塗りを削除"
msgid "workspace.options.fill.section"
msgstr "塗りセクション"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "ボードをコンテンツに合わせてサイズ変更"
@@ -6980,7 +6924,7 @@ msgstr "フローの開始点"
msgid "workspace.options.flows.flow-starts"
msgstr "フローの開始点"
-#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
msgid "workspace.options.font-not-available"
msgstr "このテキストで使用されているフォント(%s)は利用できなくなりました。タイポグラフィスタイルを作成するには、フォントを再アップロードしてください"
@@ -6988,67 +6932,67 @@ msgstr "このテキストで使用されているフォント(%s)は利用
msgid "workspace.options.grid.auto"
msgstr "自動"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "列"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "カラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "ガター"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "高さ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "マージン"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "デフォルトに設定"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "下"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "中央"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "左"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "右"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "引き伸ばし"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "上"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "デフォルトを使用"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "幅"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "行"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "正方形"
@@ -7060,7 +7004,7 @@ msgstr "グループの塗り"
msgid "workspace.options.group-stroke"
msgstr "グループの線"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "ガイドを追加"
@@ -7068,19 +7012,19 @@ msgstr "ガイドを追加"
msgid "workspace.options.guides.remove-guide"
msgstr "ガイドを削除"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "ガイド"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "ガイドの表示切り替え"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "高さ"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "インスペクト"
@@ -7296,111 +7240,111 @@ msgstr "インタラクション"
msgid "workspace.options.interactions.add-interaction"
msgstr "インタラクションを追加"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "カラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "焼き込みカラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "覆い焼きカラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "比較(暗)"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "差の絶対値"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "除外"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "ハードライト"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "色相"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "比較(明)"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "輝度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "乗算"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "通常"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "オーバーレイ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "彩度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "スクリーン"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "ソフトライト"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "レイヤーメニューセクション"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "レイヤーの表示切り替え"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "最大の高さ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "最大幅"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "最小の高さ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "最小幅"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "その他のカラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "その他のライブラリカラー"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "その他のカラートークン"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "一致するサイズプリセットがありません"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "不透明度"
@@ -7408,7 +7352,7 @@ msgstr "不透明度"
msgid "workspace.options.pixel-grid-color"
msgstr "ピクセルグリッドの色"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "プロトタイプ"
@@ -7444,23 +7388,23 @@ msgstr "角の半径セクション"
msgid "workspace.options.radius.show-single-corners"
msgstr "角ごとの半径を表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "最近使用したフォント"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "再試行"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "回転"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "フォントを検索"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "サイズプリセットを検索"
@@ -7468,11 +7412,11 @@ msgstr "サイズプリセットを検索"
msgid "workspace.options.select-a-shape"
msgstr "シェイプ、ボード、またはグループを選択し、ドラッグして他のボードへの接続を作成してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "選択中の色"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "カラー選択セクション"
@@ -7540,55 +7484,55 @@ msgstr "シャドウの表示を切り替え"
msgid "workspace.options.show-fill-on-export"
msgstr "エクスポートに表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "表示モードで表示"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "サイズ"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "サイズプリセット"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "比率を固定"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "比率の固定を解除"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "円"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "ひし形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "矢印"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "なし"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "丸型"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "角型"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "四角形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "三角形"
@@ -7596,31 +7540,31 @@ msgstr "三角形"
msgid "workspace.options.stroke-color"
msgstr "線の色"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "ダッシュ"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "間隔"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "線の幅"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "下(ブロック終端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "左(インライン始端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "右(インライン終端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "上(ブロック始端)"
@@ -7628,47 +7572,47 @@ msgstr "上(ブロック始端)"
msgid "workspace.options.stroke.add-stroke"
msgstr "線の色を追加"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "中央"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "破線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "点線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "内側"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "混在"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "外側"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "辺ごとの線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr "辺ごとの線は新しいレンダリングでのみ利用できます。使用するにはレンダリングを切り替えてください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "線を削除"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "実線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "線の表示を切り替え"
@@ -7704,11 +7648,11 @@ msgstr "幅の自動調整"
msgid "workspace.options.text-options.grow-fixed"
msgstr "固定"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "文字間隔"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "行の高さ"
@@ -7756,222 +7700,222 @@ msgstr "下線(%s)"
msgid "workspace.options.use-play-button"
msgstr "ヘッダーの再生ボタンを使ってプロトタイプを表示してください。"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "幅"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X軸"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y軸"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "ノードを描画(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "角度を揃える"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "独立"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "角度と長さを揃える"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "ハンドルの動作"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "ノードを接続(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "コーナーに変換(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "カーブに変換(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "ノードを結合(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "ノードを移動(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "ノードを分離(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "ノードにスナップ(%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "開く"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "[他のプラグイン](%s)を探す"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "インストール済みのプラグインはまだありません"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "プラグインのマニフェストが正しくありません。"
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "このプラグインを使用するには編集者である必要があります"
-#: src/app/main/data/plugins.cljs:158
+#: src/app/main/data/plugins.cljs:160
msgid "workspace.plugins.error.unreachable"
msgstr "プラグインのURLにアクセスできませんでした。"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "プラグインが存在しないか、URLが正しくありません。"
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "インストール"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "インストール済みのプラグイン"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "プラグインマネージャー"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "プラグイン"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "このプラグインを更新"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "前回開いたときからプラグインが変更されています。新たに次へのアクセスを求めています:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "ファイルのダウンロードを開始する。"
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "ブラウザにデータを保存する。"
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "クリップボードの内容を読み取る。"
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "クリップボードの読み取りと書き込みを行う。"
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "あなたのコメントと返信を読み取る。"
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "あなたのコメントの読み取りと変更、およびあなたの名前での返信を行う。"
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "ユーザーがアクセスできるファイルの内容を読み取る。"
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "ユーザーがアクセスできるファイルの内容を読み取り、変更する。"
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"このプラグインは外部の開発者によって作成されています。アクセスを許可する前に、信頼できるプラグインであることを確認してください。私たちはお客様のデータの"
"プライバシーとセキュリティを重視しています。ご不明な点があれば、サポートまでお問い合わせください。"
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "あなたのライブラリとアセットを読み取る。"
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "あなたのライブラリとアセットを読み取り、変更する。"
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "プラグイン「%s」が次へのアクセスを求めています:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "現在のユーザーのプロフィール情報を読み取る。"
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "プラグイン一覧"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "プラグインを削除"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "プラグインのURLを入力"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "プラグイン"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "後で"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr "試してみますか?現在のチームの新しい下書きで開きます。(試さない場合も、どのファイルでもインストール済みのプラグインからいつでも開けます。)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "プラグイン「%s」があなたのユーザーにインストールされました!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "プラグインを試す"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "フレックスレイアウトを追加"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "グリッドレイアウトを追加"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "レイアウトを追加"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "バリアントを作成"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "プロパティを追加"
@@ -7983,11 +7927,11 @@ msgstr "最背面へ移動"
msgid "workspace.shape.menu.backward"
msgstr "背面へ移動"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "ボードのガイドをクリア"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "バリアントとして結合"
@@ -7995,7 +7939,7 @@ msgstr "バリアントとして結合"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "コンポーネントは同じページにある必要があります"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "コピー"
@@ -8039,27 +7983,27 @@ msgstr "テキストとしてコピー"
msgid "workspace.shape.menu.create-annotation"
msgstr "注釈を作成"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "選択範囲をボードに変換"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "コンポーネントを作成"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "複数のコンポーネントを作成"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "切り取り"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "削除"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "フローの開始点を削除"
@@ -8071,7 +8015,7 @@ msgstr "コピーを切り離す"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "コピーを切り離す"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "型抜き"
@@ -8079,15 +8023,15 @@ msgstr "型抜き"
msgid "workspace.shape.menu.duplicate"
msgstr "複製"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "編集"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "除外"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "平坦化"
@@ -8099,7 +8043,7 @@ msgstr "左右反転"
msgid "workspace.shape.menu.flip-vertical"
msgstr "上下反転"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "フローの開始点を追加"
@@ -8111,31 +8055,31 @@ msgstr "前面へ移動"
msgid "workspace.shape.menu.front"
msgstr "最前面へ移動"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "グループ化"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "非表示"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "UIの表示/非表示"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "交差"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "ロック"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "マスク"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "貼り付け"
@@ -8143,27 +8087,27 @@ msgstr "貼り付け"
msgid "workspace.shape.menu.paste-props"
msgstr "プロパティを貼り付け"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "パス"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "フレックスレイアウトを削除"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "グリッドレイアウトを削除"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "レイアウトを削除"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "プロパティを削除"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "バリアントには少なくとも1つのプロパティが必要です"
@@ -8187,11 +8131,11 @@ msgstr "バリアントを復元"
msgid "workspace.shape.menu.select-layer"
msgstr "レイヤーを選択"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "表示"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "アセットパネルで表示"
@@ -8199,7 +8143,7 @@ msgstr "アセットパネルで表示"
msgid "workspace.shape.menu.show-main"
msgstr "メインコンポーネントを表示"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "線をパスに変換"
@@ -8211,19 +8155,19 @@ msgstr "サムネイルを削除"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "サムネイルに設定"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "グループ解除"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "合体"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "ロック解除"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "マスクを解除"
@@ -8239,79 +8183,79 @@ msgstr "サイドバーを折りたたむ"
msgid "workspace.sidebar.expand"
msgstr "サイドバーを展開"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "履歴"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "レイヤー"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "コンポーネント"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "フィルター"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "ボード"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "グループ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "画像"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "マスク"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "一致なし"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "置換"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "すべて置換"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "置換後の文字列…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "検索…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "検索と置換"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "テキスト内容"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "レイヤー名"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "シェイプ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "インポートしたSVG属性"
@@ -8323,7 +8267,7 @@ msgstr "ページ"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "ページを追加"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "サイトマップ"
@@ -8355,7 +8299,7 @@ msgstr "このグループにセットを追加"
msgid "workspace.tokens.add-token"
msgstr "トークンを追加:%s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "適用先"
@@ -8379,7 +8323,7 @@ msgstr "基準フォントサイズはピクセル値または単位なしの値
msgid "workspace.tokens.change-token-source"
msgstr "トークンのソースを変更"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "カラー"
@@ -8391,7 +8335,7 @@ msgstr "トークンのパスをコピー"
msgid "workspace.tokens.create-new-theme"
msgstr "最初のテーマを作成しましょう。"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "新しく作成"
@@ -8419,7 +8363,7 @@ msgstr "トークンを複製"
msgid "workspace.tokens.duplicate-group"
msgstr "トークングループを複製"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "コピー"
@@ -8443,7 +8387,7 @@ msgstr "%sトークンを編集"
msgid "workspace.tokens.enter-token-name"
msgstr "%sトークンの名前を入力"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "テキストの編集中はトークンを適用できません。代わりにテキストレイヤーを選択してください。"
@@ -8471,7 +8415,7 @@ msgstr "プレビュー:"
msgid "workspace.tokens.export.single-file"
msgstr "単一ファイル"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "フォントサイズまたは{alias}"
@@ -8479,7 +8423,7 @@ msgstr "フォントサイズまたは{alias}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "フォントの太さ/スタイルを設定できませんでした。このフォントスタイルは現在のフォントに存在しません"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "フォントの太さ(300、Bold Italic…)または{alias}"
@@ -8515,7 +8459,7 @@ msgstr "複数ファイルの場合、ファイル名/パスがセット名に
msgid "workspace.tokens.import-single-file"
msgstr "単一のJSONファイルの場合、第1階層のキーをトークンセット名にしてください。"
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "トークンをインポート"
@@ -8523,15 +8467,15 @@ msgstr "トークンをインポート"
msgid "workspace.tokens.import-warning"
msgstr "トークンをインポートすると、現在のトークン、セット、テーマがすべて上書きされます。"
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "非アクティブ"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr "このセットはアクティブではありません。ビューポートで変更を確認するには、テーマを変更するかこのセットを有効にしてください"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "個別のトークンを使用"
@@ -8551,11 +8495,11 @@ msgstr "テーマ"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "テーマを追加(例:Light)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "文字間隔または{alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "行の高さ(倍率、px、%)または{alias}"
@@ -8571,11 +8515,11 @@ msgstr "最大サイズ"
msgid "workspace.tokens.min-size"
msgstr "最小サイズ"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "参照先が見つかりません"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "右クリックでオプションを表示"
@@ -8591,7 +8535,7 @@ msgstr "アクティブなテーマはありません"
msgid "workspace.tokens.no-permisions-set"
msgstr "セットを有効/無効にするには編集者である必要があります"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "テーマを使用するには編集者である必要があります"
@@ -8603,7 +8547,7 @@ msgstr "セットがまだ定義されていません。先にセットを作成
msgid "workspace.tokens.no-sets-yet"
msgstr "セットはまだありません。"
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "テーマはありません。"
@@ -8615,7 +8559,7 @@ msgstr "現在、テーマはありません。"
msgid "workspace.tokens.not-remap"
msgstr "再マッピングしない"
-#: src/app/main/data/workspace/libraries.cljs:847
+#: src/app/main/data/workspace/libraries.cljs:848
msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
msgstr "トークンのソースのセットまたはテーマが変更されました"
@@ -8627,7 +8571,7 @@ msgstr "%s個のアクティブなセット"
msgid "workspace.tokens.open-source-new-tab"
msgstr "トークンのソースを新しいタブで開く"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "元の値:%s"
@@ -8639,15 +8583,15 @@ msgstr "パディング"
msgid "workspace.tokens.radius"
msgstr "角の半径"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "{%s}の参照が無効か、どのアクティブなセットにも含まれていません。"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "タイポグラフィトークンのエイリアスを入力"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "シャドウトークンのエイリアスを入力"
@@ -8683,7 +8627,7 @@ msgstr "トークングループの名前を変更"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "トークンの名前は自動的に%s.(suffix).(tokenName)に変更されます"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "解決された値:%s"
@@ -8719,27 +8663,27 @@ msgstr "ここでは1remの値となる基準フォントサイズを設定で
msgid "workspace.tokens.settings"
msgstr "トークンの設定"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "シャドウを追加"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "ぼかし"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "シャドウの種類"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "シャドウを削除"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "広がり"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "ぼかしの値は負の数にできません"
@@ -8747,11 +8691,11 @@ msgstr "ぼかしの値は負の数にできません"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "広がりの値は負の数にできません"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8763,11 +8707,11 @@ msgstr "サイズ"
msgid "workspace.tokens.source"
msgstr "ソース:"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize または{alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through または{alias}"
@@ -8787,31 +8731,31 @@ msgstr "このファイル"
msgid "workspace.tokens.token-description"
msgstr "説明"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "フォントファミリーを選択"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "フォントファミリー"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "フォントファミリー、またはカンマ(,)区切りのフォントのリスト"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "名前"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "パス%s、またはその上位のパスにトークンがすでに存在します。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "名前は1文字以上にしてください"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" は有効なトークン名ではありません。\n"
@@ -8821,11 +8765,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "値"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "値、または{alias}形式のエイリアスを入力"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "トークン - %s"
@@ -8843,15 +8787,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "タイプ「%s」はサポートされていません(%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "参照を使用"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "値が無効です"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "矢印(%s)"
@@ -8859,79 +8803,75 @@ msgstr "矢印(%s)"
msgid "workspace.toolbar.assets"
msgstr "アセット"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "カラーパレット(%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "コメント(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "曲線(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "楕円(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "ボード(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "画像(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:413
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
msgid "workspace.toolbar.label"
msgstr "描画ツール"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "直線(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "ここで接続"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP接続済み"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "移動(%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "パレットバー"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "パス(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "プラグイン(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "長方形(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "テキスト(%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "タイポグラフィ(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "ツールバーの表示を切り替え"
@@ -8952,11 +8892,11 @@ msgstr "レンダリングを利用できません。編集を再開するには
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "再読み込み"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "変更履歴はまだありません"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "%sによる"
@@ -9096,19 +9036,19 @@ msgstr "タイポグラフィアセット"
msgid "workspace.undo.entry.unknown"
msgstr "%sに対する操作"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "閉じる"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "詳細"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "共有ライブラリに更新があります"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "更新"
diff --git a/frontend/translations/ko.po b/frontend/translations/ko.po
index e3beca6dcc..9e8ca9ddc4 100644
--- a/frontend/translations/ko.po
+++ b/frontend/translations/ko.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Korean "
" \n"
"Language: ko\n"
@@ -9,9 +9,9 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "이미 계정이 있으신가요?"
@@ -27,7 +27,7 @@ msgstr "데모 계정 생성"
msgid "auth.demo-warning"
msgstr "이것은 데모 서비스이며, 절대 실제 작업에 사용하지 마십시오. 프로젝트는 주기적으로 삭제됩니다."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "비밀번호를 잊으셨나요?"
@@ -35,35 +35,35 @@ msgstr "비밀번호를 잊으셨나요?"
msgid "auth.fullname"
msgstr "이름 (성명)"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "내 계정에 로그인"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "여기서 로그인하세요."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot은 디자인과 코드 협업을 위한 무료 오픈소스 디자인 도구입니다"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "깃허브 (GitHub)"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "깃랩 (GitLab)"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "구글 (Google)"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "오픈아이디 (OpenID)"
@@ -83,7 +83,7 @@ msgstr "프로필이 인증되지 않았습니다. 계속하기 전에 프로필
msgid "auth.notifications.recovery-token-sent"
msgstr "비밀번호 복구 링크가 메일함으로 전송되었습니다."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "팀에 성공적으로 참가했습니다"
@@ -115,7 +115,7 @@ msgstr "비밀번호를 잊으셨나요?"
msgid "auth.recovery-submit"
msgstr "비밀번호 변경"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "계정이 없으신가요?"
@@ -127,7 +127,7 @@ msgstr "대시보드와 이메일에 표시될 이름을 입력해주세요."
msgid "auth.register-account-title"
msgstr "당신의 이름"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "계정 생성"
@@ -140,7 +140,7 @@ msgstr "계정 생성"
msgid "auth.terms-and-privacy-agreement"
msgstr "[서비스 이용약관](%s) 및 [개인정보 처리방침](%s)에 동의합니다."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "서비스 이용약관"
@@ -156,88 +156,88 @@ msgstr "사용 가능한 색상 token이 없습니다. 활성 세트/테마를
msgid "comments.mentions.not-found"
msgstr "@%s 사용자를 찾을 수 없습니다"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "게시하기"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "모든 Penpot 사용자"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "이 링크를 삭제하시겠습니까? 삭제하면 더 이상 누구도 접근할 수 없습니다"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(현재)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "링크 삭제"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "링크 가져오기"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "링크가 성공적으로 복사되었습니다"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "권한 관리"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "%s개의 페이지가 공유되었습니다"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "댓글 작성 가능"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "코드 검사 가능"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "링크가 있는 누구나 접근 가능합니다"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "공유된 페이지"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "공유 가능한 링크가 여기에 표시됩니다"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "팀 구성원만"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "프로토타입 공유"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "모두 선택"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "게시 취소"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "팀 관리"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot은 팀을 위한 도구입니다. 프로젝트와 파일에서 함께 작업할 수 있도록 구성원을 초대하세요"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "팀을 구성하세요!"
@@ -253,31 +253,31 @@ msgstr "파일 복원"
msgid "dashboard.add-file"
msgstr "파일 추가"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "공유 라이브러리로 추가"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "이메일 변경"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "휴지통 비우기"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(복사)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "새 조직 생성"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "새 팀 생성"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "이 버전 고정"
@@ -285,7 +285,7 @@ msgstr "이 버전 고정"
msgid "dashboard.default-team-name"
msgstr "내 Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr "삭제된 모든 프로젝트와 파일을 영구적으로 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
@@ -293,41 +293,41 @@ msgstr "삭제된 모든 프로젝트와 파일을 영구적으로 삭제하시
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "%s 파일을 영구적으로 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s개 파일이 성공적으로 삭제되었습니다."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "영구 삭제"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "프로젝트 삭제"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"%s 프로젝트를 영구적으로 삭제하시겠습니까? 해당 프로젝트와 그 안에 포함된 모든 파일이 함께 영구 삭제됩니다. 이 작업은 되돌릴 수 "
"없습니다."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s가 성공적으로 삭제되었습니다."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "팀 삭제"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "휴지통이 비어있습니다. 삭제된 파일 및 프로젝트가 여기에 표시됩니다."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "%s에 삭제될 예정"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Penpot 파일(.penpot) 다운로드"
@@ -339,19 +339,19 @@ msgstr "복제"
msgid "dashboard.duplicate-multi"
msgstr "%s개 파일 복제"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "프로젝트 구성원이 초안을 생성하면 이곳에 표시됩니다."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "아직 초안이 없습니다."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "프로젝트 구성원이 파일을 생성하면 이곳에 표시됩니다."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "아직 파일이 없습니다."
@@ -398,23 +398,23 @@ msgstr ".penpot 파일 가져오기"
msgid "dashboard.empty-project.start"
msgstr "놀라운 것들을 만들기 시작하세요"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "파일을 삭제하는 중 오류가 발생했습니다."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "%s 프로젝트를 삭제하는 중 오류가 발생했습니다."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "%s 파일을 복원하는 중 오류가 발생했습니다."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "파일을 복원하는 중 오류가 발생했습니다."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "%s 프로젝트와 해당 파일을 복원하는 중 오류가 발생했습니다."
@@ -422,35 +422,35 @@ msgstr "%s 프로젝트와 해당 파일을 복원하는 중 오류가 발생했
msgid "dashboard.export-binary-multi"
msgstr "%s Penpot 파일 (.penpot) 다운로드"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "보드를 PDF로 내보내기"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "PDF로 내보내기"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "전체 %s개 중 %s개 요소가 선택됨"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "내보내기"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr "디자인 속성(오른쪽 사이드바 하단)에서 요소에 내보내기 설정을 추가할 수 있습니다."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Penpot에서 내보내기 설정 방법 안내."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "내보내기 설정이 지정된 요소가 없습니다."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "선택 영역 내보내기"
@@ -464,39 +464,39 @@ msgid "dashboard.file-menu.restore-files-option"
msgid_plural "dashboard.file-menu.restore-files-option"
msgstr[0] "파일 복원"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "누락된 글꼴"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "모두 무시"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "업로드한 사용자 지정 글꼴이 여기에 표시됩니다."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "아직 사용자 지정 폰트가 없습니다."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "프로젝트 구성원이 사용자 지정 폰트를 업로드하면 여기에 표시됩니다."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "글꼴 %s개 추가됨"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
"여기에 업로드하는 모든 웹 글꼴은 이 팀의 파일 텍스트 속성에서 사용할 수 있는 글꼴 모음 목록에 추가됩니다. 동일한 글꼴 모음 이름을 "
"가진 글꼴들은**하나의 글꼴 모음**으로 그룹화됩니다. 지원 형식: **TTF, OTF, WOFF** (하나만 필요)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -504,11 +504,11 @@ msgstr ""
"[Penpot의 서비스 이용약관](%s)의 콘텐츠 권리 섹션에서 확인할 수 있습니다. 추가로 [글꼴 라이선스 "
"안내](https://www.typography.com/faq)를 참고하시기 바랍니다."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "모두 업로드"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -516,11 +516,11 @@ msgstr ""
"서비스](https://vertical-metrics.netlify.app/)와 같은 수직 메트릭 서비스를 사용할 수 있습니다. 또한, "
"웹 폰트 생성 및 오류 수정을 위해 [Transfonter](https://transfonter.org/) 사용을 권장합니다. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Penpot 파일 가져오기"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "이런! 이 파일을 가져올 수 없습니다"
@@ -528,24 +528,24 @@ msgstr "이런! 이 파일을 가져올 수 없습니다"
msgid "dashboard.import.bad-url"
msgstr "가져오기 실패. 템플릿 URL이 올바르지 않습니다"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "일부 파일이 누락되었습니다"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "다음 파일에 오류가 있습니다:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "오류가 있는 파일은 업로드되지 않습니다."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "파일 %s개를 성공적으로 가져왔습니다."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "일부 파일에 포함된 유효하지 않은 객체가 제거되었습니다."
@@ -553,75 +553,47 @@ msgstr "일부 파일에 포함된 유효하지 않은 객체가 제거되었습
msgid "dashboard.import.no-perms"
msgstr "이 팀으로 가져올 권한이 없습니다"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "컬러 처리 중"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "컴포넌트 처리 중"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "미디어 처리 중"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "페이지 처리 중: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "타이포그래피 처리 중"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "서버로 데이터 업로드 중 (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "파일 업로드 중: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "다음에 대한 초대를 삭제합니다:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "다음에 대한 초대를 재전송합니다:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "초대 삭제"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "초대 재전송"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "사람 초대"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "팀 나가기"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "라이브러리 및 템플릿"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "프로젝트에 추가할 수 있는 라이브러리와 템플릿입니다"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "더 많은 항목을 둘러보고 기여하는 방법을 알아보세요"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "템플릿을 가져오는 중 문제가 발생했습니다. 템플릿이 누락되었습니다."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "라이브러리"
@@ -629,7 +601,7 @@ msgstr "라이브러리"
msgid "dashboard.loading-files"
msgstr "파일 로드 중…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "폰트 로드 중…"
@@ -649,39 +621,39 @@ msgstr "%s개 파일을 다음으로 이동"
msgid "dashboard.move-to-other-team"
msgstr "다른 팀으로 이동"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ 새 파일"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "새 파일"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ 새 프로젝트"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "새 프로젝트"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "\"%s\"에 대한 검색 결과가 없습니다"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "고정된 프로젝트가 여기에 표시됩니다"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "알림"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "이메일 주소가 성공적으로 업데이트되었습니다"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "이메일 주소가 성공적으로 인증되었습니다"
@@ -693,11 +665,11 @@ msgstr "알림 설정이 업데이트되었습니다"
msgid "dashboard.notifications.password-saved"
msgstr "비밀번호가 성공적으로 저장되었습니다!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "알림 보기"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "멤버 %s명"
@@ -705,15 +677,15 @@ msgstr "멤버 %s명"
msgid "dashboard.open-in-new-tab"
msgstr "새 탭에서 파일 열기"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "옵션"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "역할순 정렬"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "상태순 정렬"
@@ -737,7 +709,7 @@ msgstr "이제 이 팀의 소유자(Owner)입니다."
msgid "dashboard.permissions-change.viewer"
msgstr "이제 이 팀의 뷰어(Viewer)입니다."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "고정/고정 해제"
@@ -753,27 +725,27 @@ msgstr "플러그인 매니페스트를 구문 분석할 수 없습니다"
msgid "dashboard.plugins.try-plugin"
msgstr "플러그인 체험하기: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "파일 삭제 중…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "파일 복원 중…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "삭제가 예상보다 느립니다"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "복원이 예상보다 느립니다"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "프로젝트"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "계정을 삭제하시겠습니까?"
@@ -781,67 +753,67 @@ msgstr "계정을 삭제하시겠습니까?"
msgid "dashboard.removed-from-team"
msgstr "더 이상 \"%s\" 팀의 멤버가 아닙니다."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "모든 프로젝트와 파일을 복원하려 합니다. 시간이 다소 소요될 수 있습니다."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "모든 프로젝트 및 파일 복원"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "모두 복원"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s개 파일이 성공적으로 복원되었습니다."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "프로젝트 복원"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "%s 프로젝트와 그 안에 포함된 모든 파일을 복원하려고 합니다."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "프로젝트 복원"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s이(가) 성공적으로 복원되었습니다."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "설정 저장"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "검색…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "\"%s\" 검색 중…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "UI 언어 선택"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "테마 선택"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot 다크 (기본)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot 라이트"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "시스템 테마"
@@ -905,11 +877,11 @@ msgstr "설정 업데이트"
msgid "dashboard.settings.notifications.title"
msgstr "알림"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "모든 파일 보기"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "버전 히스토리"
@@ -931,7 +903,7 @@ msgstr[0] "파일이 성공적으로 복사되었습니다"
msgid "dashboard.success-duplicate-project"
msgstr "프로젝트가 성공적으로 복제되었습니다"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "파일이 성공적으로 이동되었습니다"
@@ -943,105 +915,105 @@ msgstr "파일들이 성공적으로 이동되었습니다"
msgid "dashboard.success-move-project"
msgstr "프로젝트가 성공적으로 이동되었습니다"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "팀 정보"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "팀 구성원"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "팀 프로젝트"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "프로젝트에 추가"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI 테마"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "검색 결과"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "삭제된 파일은 휴지통에"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s일 동안 보관됩니다. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "그 이후에는 영구적으로 삭제됩니다."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr "필요한 경우, 각 파일 메뉴에서 복원하거나 영구 삭제할 수 있습니다."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "검색어를 입력하세요"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "라이브러리 게시 취소"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "설정 업데이트"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "활성화 상태"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "이 훅이 실행되면 이벤트 상세 정보가 전달됩니다"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "본인이 생성한 웹훅만 삭제하거나 수정할 수 있습니다."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "콘텐츠 유형"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "웹훅 생성"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "웹훅이 성공적으로 생성되었습니다."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"웹훅은 Penpot에서 특정 이벤트가 발생했을 때 다른 웹사이트나 앱이 알림을 받을 수 있는 간단한 방법입니다. 제공하신 각 URL로 "
"POST 요청을 보냅니다."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "새 웹훅을 추가하려면 \"웹훅 추가\" 버튼을 누르세요."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "아직 생성된 웹훅이 없습니다."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "내 계정"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "이메일"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "이름"
@@ -1057,11 +1029,11 @@ msgstr "주의"
msgid "ds.component-subtitle"
msgstr "업데이트할 컴포넌트:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "허용"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "취소"
@@ -1081,7 +1053,7 @@ msgstr "활성 세트나 테마에 적용 가능한 token이 없습니다."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "일치하는 항목이 없습니다."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "token 목록 열기"
@@ -1093,15 +1065,15 @@ msgstr "이 프로필에 허용되지 않는 인증 제공자입니다"
msgid "errors.auth-provider-not-configured"
msgstr "인증 제공자가 구성되지 않았습니다."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "인증되지 않았거나 세션이 만료된 것 같습니다."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "%s 글꼴을 로드할 수 없습니다"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "%s 글꼴들을 로드할 수 없습니다"
@@ -1113,39 +1085,39 @@ msgstr "미디어 파일을 업로드할 수 없습니다."
msgid "errors.character-limit-exceeded"
msgstr "글자 수 제한 초과"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "브라우저에서 이 작업을 지원하지 않습니다"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "댓글 처리 중 오류가 발생했습니다"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr "죄송합니다! 이 파일은 더 이상 지원되지 않는 이전 버전의 Penpot 에셋을 사용하고 있어 열 수 없습니다."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "문의해 주시면 도와드리겠습니다."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Penpot은 더 이상 이 유형의 에셋을 지원하지 않지만,"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "고객 지원팀에 문의"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "상위 세트를 하위 세트의 경로로 옮길 수 없습니다."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "이미 사용 중인 이메일입니다"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "이미 인증된 이메일입니다."
@@ -1157,27 +1129,27 @@ msgstr "이메일을 비밀번호로 사용할 수 없습니다"
msgid "errors.email-does-not-match-invitation"
msgstr "초대받은 이메일과 일치하지 않습니다."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "허용되지 않는 도메인입니다"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "«%s» 이메일은 지속적인 반송(Bounce) 리포트가 발생하고 있습니다."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "«%s» 이메일은 스팸으로 신고되었거나 지속적으로 반송되고 있습니다."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr "'%s' 기능이 활성화된 파일을 열려고 하지만, 현재 Penpot 버전에서 지원하지 않거나 비활성화되어 있습니다."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "'%s' 기능은 지원되지 않습니다."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "최대 %s자까지 입력 가능합니다."
@@ -1185,7 +1157,7 @@ msgstr "최대 %s자까지 입력 가능합니다."
msgid "errors.field-min-length"
msgstr "최소 1자 이상 입력해야 합니다."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "필수 입력 항목입니다"
@@ -1193,15 +1165,15 @@ msgstr "필수 입력 항목입니다"
msgid "errors.field-not-all-whitespace"
msgstr "이름은 공백 외에 다른 문자를 포함해야 합니다."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr "활성화된 기능과 열려는 파일의 기능이 일치하지 않습니다. 파일을 열기 전에 '%s'에 대한 마이그레이션이 필요합니다."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "문제가 발생했습니다."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "웹 워커에서 문제가 발생했습니다."
@@ -1217,7 +1189,7 @@ msgstr "유효하지 않은 데이터"
msgid "errors.invalid-email"
msgstr "올바른 이메일 주소를 입력해주세요"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "확인용 이메일이 일치하지 않습니다"
@@ -1241,11 +1213,11 @@ msgstr "이 초대는 취소되었거나 만료되었을 수 있습니다."
msgid "errors.ldap-disabled"
msgstr "LDAP 인증이 비활성화되었습니다."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "'%s' 할당량에 도달했습니다. 고객 지원팀에 문의하세요."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "한 번의 요청으로 초대할 수 있는 최대 이메일 수(%s개)에 도달했습니다"
@@ -1261,19 +1233,19 @@ msgstr "이미지 내용이 파일 확장자와 일치하지 않는 것 같습
msgid "errors.media-type-not-allowed"
msgstr "유효한 이미지가 아닌 것 같습니다."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "초대하려는 프로필의 이메일 수신이 거부되었습니다(스팸 신고 또는 높은 반송률)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "마이그레이션 진행 중"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "버전 생성자만 잠글 수 있습니다"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "버전 생성자만 잠금 해제할 수 있습니다"
@@ -1285,7 +1257,7 @@ msgstr "확인용 비밀번호가 일치하지 않습니다"
msgid "errors.password-too-short"
msgstr "비밀번호는 최소 8자 이상이어야 합니다"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "클립보드에 유효하지 않은 데이터가 있습니다"
@@ -1293,7 +1265,7 @@ msgstr "클립보드에 유효하지 않은 데이터가 있습니다"
msgid "errors.profile-blocked"
msgstr "차단된 프로필입니다"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "사용자 프로필의 이메일 수신이 거부되었습니다(스팸 신고 또는 높은 반송률)."
@@ -1301,23 +1273,23 @@ msgstr "사용자 프로필의 이메일 수신이 거부되었습니다(스팸
msgid "errors.registration-disabled"
msgstr "현재 회원가입이 비활성화되어 있습니다."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG가 유효하지 않거나 형식이 잘못되었습니다"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "호환되지 않는 기능 '%s'이(가) 감지되었습니다"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "팀에 본인만 남아 있어 나갈 수 없습니다. 팀을 삭제해야 합니다."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "할당하려는 멤버가 존재하지 않습니다."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "소유자(Owner)는 팀을 나갈 수 없습니다. 소유자 역할을 먼저 다른 분께 위임해야 합니다."
@@ -1325,11 +1297,11 @@ msgstr "소유자(Owner)는 팀을 나갈 수 없습니다. 소유자 역할을
msgid "errors.token-set-already-exists"
msgstr "동일한 이름의 token 세트가 이미 존재합니다"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "이동을 완료할 수 없습니다. 해당 경로에 동일한 이름의 세트가 이미 존재합니다."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "동일한 이름의 테마 옵션이 이미 존재합니다"
@@ -1337,55 +1309,55 @@ msgstr "동일한 이름의 테마 옵션이 이미 존재합니다"
msgid "errors.unexpected-error"
msgstr "예기치 않은 오류가 발생했습니다."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "알 수 없는 token"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "이 버전은 이미 잠겨 있습니다"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "이 버전은 잠겨 있어 다른 사람이 삭제할 수 없습니다"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "파일의 버전 번호가 호환되지 않습니다"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL이 작동을 멈췄습니다. 문제를 해결하려면 페이지를 새로고침하세요"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "캔버스 연결이 끊어졌습니다"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "연결 오류, URL에 연결할 수 없습니다"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL 유효성 검사를 통과하지 못했습니다."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "마지막 전송이 성공하지 못했습니다."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSL 인증 오류."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "시간 초과"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "유효성 검사 중 예기치 않은 오류 발생"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "예기치 않은 상태 %s"
@@ -1405,15 +1377,15 @@ msgstr "설명"
msgid "feedback.description-placeholder"
msgstr "의견을 보내시는 이유를 설명해주세요"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "함께해주셔서 기쁩니다. 도움이 필요하시면 게시하기 전에 먼저 검색을 이용해보세요."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot 커뮤니티"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "기타 문의 방법"
@@ -1433,11 +1405,11 @@ msgstr "문의하시는 이유를 이슈, 제안, 궁금한 점 등으로 구분
msgid "feedback.title-contact-us"
msgstr "문의하기"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "기술적인 문의 사항을 도와드립니다."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X(Twitter) 지원 계정"
@@ -1457,10 +1429,6 @@ msgstr "아이디어/제안"
msgid "feedback.type.issue"
msgstr "이슈/문제"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "파일 다운로드"
-
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "오류가 발생했습니다"
@@ -1497,7 +1465,7 @@ msgstr "도형 채우기 이미지 미리보기"
msgid "inspect.attributes.shadow"
msgstr "그림자"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "크기 및 위치"
@@ -1505,39 +1473,27 @@ msgstr "크기 및 위치"
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 "바깥쪽"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "타이포그래피"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "글꼴 모음"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "글꼴 크기"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "글꼴 스타일"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "자간"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "행간"
@@ -1549,11 +1505,11 @@ msgstr "없음"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "밑줄"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "첫 글자 대문자"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "소문자"
@@ -1565,7 +1521,7 @@ msgstr "없음"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "설정 해제"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "대문자"
@@ -1685,47 +1641,47 @@ msgstr "계산된 값:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "베리언트 속성"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "모두 읽음으로 표시"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "단축키"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Penpot 정보"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "수락"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "활성"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "추가"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "커스텀 폰트 추가"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "추가 중..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "관리자(Admin)"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "전체"
@@ -1733,15 +1689,15 @@ msgstr "전체"
msgid "labels.and"
msgstr "및"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "뒤로"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "잠시 기다린 후 다시 시도해주세요. 현재 서버 유지보수 작업을 진행 중입니다."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "게이트웨이 오류가 발생했습니다"
@@ -1749,15 +1705,15 @@ msgstr "게이트웨이 오류가 발생했습니다"
msgid "labels.blur"
msgstr "블러"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "취소"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "닫기"
@@ -1765,7 +1721,7 @@ msgstr "닫기"
msgid "labels.code"
msgstr "코드"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "접기"
@@ -1777,15 +1733,15 @@ msgstr "색상"
msgid "labels.comment"
msgstr "댓글"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "댓글"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "커뮤니티"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "커뮤니티 및 기여"
@@ -1797,19 +1753,19 @@ msgstr "계산됨"
msgid "labels.confirm-password"
msgstr "비밀번호 확인"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "고객 지원 문의"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "문의하기"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "계속하기"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Penpot 계정으로 계속할 수 있습니다"
@@ -1821,31 +1777,31 @@ msgstr "복사"
msgid "labels.copy-color"
msgstr "색상 복사"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "링크 복사"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-present"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "생성"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "새 팀 생성"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "새 팀 이름을 입력하세요"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "대시보드"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "삭제"
@@ -1857,7 +1813,7 @@ msgstr "댓글 삭제"
msgid "labels.delete-comment-thread"
msgstr "스레드 삭제"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "초대 삭제"
@@ -1865,23 +1821,23 @@ msgstr "초대 삭제"
msgid "labels.delete-multi-files"
msgstr "%s개 파일 삭제"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "삭제된 항목"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "개발"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "취소"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%s 다운로드"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "초안"
@@ -1889,27 +1845,27 @@ msgstr "초안"
msgid "labels.duplicate"
msgstr "복제"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "편집"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "작성자"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "비어 있음"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "오류"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "만료됨"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "내보내기"
@@ -1921,7 +1877,7 @@ msgstr "의견 보내기 비활성화됨"
msgid "labels.feedback-sent"
msgstr "의견이 전송되었습니다"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -1929,55 +1885,55 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "채우기"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "글꼴 모음"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "스타일"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "글꼴"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github 저장소"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "의견 보내기"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "뒤로 가기"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "그래픽 디자인"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "도움말 센터"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "도움말 및 학습"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "숨기기"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "해결된 댓글 숨기기"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "가져오기"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "비활성화"
@@ -1985,47 +1941,47 @@ msgstr "비활성화"
msgid "labels.info"
msgstr "정보"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "설치된 글꼴"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "문제가 발생했습니다."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "작업을 다시 시도하거나 지원팀에 문의하세요."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "내부 오류"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "초대"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "언어"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "레이아웃"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "학습 센터"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "라이브러리 및 템플릿"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "로드 중…"
@@ -2033,7 +1989,7 @@ msgstr "로드 중…"
msgid "labels.lock"
msgstr "잠금"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "로그인 또는 회원가입"
@@ -2041,19 +1997,19 @@ msgstr "로그인 또는 회원가입"
msgid "labels.login"
msgstr "로그인"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "로그아웃"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "마케팅"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "구성원"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "구성원"
@@ -2065,41 +2021,41 @@ msgstr "멘션"
msgid "labels.new-password"
msgstr "새 비밀번호"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "다음"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "모든 알림을 확인했습니다! 새 댓글 알림이 여기에 표시됩니다."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "대기 중인 초대가 없습니다."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "사람들을 모아 멋진 결과물을 함께 만들어보세요."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "죄송합니다!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "알림"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "파일 %s개"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "보드 %s개"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "프로젝트 %개"
@@ -2108,39 +2064,39 @@ msgstr[0] "프로젝트 %개"
msgid "labels.old-password"
msgstr "이전 비밀번호"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "옵션"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "기타 (직접 입력)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "기타"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "소유자(Owner)"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "비밀번호"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "대기 중"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot 변경 사항"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot 허브"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "고정된 프로젝트"
@@ -2148,31 +2104,31 @@ msgstr "고정된 프로젝트"
msgid "labels.post"
msgstr "게시"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "이전"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "제품 또는 UX 디자인"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "제품 관리(PM)"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "프로필"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "프로젝트"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "최근 항목"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "참조"
@@ -2180,27 +2136,27 @@ msgstr "참조"
msgid "labels.refresh"
msgstr "새로고침"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "릴리즈 노트"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "페이지 새로고침"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "제거"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "구성원 제거"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "이름 바꾸기"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "팀 이름 바꾸기"
@@ -2224,11 +2180,11 @@ msgstr "새 답글"
msgid "labels.reply.thread"
msgstr "답글 달기"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "재전송"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "초대 재전송"
@@ -2236,43 +2192,43 @@ msgstr "초대 재전송"
msgid "labels.restore"
msgstr "복원"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "다시 시도"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "역할"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "저장"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "검색"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "글꼴 검색"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "옵션 선택"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "전송"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "전송 중…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "시스템 정기 점검 중입니다."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "서비스를 사용할 수 없음"
@@ -2280,55 +2236,55 @@ msgstr "서비스를 사용할 수 없음"
msgid "labels.sets"
msgstr "세트"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "설정"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "그림자"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "공유"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "라이브러리"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "표시"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "모든 댓글 보기"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "댓글 목록 보기"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "내 멘션만 보기"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "내 댓글만 보기"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "원본"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "시작"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "상태"
@@ -2336,7 +2292,7 @@ msgstr "상태"
msgid "labels.stroke"
msgstr "선"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "학생 또는 교사"
@@ -2348,7 +2304,7 @@ msgstr "스타일"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "전환"
@@ -2356,19 +2312,19 @@ msgstr "전환"
msgid "labels.text"
msgstr "텍스트"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "테마"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "튜토리얼"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "타이포그래피"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "알 수 없는 오류"
@@ -2380,31 +2336,31 @@ msgstr "잠금 해제"
msgid "labels.unpublish-multi-files"
msgstr "%s개 파일 게시 취소"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "업데이트"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "팀 업데이트"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "업로드"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "사용자 지정 글꼴 업로드"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "업로드 중…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "베리언트"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "버전 %s 노트"
@@ -2412,7 +2368,7 @@ msgstr "버전 %s 노트"
msgid "labels.view-only"
msgstr "보기 전용"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "뷰어"
@@ -2420,7 +2376,7 @@ msgstr "뷰어"
msgid "labels.visibility"
msgstr "가시성"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "웹훅"
@@ -2428,11 +2384,11 @@ msgstr "웹훅"
msgid "labels.write-new-comment"
msgstr "새 댓글 작성"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(나)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "내 계정"
@@ -2562,59 +2518,59 @@ msgstr "공유 라이브러리로 추가하면, 이 파일 라이브러리의
msgid "modals.add-shared-confirm.message"
msgstr "\"%s\"를 공유 라이브러리로 추가"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "크게 이동"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "새 이메일 확인"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "본인 확인을 위해 현재 이메일인 \"%s\"로 이메일을 보내드립니다."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "새 이메일"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "이메일 변경"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "이메일 주소 변경"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "웹훅 생성"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "웹훅 생성"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "페이로드(Payload) URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "취소하고 계정 유지"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "네, 계정을 삭제합니다"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "계정을 삭제하면 현재의 모든 프로젝트와 아카이브를 잃게 됩니다."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "정말 계정을 삭제하시겠습니까?"
@@ -2662,27 +2618,27 @@ msgstr "%s개의 파일을 삭제하시겠습니까?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "%s개 파일 삭제 중"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "정말 이 글꼴 스타일을 삭제하시겠습니까? 파일에서 사용 중인 경우 로드되지 않습니다."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "글꼴 스타일 지우는 중"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "이 글꼴을 삭제하시겠습니까? 파일에서 사용 중인 경우 로드되지 않습니다."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "글꼴 삭제 중"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "이 페이지를 삭제하시겠습니까?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "페이지 삭제"
@@ -2698,27 +2654,27 @@ msgstr "이 프로젝트를 삭제하시겠습니까?"
msgid "modals.delete-project-confirm.title"
msgstr "프로젝트 삭제"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "파일 삭제"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
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:58
+#: src/app/main/ui/delete_shared.cljs:60
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:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "이 파일들을 삭제하시겠습니까?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "파일 삭제 중"
@@ -2735,165 +2691,165 @@ msgstr "이 팀을 삭제하시겠습니까? 팀과 관련된 모든 프로젝
msgid "modals.delete-team-confirm.title"
msgstr "팀 삭제 중"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "구성원 삭제"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "이 구성원을 팀에서 삭제하시겠습니까?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "팀 구성원 삭제"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
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:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "웹훅 삭제"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "이 웹훅을 삭제하시겠습니까?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "웹훅 삭제 중"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "웹훅 수정"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "웹훅 수정"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "초대 전송"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "이메일 주소 (쉼표로 구분)"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "일부 구성원은 이미 팀에 소속되어 있습니다. 나머지 구성원들만 초대합니다."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr "팀에 구성원을 초대하여 이 파일과 모든 팀 파일에 접근할 수 있도록 할 수 있습니다."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "팀에 구성원 초대"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "귀하가 이 팀의 유일한 구성원이므로, 팀을 나가면 프로젝트 및 파일과 함께 팀이 삭제됩니다."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "정말 %s 팀을 나가시겠습니까?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr "소유자(Owner) 역할을 위임할 다른 구성원이 없으면 팀을 나갈 수 없습니다. 팀 삭제를 고려해보세요."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "귀하는 이 팀의 소유자입니다. 나가기 전에 소유자 역할을 위임할 다른 구성원을 선택해주세요."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "위임하고 나가기"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "위임할 구성원 선택"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "팀을 나가기 전에"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "팀 나가기"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "이 팀을 나가시겠습니까?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "팀 나가는 중"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "이동"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "이 라이브러리를 이동하시겠습니까?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "라이브러리 이동"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "이동 간격"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "소유권 이전"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr "소유권을 이전하면 귀하의 역할이 관리자(Admin)로 변경되며, 이 팀에 대한 일부 권한을 잃게 됩니다. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "귀하는 현재 이 팀의 소유자입니다. 정말 %s님을 팀의 새 소유자로 지정하시겠습니까?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "새 팀 소유자"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "게시"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "라이브러리가 비어 있습니다. 정말 게시하시겠습니까?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "빈 라이브러리 게시"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "미세 이동"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "게시 취소"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "이 라이브러리의 게시를 취소하시겠습니까?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "라이브러리 게시 취소"
@@ -2914,11 +2870,11 @@ msgstr "공유 라이브러리의 컴포넌트를 업데이트하려고 합니
msgid "modals.update-remote-component.message"
msgstr "공유 라이브러리의 컴포넌트 업데이트"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "페이지가 존재하지 않습니다"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 오류"
@@ -2934,11 +2890,11 @@ msgstr "다음을 통해 복구 이메일을 보냈습니다:"
msgid "not-found.login.sent-recovery-check"
msgstr "이메일을 확인하고 링크를 클릭하여 새 비밀번호를 생성하세요."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "무료 회원가입"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "몇 초 안에 Penpot 사용을 시작해보세요!"
@@ -2946,63 +2902,63 @@ msgstr "몇 초 안에 Penpot 사용을 시작해보세요!"
msgid "not-found.made-with-love"
msgstr "사랑과 오픈 소스의 힘으로 만들어졌습니다"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "이미 이 파일에 대한 접근 권한을 요청하셨습니다."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr "이미 이 파일 또는 이 팀의 다른 파일/프로젝트에 대한 접근 권한을 요청하셨습니다."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr "이미 이 프로젝트 또는 이 팀의 다른 프로젝트/파일에 대한 접근 권한을 요청하셨습니다."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "이미 이 프로젝트에 대한 접근 권한을 요청하셨습니다."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "접근 권한 요청"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "소유자가 승인하면 팀에 초대될 것임을 잊지 마세요."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "요청이 성공적으로 전송되었습니다!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "이 파일에 대한 접근 권한이 없습니다."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "내 Penpot으로 이동"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "소유자가 승인하면 팀에 초대됩니다."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot 파일"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "이 프로젝트에 대한 접근 권한이 없습니다."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "프로젝트"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "이 파일에 접근하려면 팀 소유자에게 문의하세요."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "이 프로젝트에 접근하려면 팀 소유자에게 문의하세요."
@@ -3014,27 +2970,27 @@ msgstr "시스템 점검 안내: 5분 이내에 짧은 점검을 위해 서비
msgid "notifications.by-code.upgrade-version"
msgstr "새 버전이 출시되었습니다. 페이지를 새로고침해주세요"
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "초대가 성공적으로 삭제되었습니다"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "초대가 성공적으로 전송되었습니다"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "초대 링크가 복사되었습니다"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "프로필을 삭제할 수 없습니다. 진행하기 전에 팀 소유권을 먼저 위임해주세요."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "프로필이 성공적으로 저장되었습니다!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "인증 이메일을 %s로 보냈습니다. 이메일을 확인해주세요!"
@@ -3062,77 +3018,77 @@ msgstr "팀 이름을 정한 후, 구성원들을 초대할 수 있습니다."
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "팀 생성"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "구성원 초대"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "다음 역할로 초대:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "시작해볼까요!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "디자인에서 실제 코드 추출"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "디자인 시스템 구축"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "프로토타이핑"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "앱의 UI/UX 디자인"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "와이어프레임 제작"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "어떤 용도로 Penpot을 사용하실 예정인가요?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Penpot이 사용자분께 더 잘 맞도록 도와드리기 위해 정보를 조금만 알려주세요. 답변해주신 내용은 새 기능의 우선순위를 정하고 시작 "
"가이드를 제공하는 데 도움이 됩니다."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "사용자분에 대해 알려주세요"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "가장 많이 사용하는 디자인 도구는 무엇인가요?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "주로 어떤 작업을 하시나요?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "사용자분의 업무에 대해 알려주세요"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "어디서부터 시작하고 싶으신가요?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "교육용"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "개인용"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "업무용"
@@ -3180,11 +3136,11 @@ msgstr "디자인 시작하기"
msgid "profile.recovery.go-to-login"
msgstr "로그인으로 이동"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "해제"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "혼합됨"
@@ -3196,35 +3152,35 @@ msgstr "색상 제거"
msgid "settings.select-this-color"
msgstr "이 스타일을 사용하는 항목 선택"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "댓글"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "아래 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "가로 가운데 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "왼쪽 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "오른쪽 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "위쪽 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "세로 가운데 정렬"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "선택 영역을 보드로 만들기"
@@ -3232,55 +3188,55 @@ msgstr "선택 영역을 보드로 만들기"
msgid "shortcuts.bold"
msgstr "굵게 표시/해제"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "빼기"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "제외"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "교차"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "합치기"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "맨 뒤로 보내기"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "뒤로 보내기"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "앞으로 가져오기"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "맨 앞으로 가져오기"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "실행 취소 기록 삭제"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "복사"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "링크 복사"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "속성 복사"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "컴포넌트 / 베리언트 생성"
@@ -3288,35 +3244,35 @@ msgstr "컴포넌트 / 베리언트 생성"
msgid "shortcuts.create-new-project"
msgstr "새로 생성"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "잘라내기"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "축소"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "삭제"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "노드 삭제"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "컴포넌트 해제"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "곡선"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "타원"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "보드"
@@ -3324,39 +3280,39 @@ msgstr "보드"
msgid "shortcuts.draw-nodes"
msgstr "경로 그리기"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "경로"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "사각형"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "텍스트"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "복제"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "취소"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "도형 내보내기"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "전체 맞춤"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "좌우 반전"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "상하 반전"
@@ -3380,23 +3336,23 @@ msgstr "공유 라이브러리로 이동"
msgid "shortcuts.go-to-search"
msgstr "검색"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "그룹화"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "수평 간격 동일하게"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "UI 표시/숨기기"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "확대"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "이미지 삽입"
@@ -3404,7 +3360,7 @@ msgstr "이미지 삽입"
msgid "shortcuts.italic"
msgstr "기울임꼴 표시/해제"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "노드 연결"
@@ -3412,39 +3368,39 @@ msgstr "노드 연결"
msgid "shortcuts.line-through"
msgstr "취소선 표시/해제"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "직각 노드로 변경"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "곡선 노드로 변경"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "마스크"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "노드 병합"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "아래로 크게 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "왼쪽으로 크게 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "오른쪽으로 크게 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "위로 크게 이동"
@@ -3452,333 +3408,333 @@ msgstr "위로 크게 이동"
msgid "shortcuts.move-nodes"
msgstr "노드 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "아래로 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "왼쪽으로 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "오른쪽으로 이동"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "위로 이동"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "다음 보드"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "단축키를 찾을 수 없습니다"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "불투명도 100% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "불투명도 10% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "불투명도 20% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "불투명도 30% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "불투명도 40% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "불투명도 50% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "불투명도 60% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "불투명도 70% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "불투명도 80% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "불투명도 90% 설정"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "색상 선택기"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "뷰어 댓글 섹션으로 이동"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "대시보드로 이동"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "뷰어 검사 섹션으로 이동"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "뷰어 인터랙션 섹션으로 이동"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "뷰어 인터랙션 섹션으로 이동"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "워크스페이스로 이동"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " 또는 "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "붙여넣기"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "속성 붙여넣기"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "플러그인 관리자"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "이전 보드"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "다시 실행"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "이름 바꾸기"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "확대/축소 초기화"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "스케일"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "기본"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "대시보드"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "뷰어"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "워크스페이스"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "전체 선택"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "다음 레이어 선택"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "상위 레이어 선택"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "이전 레이어 선택"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "노드 분리"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "픽셀 그리드 표시/숨기기"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "단축키 표시/숨기기"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "노드에 스냅"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "픽셀 그리드에 스냅"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "편집 시작"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "정렬"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "편집"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "일반"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "메인 메뉴"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "레이어 수정"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "내비게이션"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "내비게이션"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "내비게이션"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "패널"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "경로"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "도형"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "텍스트"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "도구"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "확대/축소"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "확대/축소"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "썸네일 설정"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "키보드 단축키"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "동적 정렬 전환"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "에셋 전환"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "색상 선택자 켜기/끄기"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "포커스 모드 켜기/끄기"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "전체 화면 켜기/끄기"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "가이드 표시 / 숨기기"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "히스토리 패널 전환"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "레이어 패널 전환"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "플렉스 레이아웃 추가 / 제거"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "그리드 레이아웃 추가 / 제거"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "잠금 / 잠금 해제"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "비율 잠금"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "눈금자 표시 / 숨기기"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "가이드에 스냅"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "눈금자 가이드에 스냅"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "텍스트 팔레트 전환"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "테마 변경"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "표시 / 숨기기"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "확대/축소 스타일 전환"
@@ -3786,31 +3742,31 @@ msgstr "확대/축소 스타일 전환"
msgid "shortcuts.underline"
msgstr "밑줄 전환"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "실행 취소"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "그룹 해제"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "마스크 해제"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "세로로 균등 배분"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "줌 렌즈 축소"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "줌 렌즈 확대"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "선택 항목에 맞추기"
@@ -3890,187 +3846,187 @@ msgstr "소유한 팀 전체에 추가된 새로운 편집자만 향후 요금
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "무제한 플랜 이용 중 사람 초대하기"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "구독"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "체험판 종료 후에도 계속 이용하시려면 결제 수단을 추가해 주세요"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "프로페셔널 플랜의 모든 혜택 및:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "무제한 플랜의 모든 혜택 및:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s명 편집자)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "엔터프라이즈"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "엔터프라이즈 (체험판)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90일 자동 저장 버전 및 파일 복구"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "월 정액제"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "무제한 저장 공간"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "나의 구독 관리"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "결제 수단 추가"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"결제 정보를 지금 추가하면 체험판 종료 후에도 구독이 끊김 없이 유지되며 당사의 오픈소스 프로젝트를 후원하실 수 있습니다. 지금은 "
"요금이 청구되지 않습니다."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "지금은 건너뛰고 체험판 시작"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "체험판을 더 원활하게 시작할 수 있도록 도와주세요"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "현재 팀 전체에서 편집할 수 있는 사람이 %s명 있습니다."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr "알림: 하위 플랜으로 변경하면 저장 공간이 줄어들고 백업 및 버전 히스토리 보존 기간이 단축됩니다."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "편집자"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(소유자, 관리자, 편집자 포함. 뷰어는 편집자에 포함되지 않음)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"현재 인원보다 적은 편집자 수를 설정할 수 없습니다. 실제 편집을 하지 않는 사용자는 팀 설정에서 역할(편집자/관리자에서 뷰어로)을 "
"변경해 주세요."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "체험판 종료 후 청구됩니다. 지금은 신용카드가 필요하지 않습니다."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/월"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "내 팀에 %s 적용"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"팁: 향후 초대를 고려하여 지금 시트 수를 늘려두실 수 있습니다. 팀 전체 편집자가 25명 이상이면 월 $175의 고정 요금이 "
"적용됩니다."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot 가입일: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "자세한 정보"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "다른 Penpot 플랜"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "조직/월"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "프로페셔널"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7일 자동 저장 버전 및 파일 복구"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB 저장 공간"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "무제한 팀 생성. 소유한 팀 전체 합산 최대 8명의 편집자."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "추천"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "내 구독 정보"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "무료 체험판 시작"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "구독하기"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "계정 상세 정보의 '구독' 페이지에서 언제든지 구독 내용을 수정하실 수 있습니다."
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Penpot %s 플랜을 선택해주셔서 감사합니다!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "14일 무료 체험"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "무제한"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "무제한 (체험판)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30일 자동 저장 버전 및 파일 복구"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "월 최대 $175 정액 청구"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB 저장 공간"
@@ -4093,40 +4049,40 @@ msgstr "이 한도를 늘리려면 팀 소유자에게 문의하세요: [mailto:
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "이 한도를 늘리려면 [플랜을 업그레이드하세요|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "초대 %s개 선택됨"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "글꼴 제공자 - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "글꼴 - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "프로젝트 - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "검색 - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "공유 라이브러리 - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - 팀을 위한 자유로운 디자인"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "의견 보내기 - Penpot"
@@ -4134,7 +4090,7 @@ msgstr "의견 보내기 - Penpot"
msgid "title.settings.notifications"
msgstr "알림 - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "설정 - Penpot"
@@ -4142,27 +4098,27 @@ msgstr "설정 - Penpot"
msgid "title.settings.password"
msgstr "비밀번호 - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "프로필 - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "초대 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "구성원 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "설정 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "웹훅 - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - 보기 모드 - Penpot"
@@ -4170,99 +4126,99 @@ msgstr "%s - 보기 모드 - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "페이지에 보드가 없습니다."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "보드를 찾을 수 없습니다."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "댓글 (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "인터랙션 숨기기"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "전체 화면"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "검사 (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "인터랙션"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "인터랙션 (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "링크 복사"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "인터랙션 표시"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "클릭 시 인터랙션 표시"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "사이트맵"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "마지막 전송이 성공했습니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "가로 가운데 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "가로 간격 균등 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "왼쪽 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "오른쪽 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "아래쪽 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "세로 가운데 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "세로 간격 균등 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "위쪽 정렬 (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "라이브러리 추가"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "모든 에셋"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "색상"
@@ -4274,7 +4230,7 @@ msgstr "색상 추가"
msgid "workspace.assets.component-group-options"
msgstr "컴포넌트 그룹 옵션"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "컴포넌트"
@@ -4282,7 +4238,7 @@ msgstr "컴포넌트"
msgid "workspace.assets.components.add-component"
msgstr "컴포넌트 추가"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s개 베리언트"
@@ -4290,15 +4246,15 @@ msgstr "%s개 베리언트"
msgid "workspace.assets.create-group"
msgstr "그룹 생성"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "항목 이름이 \"그룹 이름 / 항목 이름\" 형식으로 자동으로 지정됩니다"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "복제"
@@ -4306,39 +4262,39 @@ msgstr "복제"
msgid "workspace.assets.duplicate-main"
msgstr "메인 복제"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "편집"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "필터"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "그리드 보기"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "그룹"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "그룹 이름"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "목록 보기"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "로컬 라이브러리"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "라이브러리 관리"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "에셋을 찾을 수 없습니다"
@@ -4346,7 +4302,7 @@ msgstr "에셋을 찾을 수 없습니다"
msgid "workspace.assets.open-library"
msgstr "라이브러리 파일 열기"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "이름 바꾸기"
@@ -4354,11 +4310,11 @@ msgstr "이름 바꾸기"
msgid "workspace.assets.rename-group"
msgstr "그룹 이름 바꾸기"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "에셋 검색"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "공유 라이브러리"
@@ -4367,43 +4323,43 @@ msgid "workspace.assets.sidebar.components"
msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "컴포넌트 %s개"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "정렬"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "타이포그래피"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "타이포그래피 추가"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "크기"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "글꼴 스타일"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "스타일 라이브러리 파일로 이동하여 편집"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "자간"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "행간"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "가나다"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "텍스트 변환"
@@ -4415,63 +4371,63 @@ msgstr "그룹 해제"
msgid "workspace.colorpicker.color-tokens"
msgstr "색상 token"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "컴포넌트는 자기 자신 안에 중첩될 수 없습니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "일부 복사본을 전환할 수 없습니다. 컴포넌트는 자기 자신 안에 중첩될 수 없습니다."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "영역 생성"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "보드 생성"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "셀 병합"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "오른쪽에 열 1개 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "왼쪽에 열 1개 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "열 삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "열 및 도형 삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "열 복제"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "아래에 행 1개 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "위에 행 1개 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "행 삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "행 및 도형 삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "행 복제"
@@ -4479,15 +4435,15 @@ msgstr "행 복제"
msgid "workspace.debug.title"
msgstr "디버깅 도구"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "포커스 모드"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "포커스 해제"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "포커스 설정"
@@ -4499,191 +4455,191 @@ msgstr "선형 그래디언트"
msgid "workspace.gradients.radial"
msgstr "방사형 그래디언트"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "동적 정렬 비활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "비율 유지 크기 조정 비활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "가이드 스냅 비활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "픽셀 스냅 비활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "눈금자 가이드 스냅 비활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "동적 정렬 활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "비율 크기 조절 활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "가이드에 스냅"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "픽셀 스냅 활성화"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "눈금자 가이드에 스냅"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "보드 이름 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "가이드 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "색상 팔레트 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "픽셀 그리드 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "눈금자 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "글꼴 팔레트 숨기기"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "편집"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "파일"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "도움말 및 정보"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "환경 설정"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "보기"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "다시 실행"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "모두 선택"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "보드 이름 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "가이드 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "색상 팔레트 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "픽셀 그리드 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "눈금자 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "글꼴 팔레트 표시"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "다크 테마로 전환"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "라이트 테마로 전환"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "시스템 테마로 전환"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "실행 취소"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "초기화"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "저장 오류"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "저장됨"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "저장 중"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "공유"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "보기 모드 (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "확대/축소"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "채우기 - 채우기 맞춤"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "맞추기 - 화면에 맞게 축소"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "전체 맞추기"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "전체 화면"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "선택 항목에 맞추기"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "그리드 편집"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "종료"
@@ -4691,7 +4647,7 @@ msgstr "종료"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "아래쪽 패딩"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4면 패딩 옵션 보기"
@@ -4727,28 +4683,28 @@ msgstr "완료"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "위치 찾기"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "그리드 레이아웃 위치 찾기"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "색상 %s개"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "라이브러리에 아직 색상 스타일이 없습니다"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "라이브러리에 아직 타이포그래피 스타일이 없습니다"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "파일 라이브러리"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "최근 색상"
@@ -4760,90 +4716,90 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "색상 스타일 저장"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "컴포넌트 %s개"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "연결됨:"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "또는 다음 중 하나를 추가해 보세요:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "팀에 공유 라이브러리가 없습니다. 여기서 찾아보세요"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "일부 템플릿 보기"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "파일 라이브러리"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "그래픽 %s개"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "이 파일의 라이브러리"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "라이브러리"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "라이브러리 업데이트"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "로딩 중…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "업데이트가 필요한 공유 라이브러리가 없습니다"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "\"%s\"에 대한 검색 결과가 없습니다"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "공유 라이브러리 검색"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "공유 라이브러리"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "라이브러리 연결"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "타이포그래피 %s개"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "라이브러리 연결 해제"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "업데이트"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "모든 변경 사항 보기"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "업데이트"
@@ -4879,107 +4835,107 @@ msgstr "블러 전환"
msgid "workspace.options.canvas-background"
msgstr "캔버스 배경"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "콘텐츠 클리핑"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "컴포넌트"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "주석"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "복사"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "주석 만들기"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "주석 편집"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "메인"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "컴포넌트 교체"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "이 라이브러리에 에셋이 아직 없습니다"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "연결 해제됨"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "충돌하는 베리언트 위치 찾기"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr "이 컴포넌트에 충돌하는 베리언트가 있습니다. 각 베리언트가 고유한 속성 조합을 갖도록 하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "중복된 베리언트 위치 찾기"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "일부 베리언트의 속성과 값이 동일합니다"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "이 베리언트들은 속성과 값이 동일합니다. 각각 고유하게 식별될 수 있도록 값을 조정하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "이 베리언트는 다른 베리언트와 속성 및 값이 동일합니다. 고유하게 식별될 수 있도록 값을 조정하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "일부 베리언트의 속성과 값이 동일합니다. 각각 고유하게 식별될 수 있도록 값을 조정하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr "이 컴포넌트에 이름이 유효하지 않은 베리언트가 있습니다. 올바른 형식을 따르세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "유효하지 않은 베리언트 위치 찾기"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "일부 베리언트의 이름이 유효하지 않습니다"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "유효하지 않은 베리언트 위치 찾기"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "이 베리언트들의 이름이 유효하지 않습니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "이 베리언트의 이름이 유효하지 않습니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "일부 베리언트의 이름이 유효하지 않습니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[속성]=[값], [속성]=[값]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "다음 구조를 사용해 보세요:"
@@ -5011,7 +4967,7 @@ msgstr "계층 수준이 동일합니다."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "그룹, 보드, 레이아웃은 동일한 것으로 간주됩니다."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "베리언트 연결 방식"
@@ -5055,11 +5011,11 @@ msgstr "위쪽"
msgid "workspace.options.constraints.topbottom"
msgstr "위아래"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "디자인"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "내보내기"
@@ -5067,36 +5023,36 @@ msgstr "내보내기"
msgid "workspace.options.export-multiple"
msgstr "선택 영역 내보내기"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "요소 %s개 내보내기"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "내보내기 추가"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "내보내기 제거"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "접미사"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "내보내기 완료"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "내보내는 중…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "내보내기 실패"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "내보내기가 예상보다 느립니다"
@@ -5112,7 +5068,7 @@ msgstr "채우기 추가"
msgid "workspace.options.fill.remove-fill"
msgstr "채우기 제거"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "콘텐츠에 맞게 보드 크기 조절"
@@ -5136,67 +5092,67 @@ msgstr "플로우 시작"
msgid "workspace.options.grid.auto"
msgstr "자동"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "열"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "색상"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "거터"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "높이"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "마진"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "기본값으로 설정"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "아래쪽"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "중앙"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "왼쪽"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "오른쪽"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "늘이기"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "위쪽"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "기본값 사용"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "너비"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "행"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "사각형"
@@ -5208,7 +5164,7 @@ msgstr "그룹 채우기"
msgid "workspace.options.group-stroke"
msgstr "그룹 선"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "가이드 추가"
@@ -5216,19 +5172,19 @@ msgstr "가이드 추가"
msgid "workspace.options.guides.remove-guide"
msgstr "가이드 제거"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "가이드"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "가이드 전환"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "높이"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "검사"
@@ -5444,107 +5400,107 @@ msgstr "인터랙션"
msgid "workspace.options.interactions.add-interaction"
msgstr "인터랙션 추가"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "색상"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "색상 번"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "색상 닷지"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "어둡게"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "차이"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "제외"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "하드 라이트"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "색조"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "밝게"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "광도"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "곱하기"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "보통"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "오버레이"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "채도"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "스크린"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "소프트 라이트"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "레이어 표시 전환"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "최대 높이"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "최대 너비"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "최소 높이"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "최소 너비"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "색상 더보기"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "라이브러리 색상 더보기"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "색상 token 더보기"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "불투명도"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "프로토타입"
@@ -5576,19 +5532,19 @@ msgstr "개별 반경 통합"
msgid "workspace.options.radius.show-single-corners"
msgstr "개별 반경 표시"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "최근"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "다시 시도"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "회전"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "글꼴 검색"
@@ -5596,7 +5552,7 @@ msgstr "글꼴 검색"
msgid "workspace.options.select-a-shape"
msgstr "도형, 보드 또는 그룹을 선택하여 다른 보드로 연결하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "선택 색상"
@@ -5664,55 +5620,55 @@ msgstr "그림자 전환"
msgid "workspace.options.show-fill-on-export"
msgstr "내보내기에 표시"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "보기 모드에서 표시"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "크기"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "크기 프리셋"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "비율 잠금"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "비율 잠금 해제"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "원"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "다이아몬드"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "화살표"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "없음"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "둥근"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "사각형"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "직사각형"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "삼각형"
@@ -5720,7 +5676,7 @@ msgstr "삼각형"
msgid "workspace.options.stroke-color"
msgstr "선 색상"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "선 두께"
@@ -5728,35 +5684,35 @@ msgstr "선 두께"
msgid "workspace.options.stroke.add-stroke"
msgstr "선 색상 추가"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "중앙"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "점선"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "점선"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "안쪽"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "혼합"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "바깥쪽"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "선 제거"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "단색"
@@ -5792,11 +5748,11 @@ msgstr "자동 너비"
msgid "workspace.options.text-options.grow-fixed"
msgstr "고정됨"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "자간"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "줄 높이"
@@ -5840,194 +5796,194 @@ msgstr "밑줄 (%s)"
msgid "workspace.options.use-play-button"
msgstr "헤더의 재생 버튼을 클릭해 프로토타입 보기를 실행하세요."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "너비"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X축"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y축"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "노드 그리기 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "노드 연결 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "직선으로 변환 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "곡선으로 변환 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "노드 병합 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "노드 이동 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "노드 분리 (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "노드 스냅 (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "열기"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "[더 많은 플러그인](%s) 찾아보기"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "아직 설치된 플러그인이 없습니다"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "플러그인 매니페스트가 올바르지 않습니다."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "이 플러그인을 사용하려면 편집자여야 합니다"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "플러그인이 존재하지 않거나 URL이 올바르지 않습니다."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "설치"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "설치된 플러그인"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "플러그인 관리자"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "플러그인"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "이 플러그인 업데이트"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "마지막으로 열었던 이후 플러그인이 수정되었습니다. 이제 다음에도 접근하려 합니다:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "파일 다운로드 시작."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "브라우저에 데이터를 저장합니다."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "댓글과 답글을 읽습니다."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "댓글을 읽고 수정하며 귀하의 이름으로 답글을 답니다."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "사용자가 접근할 수 있는 파일의 내용을 읽습니다."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "사용자가 접근할 수 있는 파일의 내용을 읽고 수정합니다."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"이 플러그인은 외부 개발자가 만들었습니다. 접근 권한을 부여하기 전에 신뢰할 수 있는지 확인하세요. 개인정보 보호 및 보안이 "
"중요합니다. 문의 사항은 지원팀에 연락하세요."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "라이브러리와 에셋을 읽습니다."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "라이브러리와 에셋을 읽고 수정합니다."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' 플러그인이 다음에 접근하려 합니다:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "현재 사용자의 프로필 정보를 읽습니다."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "플러그인 목록"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "플러그인 제거"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "플러그인 URL로 검색"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "플러그인"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "나중에"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr "살펴보시겠습니까? 현재 팀의 새 초안에서 열립니다. (그렇지 않으면 언제든지 파일의 설치된 플러그인에서 찾을 수 있습니다.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' 플러그인이 설치되었습니다!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "플러그인 사용해보기"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "플렉스 레이아웃 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "그리드 레이아웃 추가"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "레이아웃 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "베리언트 생성"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "새 속성 추가"
@@ -6039,7 +5995,7 @@ msgstr "맨 뒤로"
msgid "workspace.shape.menu.backward"
msgstr "뒤로"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "베리언트로 결합"
@@ -6047,7 +6003,7 @@ msgstr "베리언트로 결합"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "컴포넌트가 같은 페이지에 있어야 합니다"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "복사"
@@ -6083,27 +6039,27 @@ msgstr "텍스트로 복사"
msgid "workspace.shape.menu.create-annotation"
msgstr "주석 추가"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "선택 항목을 보드로"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "컴포넌트 생성"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "여러 컴포넌트 생성"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "잘라내기"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "삭제"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "플로우 시작 삭제"
@@ -6115,7 +6071,7 @@ msgstr "인스턴스 분리"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "인스턴스 모두 분리"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "차이"
@@ -6123,15 +6079,15 @@ msgstr "차이"
msgid "workspace.shape.menu.duplicate"
msgstr "복제복제"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "편집"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "제외"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "병합"
@@ -6143,7 +6099,7 @@ msgstr "좌우 반전"
msgid "workspace.shape.menu.flip-vertical"
msgstr "상하 반전"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "플로우 시작"
@@ -6155,31 +6111,31 @@ msgstr "앞으로"
msgid "workspace.shape.menu.front"
msgstr "맨 앞으로"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "그룹"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "숨기기"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "UI 표시/숨기기"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "교차"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "잠금"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "마스크"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "붙여넣기"
@@ -6187,27 +6143,27 @@ msgstr "붙여넣기"
msgid "workspace.shape.menu.paste-props"
msgstr "속성 붙여넣기"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "경로"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "플렉스 레이아웃 제거"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "그리드 레이아웃 제거"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "레이아웃 제거"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "속성 제거"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "베리언트는 최소한 하나의 속성을 가져야 합니다"
@@ -6231,11 +6187,11 @@ msgstr "베리언트 복원"
msgid "workspace.shape.menu.select-layer"
msgstr "레이어 선택"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "표시"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "에셋 패널에 표시"
@@ -6251,19 +6207,19 @@ msgstr "썸네일 제거"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "썸네일로 설정"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "그룹 해제"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "합집합"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "잠금 해제"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "마스크 해제"
@@ -6279,51 +6235,51 @@ msgstr "사이드바 접기"
msgid "workspace.sidebar.expand"
msgstr "사이드바 펼치기"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "히스토리"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "레이어"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "컴포넌트"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "필터"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "보드"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "그룹"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "이미지"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "마스크"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "레이어 검색"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "도형"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "가져온 SVG 속성"
@@ -6335,7 +6291,7 @@ msgstr "페이지"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "페이지 추가"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "사이트맵"
@@ -6355,7 +6311,7 @@ msgstr "이 그룹에 세트 추가"
msgid "workspace.tokens.add-token"
msgstr "token 추가: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "적용됨"
@@ -6375,7 +6331,7 @@ msgstr "기본 글꼴 크기"
msgid "workspace.tokens.base-font-size.error"
msgstr "기본 글꼴 크기는 픽셀 또는 단위가 없는 값이어야 합니다."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "색상"
@@ -6383,7 +6339,7 @@ msgstr "색상"
msgid "workspace.tokens.create-new-theme"
msgstr "첫 번째 테마를 만들어 보세요."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "하나 생성하기."
@@ -6403,7 +6359,7 @@ msgstr "테마 삭제"
msgid "workspace.tokens.duplicate"
msgstr "token 복제"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "복사"
@@ -6451,7 +6407,7 @@ msgstr "미리보기:"
msgid "workspace.tokens.export.single-file"
msgstr "단일 파일"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "글꼴 크기 또는 {alias} 입력"
@@ -6459,7 +6415,7 @@ msgstr "글꼴 크기 또는 {alias} 입력"
msgid "workspace.tokens.font-variant-not-found"
msgstr "글꼴 굵기/스타일 설정 오류. 현재 글꼴에 이 스타일이 없습니다"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "글꼴 굵기(300, Bold Italic 등) 또는 {alias} 입력"
@@ -6495,7 +6451,7 @@ msgstr "여러 파일의 경우 파일 이름/경로가 세트 이름입니다."
msgid "workspace.tokens.import-single-file"
msgstr "단일 JSON 파일에서 최상위 키는 token 세트 이름이어야 합니다."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "token 가져오기"
@@ -6503,15 +6459,15 @@ msgstr "token 가져오기"
msgid "workspace.tokens.import-warning"
msgstr "token을 가져오면 현재 token, 세트 및 테마가 모두 덮어써집니다."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "비활성"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr "이 세트가 활성화되지 않았습니다. 테마를 변경하거나 이 세트를 활성화하여 변경 사항을 확인하세요"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "개별 token 사용"
@@ -6531,11 +6487,11 @@ msgstr "테마"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "테마 추가 (예: 라이트)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "자간 또는 {alias} 입력"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "행간(배수, px, %) 또는 {alias} 입력"
@@ -6551,11 +6507,11 @@ msgstr "최대 크기"
msgid "workspace.tokens.min-size"
msgstr "최소 크기"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "누락된 참조"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "우클릭으로 옵션 보기"
@@ -6571,7 +6527,7 @@ msgstr "활성 테마 없음"
msgid "workspace.tokens.no-permisions-set"
msgstr "세트를 활성화 / 비활성화하려면 편집자여야 합니다"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "테마를 사용하려면 편집자여야 합니다"
@@ -6583,7 +6539,7 @@ msgstr "아직 정의된 세트가 없습니다. 먼저 하나를 만드세요."
msgid "workspace.tokens.no-sets-yet"
msgstr "아직 세트가 없습니다."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "테마가 없습니다."
@@ -6599,7 +6555,7 @@ msgstr "재매핑 안 함"
msgid "workspace.tokens.num-active-sets"
msgstr "활성 세트 %s개"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "원래 값: %s"
@@ -6611,11 +6567,11 @@ msgstr "패딩"
msgid "workspace.tokens.radius"
msgstr "반지름"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "타이포그래피 token 별칭 입력"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "그림자 token 별칭 입력"
@@ -6631,7 +6587,7 @@ msgstr "`%s`을 사용하는 모든 토큰을 `%s`로 재매핑하시겠습니
msgid "workspace.tokens.remap-warning-time"
msgstr "이 작업은 시간이 조금 걸릴 수 있습니다."
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "확인된 값: %s"
@@ -6663,27 +6619,27 @@ msgstr "여기서 1rem의 값을 정의하는 기본 글꼴 크기를 설정할
msgid "workspace.tokens.settings"
msgstr "token 설정"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "그림자 추가"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "블러"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "내부"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "그림자 제거"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "확산"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "블러 값은 음수일 수 없습니다"
@@ -6691,11 +6647,11 @@ msgstr "블러 값은 음수일 수 없습니다"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "확산 값은 음수일 수 없습니다"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -6703,11 +6659,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "크기"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "없음 | 대문자 | 소문자 | 각 단어 첫 글자 대문자 또는 {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "없음 | 밑줄 | 취소선 또는 {alias}"
@@ -6723,31 +6679,31 @@ msgstr "테마 목록"
msgid "workspace.tokens.token-description"
msgstr "설명"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "글꼴 모음 선택"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "글꼴 모음"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "글꼴 모음 또는 쉼표(,)로 구분된 글꼴 목록"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "이름"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "해당 경로에 이미 token이 있습니다: %s"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "이름은 최소 1자 이상이어야 합니다"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" 은(는) 유효한 token 이름이 아닙니다.\n"
@@ -6757,11 +6713,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "값"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "값 또는 {alias}를 사용한 별칭을 입력하세요"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "token - %s"
@@ -6777,11 +6733,11 @@ msgstr "가져오기가 성공적으로 완료되었습니다. 일부 token이
msgid "workspace.tokens.unknown-token-type-section"
msgstr "유형 '%s'가 지원되지 않습니다 (%s)"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "참조 사용"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "값이 유효하지 않습니다"
@@ -6789,55 +6745,55 @@ msgstr "값이 유효하지 않습니다"
msgid "workspace.toolbar.assets"
msgstr "에셋"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "색상 팔레트 (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "댓글 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "곡선 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "타원 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "보드 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "이미지 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "이동 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "경로 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "플러그인 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "직사각형 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "텍스트 (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "타이포그래피 (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "도구 모음 켜기/끄기"
@@ -6850,7 +6806,7 @@ msgstr "완료"
msgid "workspace.top-bar.view-only"
msgstr "**코드 검사 중** (보기 전용)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "아직 기록 변경사항이 없습니다"
@@ -6990,19 +6946,19 @@ msgstr "타이포그래피 에셋"
msgid "workspace.undo.entry.unknown"
msgstr "%s에 대한 작업"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "해제"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "자세히"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "공유 라이브러리에 업데이트가 있습니다"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "업데이트"
diff --git a/frontend/translations/lt.po b/frontend/translations/lt.po
index 5f3142a58e..a8a9265246 100644
--- a/frontend/translations/lt.po
+++ b/frontend/translations/lt.po
@@ -12,7 +12,7 @@ msgstr ""
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Jau turite paskyrą?"
@@ -30,7 +30,7 @@ msgstr ""
"Tai yra DEMONSTRACINĖ versija, NEKURKITE tikrų darbų, nes projektai "
"periodiškai - šalinami."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Pamiršote slaptažodį?"
@@ -38,27 +38,27 @@ msgstr "Pamiršote slaptažodį?"
msgid "auth.fullname"
msgstr "Vardas ir Pavardė"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Prisijungimas čia"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -78,7 +78,7 @@ msgstr "Paskyra yra nepatvirtinta, prieš tęsdami patikrinkite paskyrą."
msgid "auth.notifications.recovery-token-sent"
msgstr "Slaptažodžio atkūrimo nuoroda išsiųsta į jūsų pašto dėžutę."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Sėkmingai prisijungė prie komandos"
@@ -110,11 +110,11 @@ msgstr "Pamiršote slaptažodį?"
msgid "auth.recovery-submit"
msgstr "Slaptažodžio keitimas"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Dar neturite paskyros?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Sukurti paskyrą"
@@ -122,114 +122,114 @@ msgstr "Sukurti paskyrą"
msgid "auth.register-title"
msgstr "Sukurti paskyrą"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Paslaugų teikimo sąlygos"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Paskelbti"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Visi Penpot vartotojai"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Ar tikrai norite pašalinti šią nuorodą? Jei tai padarysite, ji niekam "
"nebebus pasiekiama"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(dabartinis)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Naikinti nuorodą"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Gauti nuorodą"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Nuoroda sėkmingai nukopijuota"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Valdyti leidimus"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "Bendrinamas 1 puslapis"
msgstr[1] "Bendrinami % puslapiai"
msgstr[2] "Bendrinama % puslapių"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Gali komentuoti"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Gali apžiūrėti kodą"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Kiekvienas, turintis nuorodą, turės prieigą"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Bendrinti puslapiai"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Bendrinama nuoroda bus rodoma čia"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Tik komandos nariams"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Dalinkitės prototipais"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Rinktis viską"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Atšaukti paskelbimą"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Komandos valdymas"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot yra skirtas komandoms. Pakvieskite narius bendram darbui su "
"projektais ir failais"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Suburkite komandą!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Pridėti kaip bendrinamą biblioteką"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Keisti el. paštą"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopija)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Sukurti naują komandą"
@@ -237,7 +237,7 @@ msgstr "Sukurti naują komandą"
msgid "dashboard.default-team-name"
msgstr "Jūsų Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Naikinti komandą"
@@ -249,60 +249,60 @@ msgstr "Dublikatas"
msgid "dashboard.duplicate-multi"
msgstr "Dubliuoti %s failus"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Eksportuokite darbalaukius į PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Eksportuoti į PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "Pasirinkta %s iš %s elementų"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Eksportuoti"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Galite pridėti eksportavimo nustatymus prie elementų iš dizaino ypatybių "
"(dešinės šoninės juostos apačioje)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informacija, kaip nustatyti eksportą \"Penpot\"."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Nėra elementų su eksporto nustatymais."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Eksportuoti pažymėtą sritį"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Šriftas ištrintas"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Atmesti visus"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Vis dar neįdiegėte tinkintų šriftų."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -312,7 +312,7 @@ msgstr ""
"šriftų šeima**. Galite įkelti šių formatų šriftus: **TTF, OTF ir WOFF** "
"(reikės tik vieno)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -322,75 +322,47 @@ msgstr ""
"galite paskaityti apie [šriftų "
"licencijavimą](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Įkelti viską"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importuokite Penpot failus"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oi! Nepavyko importuoti šio failo"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Kai kuriuose failuose buvo netinkamų objektų, kurie buvo pašalinti."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Apdorojimo spalvos"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Komponentų apdorojimas"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Apdorojamos laikmenos"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Apdorojamas puslapis: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Tipografijų apdorojimas"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Įkeliami duomenys į serverį (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Įkeliamas failas: %s"
-
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Naujas failas"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Naujas projektas"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Naujas projektas"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nerasta jokių atitikmenų pagal \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Prisegti projektai bus rodomi čia"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Jūsų el. pašto adresas sėkmingai atnaujintas"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Jūsų el. pašto adresas buvo sėkmingai patvirtintas"
@@ -398,7 +370,7 @@ msgstr "Jūsų el. pašto adresas buvo sėkmingai patvirtintas"
msgid "dashboard.notifications.password-saved"
msgstr "Slaptažodis sėkmingai išsaugotas!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s nariai"
@@ -406,7 +378,7 @@ msgstr "%s nariai"
msgid "dashboard.open-in-new-tab"
msgstr "Atidarykite failą naujame skirtuke"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Nustatymai"
@@ -414,19 +386,19 @@ msgstr "Nustatymai"
msgid "dashboard.password-change"
msgstr "Keisti slaptažodį"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Prisegti/Atsegti"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projektai"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Norite pašalinti paskyrą?"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Vartotojo sąsajos tema"
diff --git a/frontend/translations/lv.po b/frontend/translations/lv.po
index 33ab93be32..68098e7759 100644
--- a/frontend/translations/lv.po
+++ b/frontend/translations/lv.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Edgars Andersons \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Latvian "
" \n"
"Language: lv\n"
@@ -10,9 +10,9 @@ msgstr ""
"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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Jau ir konts?"
@@ -30,7 +30,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Aizmirsta parole?"
@@ -38,35 +38,35 @@ msgstr "Aizmirsta parole?"
msgid "auth.fullname"
msgstr "Pilns vārds"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Pieteikties manā kontā"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Pieteikties šeit."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "AtvērtoID (OpenID)"
@@ -88,7 +88,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Paroles atkopes saite ir nosūtīta e-pastā."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Pievienošanās komandai bija veiksmīga"
@@ -120,7 +120,7 @@ msgstr "Aizmirsta parole?"
msgid "auth.recovery-submit"
msgstr "Nomainīt paroli"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Vēl nav konta?"
@@ -134,7 +134,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Tavs vārds"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Izveidot kontu"
@@ -147,7 +147,7 @@ msgstr "Izveidot kontu"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Pakalpojumu sniegšanas noteikumi"
@@ -165,92 +165,92 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Netika atrasts neviens cilvēks @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicēt"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Visi Penpot lietotāji"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "Vai tiešām noņemt šo saiti? Noņemot to, saite vairs nebūs pieejama nevienam"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(pašreizējais)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Iznīcināt saiti"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Iegūt saiti"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Saite ir veiksmīgi nokopēta"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Pārvaldīt atļaujas"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "%s kopīgotu lapu"
msgstr[1] "%s kopīgota lapa"
msgstr[2] "%s kopīgotas lapas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Var komentēt"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Var apskatīt kodu"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Ikvienam, kam ir saite, būs piekļuve"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Kopīgotas lapas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Šeit tiks parādīta kopīgojama saite"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Tikai komandas dalībnieki"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Kopīgot prototipus"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Atlasīt visu"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Atcelt publikāciju"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Komandas pārvaldība"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot ir paredzēta komandām. Jāuzaicina dalībnieki, lai kopā strādātu ar "
"projektiem un datnēm"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Apvienojieties!"
@@ -258,23 +258,23 @@ msgstr "Apvienojieties!"
msgid "dashboard.add-file"
msgstr "Pievienot datni"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Pievienot kā koplietojamu bibliotēku"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Mainīt e-pasta adresi"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopija)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Izveidot jaunu komandu"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Piespraust šo versiju"
@@ -282,19 +282,19 @@ msgstr "Piespraust šo versiju"
msgid "dashboard.default-team-name"
msgstr "Mans Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Dzēst komandu"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Atkritne ir tukša. Izdzēstās datnes un projekti parādīsies šeit."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Tiks izdzēsts %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Lejupielādēt Penpot datni (.penpot)"
@@ -306,19 +306,19 @@ msgstr "Divkāršot"
msgid "dashboard.duplicate-multi"
msgstr "Divkāršot %s datnes"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Vēl nav neviena melnraksta."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
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/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Vēl nav nevienas datnes."
@@ -370,37 +370,37 @@ msgstr "Sākt veidot apbrīnojamas lietas"
msgid "dashboard.export-binary-multi"
msgstr "Lejupielādēt %s Penpot datnes (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Izgūt plātnes kā PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Izgūt kā PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "Atlasīti elementi - %s no %s"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Izgūt"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Izgūšanas iestatījumus elementiem var pievienot no noformējuma īpašībām "
"(labās sānjoslas apakšā)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informācija par to, kā iestatīt izgūšanu Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Nav elementu ar izgūšanas iestatījumiem."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Izgūt atlasi"
@@ -418,36 +418,36 @@ msgstr[0] "Atjaunot datnes"
msgstr[1] "Atjaunot datni"
msgstr[2] "Atjaunot datnes"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Trūkstošs fonts"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Noraidīt visu"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
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:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Vēl nav neviena pielāgota fonta."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -456,7 +456,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -465,11 +465,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Augšupielādēt visu"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -480,11 +480,11 @@ msgstr ""
"[Transfonter](https://transfonter.org/), lai izveidotu tīmekļa fontus un "
"novērstu kļūdas. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Ievietot Penpot datnes"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ak vai! Šo datni nevarēja ievietot"
@@ -492,26 +492,26 @@ msgstr "Ak vai! Šo datni nevarēja ievietot"
msgid "dashboard.import.bad-url"
msgstr "Ievietošana neizdevās. Sagataves URL ir nepareizs"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Ne visas datnes tika ievietotas"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Šajās datnēs ir kļūdas:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Datnes ar kļūdām netiks augšupielādētas."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Dažās datnēs bija nederīgi objekti, kuri tika noņemti."
@@ -519,75 +519,47 @@ msgstr "Dažās datnēs bija nederīgi objekti, kuri tika noņemti."
msgid "dashboard.import.no-perms"
msgstr "Nav atļaujas ievietot šajā komandā"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Krāsu apstrāde"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Apstrādā sastāvdaļas"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Multivides apstrāde"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "%s lapas apstrāde"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Apstrādā burtu stilus un veidus"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Augšupielādē datus serverī (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Augšupielādē datni: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Tu grasies izdzēst uzaicinājumus:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Tu grasies atkārtoti nosūtīt uzaicinājumus:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Izdzēst uzaicinājumus"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Atkārtoti nosūtīt uzaicinājumus"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Uzaicināt personas"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Atstāt komandu"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotēkas un veidnes"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "Šeit ir dažas bibliotēkas un sagataves, kuras var pievienot savam projektam"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotēkas"
@@ -595,7 +567,7 @@ msgstr "Bibliotēkas"
msgid "dashboard.loading-files"
msgstr "ielādē datnes …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "notiek fontu ielāde …"
@@ -615,39 +587,39 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Jauna datne"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Jauna datne"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Jauns projekts"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Jauns projekts"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "“%s” nav atrasta neviena atbilstība"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Šeit būs redzami piespraustie projekti"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Paziņojumi"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "E-pasta adrese tika veiksmīgi atjaunināta"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "E-pasta adrese tika veiksmīgi apliecināta"
@@ -659,11 +631,11 @@ msgstr "Paziņojumu iestatījumi atjaunināti"
msgid "dashboard.notifications.password-saved"
msgstr "Parole ir veiksmīgi saglabāta."
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Apskatīt paziņojumus"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "Dalībieki: %s"
@@ -671,15 +643,15 @@ msgstr "Dalībieki: %s"
msgid "dashboard.open-in-new-tab"
msgstr "Atvērt datni jaunā cilnē"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opcijas"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Kārtot pēc lomas"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Kārtot pēc stāvokļa"
@@ -703,7 +675,7 @@ msgstr "Tu tagad esi šīs komandas īpašnieks."
msgid "dashboard.permissions-change.viewer"
msgstr "Tev tagad šajā komandā ir skatīšanās tiesības."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Piespraust/Atspraust"
@@ -719,11 +691,11 @@ msgstr "Nevar apstrādāt spraudņa manifestu"
msgid "dashboard.plugins.try-plugin"
msgstr "Izmēģināt spraudni: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekti"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Noņemt savu kontu?"
@@ -731,35 +703,35 @@ msgstr "Noņemt savu kontu?"
msgid "dashboard.removed-from-team"
msgstr "Tu vairs neesi daļa no komandas \"%s\"."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Saglabāt iestatījumus"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Meklēt…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Meklē pēc “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Atlasīt saskarnes valodu"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Atlasīt dizainu"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot tumšs (noklusējuma)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot gaišs"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Sistēmas izskats"
@@ -823,11 +795,11 @@ msgstr "Atjaunināt iestatījumus"
msgid "dashboard.settings.notifications.title"
msgstr "Paziņojumi"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Rādīt visas datnes"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Versiju vēsture"
@@ -853,7 +825,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Datne tika sekmīgi pārvietota"
@@ -865,90 +837,90 @@ msgstr "Datnes tika veiksmīgi pārvietotas"
msgid "dashboard.success-move-project"
msgstr "Projekts tika veiksmīgi pārvietots"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Par komandu"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Komandas dalībnieki"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Komandas projekti"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Pievienot savam projektam"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Saskarnes dizains"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Meklēšanas rezultāti"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Jāievada, lai meklētu"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Atcelt bibliotēkas publicēšanu"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Atjaunināt iestatījumus"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Ir aktīvs"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Kad tiks aktivizēts āķis, notikuma detaļas tiks piegādātās"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Var izdzēst vai mainīt tikai paša izveidotās tīmekļa aizķeres."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Satura tips"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Izveidot tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Tīmekļa aizķere ir veiksmīgi izveidota."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Tīmekļa aizķeres ir vienkāršs veids, kā ļaut citām tīmekļa vietnēm un "
"lietotnēm saņemt paziņojumus, kad Penpot notiek noteikti notikumi. Mēs "
"nosūtīsim POST pieprasījumu katram norādītajam URL."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Jānospiež poga \"Pievienot tīmekļa aizķeri\", lai pievienotu kādu."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Līdz šim nav izveidota neviena tīmekļa aizķere."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Mans konts"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-pasta adrese"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Vārds"
@@ -964,11 +936,11 @@ msgstr "Uzmanību"
msgid "ds.component-subtitle"
msgstr "Atjaunināmās sastāvdaļas:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Ļaut"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Atcelt"
@@ -988,7 +960,7 @@ msgstr "Aktīvajās kopās vai izskatos nav pielietojamu tekstvienību."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Netika atrasts nekas atbilstošs."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Atvērt tekstvienību sarakstu"
@@ -1000,15 +972,15 @@ msgstr "Autentificēšanās nodrošinātājs nav atļauts šim profilam"
msgid "errors.auth-provider-not-configured"
msgstr "Autentificēšanāš nodrošinātājs nav konfigurēts."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Šķiet, ka neesi autentificējies vai ir beidzies sesijas derīgums."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Fontu %s nevarēja ielādēt"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Fontus %s nevarēja ielādēt"
@@ -1020,41 +992,41 @@ msgstr "Nevar augšupielādēt multivides datni."
msgid "errors.character-limit-exceeded"
msgstr "Pārsniegts rakstzīmju skaita ierobežojums"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Izmantotais pārlūks nevar veikt šo darbību"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Bija kļūda saistībā ar piebildi"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Atvainojamies! Šī ir veca datne, kas izmanto novecojušu Penpot līdzekļu "
"veidu, un to nevar atvērt."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "lai mēs varētu palīdzēt."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Lai arī Penpot vairs neatbalsta šo līdzekļu veidu, Tu vari"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "sazināties ar mums,"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Nevar nomest vecāka kopu paša bērna ceļā."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-pasta adrese jau tiek izmantota"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-pasta adrese jau ir apliecināta."
@@ -1066,29 +1038,29 @@ msgstr "E-pastu nevar izmantot kā paroli"
msgid "errors.email-does-not-match-invitation"
msgstr "E-pasta adrese neatbilst uzaicinājumā esošajai."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domēns nav atļauts"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "E-pastam “%s” ir daudz pastāvīgu atlēcienu atskaišu."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "E-pasta adrese “%s” ir atzīmēta surogātpasts vai pastāvīgi saņem atlēcienu."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Šķiet, ka tiek atvērta datne, kurā ir iespējota iespēja '%s', bet "
"pašreizējā Penpot versija to neatbalsta vai tā ir atspējota."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Līdzeklis '%s' netiek atbalstīts."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Jāsatur ne vairāk par %s rakstzīmēm."
@@ -1096,7 +1068,7 @@ msgstr "Jāsatur ne vairāk par %s rakstzīmēm."
msgid "errors.field-min-length"
msgstr "Jāsatur vismaz vienu rakstzīmi."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Tukšs lauks"
@@ -1104,18 +1076,18 @@ msgstr "Tukšs lauks"
msgid "errors.field-not-all-whitespace"
msgstr "Nosaukumam jāsatur kādu citu rakstzīmi bez atstarpes."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Izskatās, ka ir nesaderība starp iespējotajām iespējām un iespējām datnē, "
"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:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Noticis kaut kas nelāgs."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Kaut kas nogāja greizi ar tīmekļa strādni."
@@ -1131,7 +1103,7 @@ msgstr "Nederīgi dati"
msgid "errors.invalid-email"
msgstr "Lūgums ievadīt derīgu e-pasta adresi"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Apstiprinājuma e-pastam jāatbilst"
@@ -1155,11 +1127,11 @@ msgstr "Iespējams, ka šis uzaicinājums ir atcelts vai ir beidzies tā derīgu
msgid "errors.ldap-disabled"
msgstr "LDAP autentifikācija ir atspējota."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Ir sasniegts '%s' ierobežojums. Jāsazinās ar atbalstu."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Sasniegts lielākais pieļaujamais e-pasta adrešu skaits (%s), ko var "
@@ -1177,21 +1149,21 @@ msgstr "Šķiet, ka attēla saturs neatbilst datnes paplašinājumam."
msgid "errors.media-type-not-allowed"
msgstr "Šķiet, ka šis nav derīgs attēls."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Uzaicinātajam profilam ir apklusināta e-pasta saņemšana (ziņojumi par "
"surogātpastu vai daudz atlēcienu)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Notiek pārcelšana"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Tikai versijas izveidotājs var to aizslēgt"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Tikai versijas izveidotājs var to atslēgt"
@@ -1203,7 +1175,7 @@ msgstr "Apstiprinājuma parolei ir jāsakrīt"
msgid "errors.password-too-short"
msgstr "Parolē ir jābūt vismaz 8 rakstzīmēm"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Starpliktuvē ir nederīgi dati"
@@ -1211,7 +1183,7 @@ msgstr "Starpliktuvē ir nederīgi dati"
msgid "errors.profile-blocked"
msgstr "Profils ir bloķēts"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Profila epasta saņemšana ir apklusināta (ziņojumi par surogātpastu vai "
@@ -1221,25 +1193,25 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Reģistrācija pašlaik ir atspējota."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG ir nederīgs vai bojāts"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Noteikta nesaderīga iespēja '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Komandā ir nepietiekams dalībnieku skaits, lai to pamestu. Iespējams, ka to "
"ir vēlams izdzēst."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Dalībnieks, kuru mēģināt piešķirt, nepastāv."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Īpašnieks nevar pamest komandu, ir jāpiešķir īpašnieka loma citam."
@@ -1247,11 +1219,11 @@ msgstr "Īpašnieks nevar pamest komandu, ir jāpiešķir īpašnieka loma citam
msgid "errors.token-set-already-exists"
msgstr "Jau pastāv kopa ar tādu pašu nosaukumu"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "Nevar pabeigt nomešanu, ceļā jau pastāv kopa ar tādu pašu nosaukumu."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Pastāv izskata iespēja ar tādu pašu nosaukumu"
@@ -1286,11 +1258,11 @@ msgstr ""
"Tekstvienību nosaukumos var būt tikai burti un cipari, kas atdalīti ar "
"rakstzīmi \".\", un tie nedrīkst sākties ar zīmi \"$\"."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Nederīga tekstvienības vērtība: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Trūkst tekstvienību atsauces: "
@@ -1298,19 +1270,19 @@ msgstr "Trūkst tekstvienību atsauces: "
msgid "errors.tokens.number-too-large"
msgstr "Nederīga tekstvienības vērtība. Aprēķinātā vērtība ir pārāk liela: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Necaurspīdīgumam ir jābūt starp 0 un 100 % vai 0 un 1 (piem., 50% jeb 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Tekstvienībai ir atsauce uz sevi"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Vilkuma platumam ir jābūt vienādam vai lielākam par 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Nederīga vērtība: mērvienības nav atļautas."
@@ -1318,47 +1290,47 @@ msgstr "Nederīga vērtība: mērvienības nav atļautas."
msgid "errors.unexpected-error"
msgstr "Atgadījās neparedzēta kļūda."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Nezināma tekstvienība"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Šī versija jau ir aizslēgta"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Šī versija ir aizslēgta, un citi to nevar izdzēst"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Datnei ir nesaderīgs versijas numurs"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Savienojuma kļūda, URL nav sasniedzams"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL neiztur pārbaudi."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Pēdējā piegāde nebija veiksmīga."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Kļūda SSL pārbaudē."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Noilgums"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Pārbaudes laikā atgadījās neparedzēta kļūda"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Neparedzēts statuss %s"
@@ -1378,17 +1350,17 @@ msgstr "Apraksts"
msgid "feedback.description-placeholder"
msgstr "Lūgums aprakstīt atgriezeniskās saites iemeslu"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Mēs esam priecīgi Tevi šeit redzēt. Ja ir nepieciešama palīdzība, lūgums "
"meklēt pirms ieraksta veikšanas."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot kopiena"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Citi veidi, kā ar mums sazināties"
@@ -1413,11 +1385,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Sazināties ar mums"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Šeit, lai palīdzētu ar tehniskajiem jautājumiem."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X atbalsta konts"
@@ -1469,7 +1441,7 @@ msgstr "Lejupielādēt avota attēlu"
msgid "inspect.attributes.shadow"
msgstr "Ēna"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Izmērs un novietojums"
@@ -1477,39 +1449,27 @@ msgstr "Izmērs un novietojums"
msgid "inspect.attributes.stroke"
msgstr "Vilkums"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centrs"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Iekšpuse"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Ārpuse"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Burtu stils un veids"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Fontu saime"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Fonta izmērs"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Fonta stils"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Burtu atstarpes"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Līnijas augstums"
@@ -1521,11 +1481,11 @@ msgstr "Nav"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Pasvītrojums"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Virsraksta stils"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Mazie burti"
@@ -1537,7 +1497,7 @@ msgstr "Nav"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Atiestatīt"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Lielie burti"
@@ -1631,43 +1591,43 @@ msgstr "Ievietot starpliktuvē"
msgid "inspect.tabs.styles.toggle-style"
msgstr "Pārslēgt paneli %s"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Atzīmēt visu kā izlasītu"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Saīsnes"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Pieņemt"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktīvs"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Pievienot"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Pievienot pielāgotu fontu"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Pievieno..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Pārvaldnieks"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Visi"
@@ -1675,29 +1635,29 @@ msgstr "Visi"
msgid "labels.and"
msgstr "un"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Atpakaļ"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Izskatās, ka mazliet jāuzgaida un jāmēģina vēlreiz; mēs veicam nelielus "
"mūsu serveru uzturēšanas darbus."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Nepareiza vārteja"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Atcelt"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Aizvērt"
@@ -1705,7 +1665,7 @@ msgstr "Aizvērt"
msgid "labels.code"
msgstr "Kods"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Sakļaut"
@@ -1713,11 +1673,11 @@ msgstr "Sakļaut"
msgid "labels.comment"
msgstr "Piebilde"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komentāri"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Kopiena"
@@ -1729,11 +1689,11 @@ msgstr "Aprēķinātās"
msgid "labels.confirm-password"
msgstr "Apstiprināt paroli"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Turpināt"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Varat turpināt ar Penpot kontu"
@@ -1745,27 +1705,27 @@ msgstr "Ievietot starpliktuvē"
msgid "labels.copy-color"
msgstr "Ievietot krāsu starpliktuvē"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopēt saiti"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Izveidot"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Izveidot jaunu komandu"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Jāievada jaunās komandas nosaukums"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Pārskata panelis"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Dzēst"
@@ -1777,7 +1737,7 @@ msgstr "Dzēst komentāru"
msgid "labels.delete-comment-thread"
msgstr "Dzēst pavedienu"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Dzēst uzaicinājumu"
@@ -1785,15 +1745,15 @@ msgstr "Dzēst uzaicinājumu"
msgid "labels.delete-multi-files"
msgstr "Izdzēst %s datnes"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Izstrādātājs"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Atmest"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Melnraksti"
@@ -1801,27 +1761,27 @@ msgstr "Melnraksti"
msgid "labels.duplicate"
msgstr "Pavairot"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Labot"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Redaktors"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Tukšs"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Kļūda"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Beidzies derīgums"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Izgūt"
@@ -1833,55 +1793,55 @@ msgstr "Atsauksme atspējota"
msgid "labels.feedback-sent"
msgstr "Atsauksme nosūtīta"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Fontu saime"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stili"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fonti"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHub repozitorijs"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Sniegt atsauksmi"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Atpakaļ"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafiskais dizains"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Palīdzības centrs"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Paslēpt"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Paslēpt atrisinātos komentārus"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Ievietot"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Neaktīvs"
@@ -1889,31 +1849,31 @@ msgstr "Neaktīvs"
msgid "labels.info"
msgstr "Infomācija"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Instalētie fonti"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Iekšēja kļūda"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Uzaicinājumi"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Valoda"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotēkas un veidnes"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Lādē…"
@@ -1921,7 +1881,7 @@ msgstr "Lādē…"
msgid "labels.lock"
msgstr "Aizslēgt"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Pieteikties vai reģistrēties"
@@ -1929,19 +1889,19 @@ msgstr "Pieteikties vai reģistrēties"
msgid "labels.login"
msgstr "Pieteikties"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Atteikties"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Tirgvedība"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Dalībnieks"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Dalībnieki"
@@ -1953,45 +1913,45 @@ msgstr "Pieminēt"
msgid "labels.new-password"
msgstr "Jaunā parole"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Nākamais"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Jūs esat pieķerti! Šeit tiks parādīti jaunu komentāru paziņojumi."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Nav gaidošu uzaicinājumu."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Sapulcē savus cilvēkus, un kopā radiet lieliskas lietas!"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Paziņojumi"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "0 datņu"
msgstr[1] "%s datne"
msgstr[2] "%s datnes"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s plātņu"
msgstr[1] "%s plātne"
msgstr[2] "%s plātnes"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "0 projektu"
@@ -2002,31 +1962,31 @@ msgstr[2] "%s projekti"
msgid "labels.old-password"
msgstr "Vecā parole"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Iespējas"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Cits (jānorāda)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Cits"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Īpašnieks"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Parole"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Gaidīšana"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Piepsraustie projekti"
@@ -2034,23 +1994,23 @@ msgstr "Piepsraustie projekti"
msgid "labels.post"
msgstr "Ieraksts"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Iepriekšējais"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Produktu vai lietotāju pieredzes dizains"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Produktu vadība"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profils"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekti"
@@ -2058,23 +2018,23 @@ msgstr "Projekti"
msgid "labels.refresh"
msgstr "Atsvaidzināt"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Laidiena apraksts"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Noņemt"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Noņemt dalībnieku"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Pārdēvēt"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Pārdēvēt grupu"
@@ -2098,7 +2058,7 @@ msgstr "jauna atbilde"
msgid "labels.reply.thread"
msgstr "Atbildēt"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Nosūtīt uzaicinājumu vēlreiz"
@@ -2106,43 +2066,43 @@ msgstr "Nosūtīt uzaicinājumu vēlreiz"
msgid "labels.restore"
msgstr "Atjaunot"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Pamēģināt vēlreiz"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Loma"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Saglabāt"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Meklēt"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Meklēt fontu"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Atlasīt iespēju"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Nosūtīt"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Nosūtīšana…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Mēs esam ieplānotos sistēmu uzturēšanas darbos."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Pakalpojums nav pieejams"
@@ -2150,67 +2110,67 @@ msgstr "Pakalpojums nav pieejams"
msgid "labels.sets"
msgstr "Kopas"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Iestatījumi"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Kopīgot"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotēkas"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Parādīt"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Rādīt visus komentārus"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Rādīt komentāru sarakstu"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Rādīt tikai manas pieminēšanas"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Rādīt tikai manas piebildes"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Avoti"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Sākt"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Statuss"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Students vai pasniedzējs"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Izskati"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Pamācības"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Nezināma kļūda"
@@ -2222,23 +2182,23 @@ msgstr "Atslēgt"
msgid "labels.unpublish-multi-files"
msgstr "Atcelt %s datņu publicēšanu"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Atjaunināt"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Atjaunināt komandu"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Augšupielādēt"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Augšupielādēt pielāgotos fontus"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Augšupielādē…"
@@ -2246,11 +2206,11 @@ msgstr "Augšupielādē…"
msgid "labels.view-only"
msgstr "TIKAI SKATĪT"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Pārlūks"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Tīmekļa aizķeres"
@@ -2258,11 +2218,11 @@ msgstr "Tīmekļa aizķeres"
msgid "labels.write-new-comment"
msgstr "Rakstīt jaunu komentāru"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(Jūs)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Mans konts"
@@ -2399,61 +2359,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Pievienot “%s” kā koplietojamu bibliotēku"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Liela nobīde"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Apstiprināt jauno e-pasta adresi"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Mēs nosūtīsim e-pasta ziņojumu uz pašreizējo e-pasta adresi “%s”, lai "
"pārbaudītu identitāti."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Jauna e-pasta adrese"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Mainīt e-pasta adresi"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "E-pasta maiņa"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Izveidot tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Izveidot tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Vērtuma URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Atcelt un paturēt manu kontu"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Jā, dzēst manu kontu"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Pēc konta noņemšanas tiks zaudēti visi pašreizējie projekti un arhīvi."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Vai tiešām izdzēst savu kontu?"
@@ -2501,29 +2461,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Fonta stila dzēšana"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Fonta dzēšana"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Vai tiešām izdzēst šo lapu?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Dzēst lapu"
@@ -2539,35 +2499,35 @@ msgstr "Vai tiešām izdzēst šo projektu?"
msgid "modals.delete-project-confirm.title"
msgstr "Dzēst projektu"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Nav izdzēšamu datņu"
msgstr[1] "Izdzēst datni"
msgstr[2] "Izdzēst datnes"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Tie nav aktivēti nevienā datnē."
msgstr[1] "Tas nav aktivēts nevienā datnē."
msgstr[2] "Tie nav aktivēti nevienā datnē."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Šīs bibliotēkas ir aktivētas šeit: "
msgstr[1] "Šī bibliotēka ir aktivēta šeit: "
msgstr[2] "Šīs bibliotēkas ir aktivētas šeit: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Nav izdzēšamu datņu"
msgstr[1] "Vai tiešām izdzēst šo datni?"
msgstr[2] "Vai tiešām izdzēst šīs datnes?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Nav izdzēšamu datņu"
@@ -2588,19 +2548,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Notiek komandas dzēšana"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Dzēst dalībnieku"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Vai tiešām izdzēst šo dalībnieku no komandas?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Dzēst komandas dalībnieku"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2613,170 +2573,170 @@ msgstr[2] ""
"Līdzekļi, kas jau tiek izmantoti šajā datnē, paliks tajā (dizains netiks "
"salauzts)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Izdzēst tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Vai tiešām izdzēst šo tīmekļa aizķeri?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Notiek tīmekļa aizķeres izdzēšana"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Labot tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Labot tīmekļa aizķeri"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Nosūtīt uzaicinājumu"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-pasta ziņojumi, atdalīti ar komatiem"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Daži dalībnieki jau ir komandā. Mēs uzaicināsim pārējos."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Komandā var uzaicināt dalībniekus, lai viņi varētu piekļūt šai un citām "
"komandas datnēm."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Uzaicināt dalībniekus uz komandu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Tā kā esi šīs komandas vienīgais dalībnieks, tā tiks izdzēsta līdz ar tās "
"projektiem un datnēm."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Vai tiešām pamest komandu %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Nevar pamest komandu, ja nav cita dalībnieka, ko norādīt kā īpašnieku. "
"Iespējams, ka komandu ir vēlams izdzēst."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Tu esi šīs komandas īpašnieks. Lūgums pirms pamešanas atlasīt citu "
"dalībnieku, lai to norādītu kā īpašnieku."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Nozīmēt un pamest"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Atlasīt dalībnieku, ko nozīmēt"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Pirms pamešanas"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Pamest komandu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Vai tiešām pamest šo komandu?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Komandas pamešana"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Pārvietot"
msgstr[1] "Pārvietot"
msgstr[2] "Pārvietot"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Vai tiešām pārvietot šīs bibliotēkas?"
msgstr[1] "Vai tiešām pārvietot šīs bibliotēkas?"
msgstr[2] "Vai tiešām pārvietot šīs bibliotēkas?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Pārvietot bibliotēkas"
msgstr[1] "Pārvietot bibliotēkas"
msgstr[2] "Pārvietot bibliotēkas"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Nobīdes apjoms"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Nodot īpašumtiesības"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Ja tiks nodotas īpašumtiesības, ieņemamā loma tiks nomainīta uz "
"\"Pārvaldnieks\", zaudējot dažas atļaujas šajā komandā. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Tu esi šīs komandas pašreizējais īpašnieks. Vai tiešām iecelt %s par jauno "
"komandas īpašnieku?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Jauns komandas īpašnieks"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publicēt"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publicēt tukšu bibliotēku"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Maza nobīde"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Nav atlases"
msgstr[1] "Atcelt publicēšanu"
msgstr[2] "Atcelt publicēšanu"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Nav izvēlēta neviena bibliotēka"
msgstr[1] "Vai tiešām atcelt šīs bibliotēkas publicēšanu?"
msgstr[2] "Vai tiešām atcelt šo bibliotēku publicēšanu?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Atcelt bibliotēkas publicēšanu"
@@ -2801,11 +2761,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Atjaunināt sastāvdaļu koplietojamā bibliotēkā"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Šī lapa nepastāv"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 kļūda"
@@ -2825,11 +2785,11 @@ msgstr ""
"Jāpārbauda savs e-pasts un jāklikšķina uz saites, lai izveidotu jaunu "
"paroli."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Reģistrēties bez maksas"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "un sāc izmantot Penpot dažu sekunžu laikā!"
@@ -2837,67 +2797,67 @@ msgstr "un sāc izmantot Penpot dažu sekunžu laikā!"
msgid "not-found.made-with-love"
msgstr "Izstrādāts ar MĪLESTĪBU un atvērta pirmkoda"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Jau ir pieprasīta piekļuve šai datnei."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Jau ir pieprasīta piekļuve šai datnei vai šīs komandas citām datnēm vai "
"projektiem."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Tu jau pieprasīji piekļuvi šim projektam vai šīs komandas citiem projektiem "
"vai datnēm."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Tu jau pieprasīji piekļuvi šim projektam."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "PIEPRASĪT PIEKĻUVI"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Jāatceras, ka, ja īpašnieks to ļauj, tiksi uzaicināts pievienoties komandai."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Pieprasījums tika veiksmīgi nosūtīts."
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Nav piekļuves šai datnei."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Doties uz savu Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Ja īpašnieks to ļauj, tiksi uzaicināts pievienoties komandai."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot datne"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Nav piekļuves šim projektam."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJEKTS"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Lai piekļūtu šai datnei, jāvaicā komandas īpašniekam."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Lai piekļūtu šim projektam, jāvaicā komandas īpašniekam."
@@ -2911,23 +2871,23 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Ir pieejama jauna versija."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Uzaicinājums veiksmīgi nosūtīts"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Uzaicinājuma saite nokopēta"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Profilu nevar izdzēst. Pirms turpināšanas jāpiešķir savas komandas citiem."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profils ir veiksmīgi saglabāts."
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr ""
"Patiesuma pārbaudes e-pasta ziņojums tika nosūtīts uz %s. Jāpārbauda savs "
@@ -2961,78 +2921,78 @@ msgstr ""
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Izveidot komandu"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Uzaicināt dalībniekus"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Uzaicināt ar lomu:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Ķeramies pie darba!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Īsta koda izveidošana no dizainiem"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Dizaina sistēmu izveidošana"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipēšana"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Izstrādāt lietotnes lietotāju saskarni/pieredzi"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Karkasattēlošana"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Kādam nolūkam Penpot tiks izmantota?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Ļauj mums mazliet uzzināt par Tevi, lai palīdzētu mums panākt, lai Penpot "
"Tev darbojas. Tavas atbildes palīdzēs mums noteikt svarīgas iespējas un "
"norādīt Tev īsto uzsākšanas virzienu."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Palīdzi mums Tevi iepazīt"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Kuru no šiem rīkiem Tu izmanto visvairāk?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Kāda veida darbu veic?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Pastāsti mums par savu darbu"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Kur Tu vēlētos sākt?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Izglītība"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Savām vajadzībām"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Darbs"
@@ -3086,11 +3046,11 @@ msgstr "{%s} tekstvienība nepastāv vai ir izdzēsta."
msgid "profile.recovery.go-to-login"
msgstr "Doties uz pieteikšanos"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Atdalīt"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Jaukts"
@@ -3102,35 +3062,35 @@ msgstr "Noņemt krāsu"
msgid "settings.select-this-color"
msgstr "Atlasīt vienumus, kas izmanto šo stilu"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komentāri"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Līdzināt pie apakšas"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Līdzināt vidū līmeniski"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Līdzināt pie kreisās malas"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Līdzināt pa labi"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Līdzināt pie augšas"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Līdzināt vidū stateniski"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Izveidot plātni no atlases"
@@ -3138,51 +3098,51 @@ msgstr "Izveidot plātni no atlases"
msgid "shortcuts.bold"
msgstr "Pārslēgt treknrakstu"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Būla starpība"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Būla izslēgšana"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Būla krustošanās"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Būla apvienošana"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Sūtīt uz aizmuguri"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Sūtīt atpakaļ"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Virzīt uz priekšu"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Izvirzīt priekšā"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Iztīrīt atsaukšanu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopēt"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Ievietot saiti starpliktuvē"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Ievietot īpašības starpliktuvē"
@@ -3190,35 +3150,35 @@ msgstr "Ievietot īpašības starpliktuvē"
msgid "shortcuts.create-new-project"
msgstr "Izveidot jaunu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Izgriezt"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Tālināt"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Dzēst"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Dzēst mezglu"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Atdalīt sastāvdaļu"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Līkne"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Plātne"
@@ -3226,39 +3186,39 @@ msgstr "Plātne"
msgid "shortcuts.draw-nodes"
msgstr "Zīmēt ceļu"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Ceļš"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Taisnstūris"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Teksts"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Divkāršot"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Atcelt"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Izgūt apveidus"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Tālummainīt, lai ietilpinātu visu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Apvērst līmeniski"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Apvērst stateniski"
@@ -3282,23 +3242,23 @@ msgstr "Doties uz koplietojamām bibliotēkām"
msgid "shortcuts.go-to-search"
msgstr "Meklēt"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Apkopot"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Izkliedēt līmeniski"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Rādīt / paslēpt lietotāja saskarni"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Tuvināt"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Ievietot attēlu"
@@ -3306,7 +3266,7 @@ msgstr "Ievietot attēlu"
msgid "shortcuts.italic"
msgstr "Pārslēgt slīprakstu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Savienot mezglus"
@@ -3314,39 +3274,39 @@ msgstr "Savienot mezglus"
msgid "shortcuts.line-through"
msgstr "Pārslēgt svītrojumu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Izveidot stūri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Izveidot līkni"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maska"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Sapludināt mezglus"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Pārvietot"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Strauji pārvietot uz leju"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Strauji pārvietot pa kreisi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Strauji pārvietot pa labi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Strauji pārvietot uz augšu"
@@ -3354,333 +3314,333 @@ msgstr "Strauji pārvietot uz augšu"
msgid "shortcuts.move-nodes"
msgstr "Pārvietot mezglu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Pārvietot uz leju"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Pārvietot pa kreisi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Pārvietot pa labi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Pārvietot uz augšu"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Nākamā plātne"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Saīsnes nav atrastas"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Iestatīt necaurspīdīgumu uz 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Iestatīt necaurspīdīgumu uz 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Iestatīt necaurspīdīgumu uz 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Iestatīt necaurspīdīgumu uz 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Iestatīt necaurspīdīgumu uz 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Iestatīt necaurspīdīgumu uz 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Iestatīt necaurspīdīgumu uz 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Iestatīt necaurspīdīgumu uz 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Iestatīt necaurspīdīgumu uz 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Iestatīt necaurspīdīgumu uz 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Krāsu atlasītājs"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Atvērt pārlūka komentāru sadaļu"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Doties uz pārskata paneli"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Doties uz skatītāja apskatīšanas sadaļu"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Doties uz skatītāja mijiedarbības sadaļu"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Doties uz skatītāja mijiedarbības sadaļu"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Doties uz darbvietu"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " vai "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Ielīmēt"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Ielīmēt īpašības"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Spraudņu pārvaldnieks"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Iepriekšējā plātne"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Atatsaukt"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Pārdēvēt"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Atiestatīt tālummaiņu"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Mērogot"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Pamati"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Pārskata panelis"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Pārlūks"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Darbvieta"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Atlasīt visu"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Atlasīt nākamo slāni"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Atlasīt vecākslāni"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Atlasīt iepriekšējo slāni"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Atdalīt mezglus"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Rādīt/paslēpt pikseļu režģi"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Rādīt/paslēpt saīsnes"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Pieķerties mezgliem"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Pieķerties pikseļu režģim"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Sākt labošanu"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Līdzināšana"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Labot"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Vispārējs"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Galvenā izvēlne"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Mainīt slāņus"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigācija"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigācija"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigācija"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneļi"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Ceļi"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formas"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Teksti"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Rīki"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Tālummaiņa"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Tālummaiņa"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Iestatīt sīktēlus"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Īsinājumtaustiņi"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Pārslēgt dinamisko līdzināšanu"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Pārslēgt līdzekļus"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Pārslēgt krāsu paleti"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Pārslēgt fokusa režīmu"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Pārslēgt pilnekrāna režīmu"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Rādīt/paslēpt vadlīnijas"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Pārslēgt vēsturi"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Pārslēgt slāņus"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Pievienot / Noņemt elastīgo izkārtojumu"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Pievienot/noņemt režģa izkārtojumu"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Slēgt / Atslēgt"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Slēgt proporcijas"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Rādīt/paslēpt mērjoslas"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Pievilkt pie vadlīnijām"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Pievilkt pie mērjoslu vadlīnijām"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Pārslēgt teksta paleti"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Mainīt izskatu"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Pārslēgt redzamību"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Pārslēgt tālummaiņas stilu"
@@ -3688,31 +3648,31 @@ msgstr "Pārslēgt tālummaiņas stilu"
msgid "shortcuts.underline"
msgstr "Pārslēgt pasvītrojumu"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Atsaukt"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Atapkopot"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Noņemt masku"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Izkliedēt stateniski"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Tālummaiņas samazinājums"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Tālummaiņas palielinājums"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Tālummainīt uz atlasi"
@@ -3765,145 +3725,145 @@ msgstr ""
msgid "subscription.dashboard.team-plan"
msgstr "Komandas plāns"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonements"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Pievieno maksājumu veidu, lai turpinātu pēc sava izmēģinājuma laika"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Visas lietpratēju plāna priekšrocības un:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Visas neierobežotā plāna priekšrocības un:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s redaktori)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Uzņēmējdarbība"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Uzņēmējdarbībai (izmēģinājuma)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90 dienu automātiski saglabātas versijas un datņu atkope"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Noteikts ikmēneša rēķins"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Pārvaldīt savu abonementu"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Pievienot maksājumu informāciju"
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Pagaidām izlaist un uzsākt izmēģinājumu"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Palīdzi mums attīstīties un padarīt Tavu izmēģinājumu vienkāršāku"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Pašreiz ir %s cilvēku Tavās komandās, kuri var labot."
msgstr[1] "Pašreiz ir %s cilvēks Tavās komandās, kas var labot."
msgstr[2] "Pašreiz ir %s cilvēki Tavās komandās, kuri var labot."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Uzmanību: pārslēgšanās uz zemāku plānu nozīmē mazāk krātuves un īsāku "
"rezerves kopiju un versiju vēsturi."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr ""
"Pēc izmēģinājuma tiks ieturēta maksa. Šobrīd nav nepieciešama maksājumu "
"karte."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/mēnesī"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Pielietot %s savām komandām"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot dalībnieks kopš: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Vairāk informācijas"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Citi Penpot plāni"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "apvienība mēnesī"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Profesionāls"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Tavs abonements"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Uzsākt bezmaksas izmēģinājumu"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Abonēt"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Tu vari labot savu abonementu jebkurā laikā sava konta informācijas lapā "
"\"Abonements\"."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Izbaudi savu plānu!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Tu esi %s."
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Izmēģini 14 dienas bez maksas"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Neierobežots"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Neierobežots (izmēģinājuma)"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Ikmēneša rēķins ierobežots līdz $175"
@@ -3911,42 +3871,42 @@ msgstr "Ikmēneša rēķins ierobežots līdz $175"
msgid "subscription.workspace.header.menu.option.power-up"
msgstr "Iedarbini savu plānu"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "Atlasīti %s uzaicinājumi"
msgstr[1] "Atlasīts %s uzaicinājums"
msgstr[2] "Atlasīti %s uzaicinājumi"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Fontu nodrošinātāji - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fonti - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekti - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Meklēšana - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Koplietojamās bibliotēkas - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Modelēšanas brīvība komandām"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Sniegt atsauksmes - Penpot"
@@ -3954,7 +3914,7 @@ msgstr "Sniegt atsauksmes - Penpot"
msgid "title.settings.notifications"
msgstr "Paziņojumi - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Iestatījumi - Penpot"
@@ -3962,27 +3922,27 @@ msgstr "Iestatījumi - Penpot"
msgid "title.settings.password"
msgstr "Parole - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profils - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Uzaicinājumi - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Dalībnieki - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Iestatījumi - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Tīmekļa aizķeres - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - skatīšana - Penpot"
@@ -3994,99 +3954,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Atdalīt tekstvienību"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Lapā nav atrasta neviena plātne."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Plātne netika atrasta."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Komentāri (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Nerādīt mijiedarbības"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Pilnekrāns"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Apskatīt (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Mijiedarbības"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Mijiedarbības (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopēt saiti"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Rādīt mijiedarbības"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Rādīt mijiedarbības pēc klikšķa"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Vietnes karte"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Pēdējā piegāde bija veiksmīga."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Līdzināt līmeniskajā vidū (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Izlīdzināt līmeniskās atstarpes (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Līdzināt pa kreisi (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Līdzināt pa labi (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Līdzināt pie apakšas (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Līdzināt stateniskajā vidū (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Izlīdzināt stateniskās atstarpes (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Līdzināt pie augšas (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Pievienot bibliotēku"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Visi līdzekļi"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Krāsas"
@@ -4094,7 +4054,7 @@ msgstr "Krāsas"
msgid "workspace.assets.colors.add-color"
msgstr "Pievienot krāsu"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Sastāvdaļas"
@@ -4102,7 +4062,7 @@ msgstr "Sastāvdaļas"
msgid "workspace.assets.components.add-component"
msgstr "Pievienot sastāvdaļu"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s varianti"
@@ -4110,15 +4070,15 @@ msgstr "%s varianti"
msgid "workspace.assets.create-group"
msgstr "Izveidot kopu"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Dzēst"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Divkāršot"
@@ -4126,39 +4086,39 @@ msgstr "Divkāršot"
msgid "workspace.assets.duplicate-main"
msgstr "Divkāršot galveno"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Labot"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Atlasīt"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Režģa skats"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Kopa"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Kopas nosaukums"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Saraksta skats"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "vietējā bibliotēka"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Pārvaldīt bibliotēku"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Līdzekļi nav atrasti"
@@ -4166,7 +4126,7 @@ msgstr "Līdzekļi nav atrasti"
msgid "workspace.assets.open-library"
msgstr "Atvērt bibliotēkas datni"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Pārdēvēt"
@@ -4174,11 +4134,11 @@ msgstr "Pārdēvēt"
msgid "workspace.assets.rename-group"
msgstr "Pārdēvēt kopu"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Meklēt līdzekļus"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Koplietojama bibliotēka"
@@ -4189,43 +4149,43 @@ 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:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Kārtot"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Burtu stili un veidi"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Pievienot tipogrāfiju"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Izmērs"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Fonta stils"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Burtstarpa"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Rindas augstums"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Teksta pārveide"
@@ -4233,67 +4193,67 @@ msgstr "Teksta pārveide"
msgid "workspace.assets.ungroup"
msgstr "Atapkopot"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Izveidot laukumu"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Izveidot plātni"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Apvienot šūnas"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Pievienot 1 sleju pa labi"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Pievienot 1 sleju pa kreisi"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Izdzēst sleju"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Izdzēst slejas un apveidus"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Divkāršota sleja"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Pievienot 1 rindu zem"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Pievienot 1 rindu virs"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Izdzēst rindu"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Izdzēst rindu un apveidus"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Divkāršot rindu"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Fokusa režīms"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Izslēgt fokusu"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Ieslēgt fokusu"
@@ -4305,191 +4265,191 @@ msgstr "Lineārais gradients"
msgid "workspace.gradients.radial"
msgstr "Radiālais gradients"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Atspējot dinamisko līdzināšanu"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Atspējot proporcionālo mērogu"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Atspējot pieķeršanos vadotnēm"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Atspējot pieķeršanos pikselim"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Atspējot pievilkšanu mērjoslu vadlīnijām"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Iespējot dinamisko līdzināšanu"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Iespējot proporcionālo mērogu"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Pieķerties vadotnēm"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Iespējot pieķeršanos pikselim"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Pievilkt pie mērjoslu vadlīnijām"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Paslēpt plātņu nosaukumus"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Paslēpt vadlīnijas"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Paslēpt krāsu paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Paslēpt pikseļu režģi"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Paslēpt mērjoslas"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Paslēpt fontu paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Labot"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Datne"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Palīdzība un informācija"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Pielāgojumi"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Skatīt"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Atkārtot"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Atlasīt visu"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Rādīt plātņu nosaukumus"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Parādīt vadlīnijas"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Rādīt krāsu paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Rādīt pikseļu režģi"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Rādīt mērjoslas"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Rādīt fontu paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Pārslēgties uz tumšo izskatu"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Pārslēgties uz gaišo izskatu"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Pārslēgties uz sistēmas izskatu"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Atsaukt"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Atiestatīt"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Saglabāšanas kļūda"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Saglabāts"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Saglabāšana"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Kopīgot"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Skatīšana (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Tālummaiņa"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Aizpildījums — mērogot, lai aizpildītu"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ietilpināt — samazināt, lai ietilpinātu"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Tālummainīt, lai ietilpinātu visu"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Pilnekrāns"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Tālummainīt uz atlasi"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Labot režģi"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Iziet"
@@ -4497,7 +4457,7 @@ msgstr "Iziet"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Apakšējā atbīde"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Rādīt četrpusējas atbīdes iespējas"
@@ -4533,30 +4493,30 @@ 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:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Norādīt režģa izkārtojumu"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "%s krāsu"
msgstr[1] "%s krāsa"
msgstr[2] "%s krāsas"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Bibliotēkā vēl nav krāsu stilu"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Bibliotēkā vēl nav burtu stilu un veidu"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Datņu bibliotēka"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Nesen izmantotās krāsas"
@@ -4568,96 +4528,96 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Saglabāt krāsu stilu"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "%s sastāvdaļu"
msgstr[1] "%s sastāvdaļa"
msgstr[2] "%s sastāvdaļas"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Savienota ar"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Vai pievieno kādas no šīm, lai izmēģinātu:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "dažas sagataves šeit"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Datņu bibliotēka"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "%s attēli"
msgstr[1] "%s attēls"
msgstr[2] "%s attēli"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTĒKAS ŠAJĀ DATNĒ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTĒKAS"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "BIBLIOTĒKAS JAUNINĀJUMI"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Ielādē…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "“%s” nav atrasta neviena atbilstība"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Meklēt koplietojamās bibliotēkas"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "KOPLIETOJAMĀS BIBLIOTĒKAS"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Savienot bibliotēku"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "%s burtu stilu un veidu"
msgstr[1] "%s burtu stils un veids"
msgstr[2] "%s burtu stili un veidi"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Atvienot bibliotēku"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Atjaunināt"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "apskatīt visas izmaiņas"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ATJAUNINĀJUMI"
@@ -4693,107 +4653,107 @@ msgstr "Pārslēgt aizmiglojumu"
msgid "workspace.options.canvas-background"
msgstr "Kanvas fons"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Apcirpt saturu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Sastāvdaļa"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Piezīme"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Ievietot starpliktuvē"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Izveidot piezīmi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Labot piezīmi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Galvenais"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Mijmainīt sastāvdaļu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Šajā bibliotēkā vēl nav līdzekļu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Atsaistīta"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Noteikt nesaderīgus variantus"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Šai sastāvdaļai ir nesaderīgi varianti. Jāpārliecinās, ka katram no tiem ir "
"neatkārtojama īpašību vērtību kopa."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Atrast atkārtojošos variantus"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Dažiem variantiem ir vienādas īpašības un vērtības"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Šiem variantiem ir vienādas īpašības un vērtības. Jāpielāgo vērtības, lai "
"tās varētu iegūt."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Šim variantam ir tādas pašas īpašības un vērtības kā citam. Jāpielāgo "
"vērtības, lai tās varētu iegūt."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Dažiem no šiem variantiem ir vienādas īpašības un vērtības. Jāpielāgo "
"vērtības, lai tās varētu iegūt."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Atrast nederīgus variantus"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Dažiem variantiem ir nederīgi nosaukumi"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Šiem variantiem ir nederīgi nosaukumi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Šim variantam ir nederīgs nosaukums."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Dažiem no šiem variantiem ir nederīgi nosaukumi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[īpašība]=[vērtība], [īpašība]=[vērtība]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Jāmēģina izmantot šāda uzbūve:"
@@ -4825,7 +4785,7 @@ msgstr "Ir tāds pats hierarhijas līmenis."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Kopas, dēļi un izkārtojumi tiek uztverti kā līdzvērtīgi."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Kā varianti paliek savienoti"
@@ -4869,11 +4829,11 @@ msgstr "Augša"
msgid "workspace.options.constraints.topbottom"
msgstr "Augša un apakša"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Dizains"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Izguve"
@@ -4881,38 +4841,38 @@ msgstr "Izguve"
msgid "workspace.options.export-multiple"
msgstr "Izgūt atlasi"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Pievienot izguvi"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Noņemt izguvi"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Piedēklis"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Izguve pabeigta"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Notiek izgūšana…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Izgūšana neizdevās"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Izgūšana ir neparedzēti lēna"
@@ -4928,7 +4888,7 @@ msgstr "Pievienot aizpildījumu"
msgid "workspace.options.fill.remove-fill"
msgstr "Noņemt aizpildījumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Mainīt paneļa izmēru, lai ietilpinātu saturu"
@@ -4952,67 +4912,67 @@ msgstr "Plūsma sākas"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Slejas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Krāsa"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Rene"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Augstums"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Mala"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Iestatīt kā noklusējumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Apakša"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centrs"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Pa kreiss"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Pa labi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Izstiept"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Augša"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Izmantot noklusējumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Platums"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rindas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kvadrāts"
@@ -5024,7 +4984,7 @@ msgstr "Kopas aizpildījums"
msgid "workspace.options.group-stroke"
msgstr "Kopas vilkums"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Pievienot vadlīniju"
@@ -5032,19 +4992,19 @@ msgstr "Pievienot vadlīniju"
msgid "workspace.options.guides.remove-guide"
msgstr "Noņemt vadlīniju"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Vadotnes"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Pārslēgt vadlīniju"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Augstums"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Apskatīt"
@@ -5260,103 +5220,103 @@ msgstr "Mijiedarbības"
msgid "workspace.options.interactions.add-interaction"
msgstr "Pievienot mijiedarbību"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Krāsa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Krāsas izbalēšana"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Krāsas izcēlums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Aptumšot"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Starpība"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Izslēgšana"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Konturgaisma"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Nokrāsa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Izgaismot"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Spožums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Vairot"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normāls"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Pārklājums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Piesātinājums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Ekrāns"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Izkliedgaisma"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Pārslēgt slāņa redzamību"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Lielākais augstums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Lielākais platums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Mazākais augstums"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Mazākais platums"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Vairāk krāsu"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Vairāk bibliotēkas krāsu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Caurspīdīgums"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototips"
@@ -5388,19 +5348,19 @@ 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:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Pēdējie"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Atkārtot"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Pagriešana"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Meklēt fontu"
@@ -5408,7 +5368,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Atlasītās krāsas"
@@ -5476,55 +5436,55 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Rādīt skatītājā"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Izmērs"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Izmēra standarti"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Paturēt malu attiecību"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Nepaturēt malu attiecību"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Aplis"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Dimants"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Bulta"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nav"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Apaļš"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kvadrāts"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Taisnstūris"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Trijstūris"
@@ -5532,7 +5492,7 @@ msgstr "Trijstūris"
msgid "workspace.options.stroke-color"
msgstr "Vilkuma krāsa"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Vilkuma biezums"
@@ -5540,35 +5500,35 @@ msgstr "Vilkuma biezums"
msgid "workspace.options.stroke.add-stroke"
msgstr "Pievienot vilkuma krāsu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centrs"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Pārtraukts"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Punktots"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Iekšā"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Jaukts"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Ārā"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Noņemt vilkumu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Blīvs"
@@ -5604,11 +5564,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:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Burtu atstarpes"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Rindas augstums"
@@ -5652,122 +5612,122 @@ msgstr "Pasvītrojums (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Platums"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X ass"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y ass"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Zīmēt mezglus (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Savienot mezglus (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Uz stūri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Uz līkni (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Mezglu sapludināšana (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Pārvietot mezglus (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Atdalīt mezglus (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Pieķert mezglus (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Atvērt"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Atklāt [vairāk spraudņu](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Vēl nav uzstādīts neviens spraudnis"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Spraudņa deklarācija ir nepareiza."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Jābūt redaktoram, lai izmantotu šo spraudni"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Spraudnis nepastāv vai URL ir nepareizs."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Uzstādīt"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Uzstādītie spraudņi"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Spraudņu pārvaldnieks"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Spraudņi"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ATJAUNINĀT ŠO SPRAUDNI"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Spraudnis kopš pēdējās atvēršanas reizes ir mainīts. Tam tagad ir vajadzīga "
"piekļuve:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Uzsākt datņu lejupielādi."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Lasīt savas piebildes un atbildes."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Lasīt un mainīt savas piebildes un atbildēt savā vārdā."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Lasīt datņu, kurām lietotājiem ir piekļuve, saturu."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Lasīt un mainīt datņu, kurām lietotājiem ir piekļuve, saturu."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Lūgums ņemt vērā, ka šo spraudni izveidoja trešā puse, tāpēc pirms "
@@ -5775,74 +5735,74 @@ msgstr ""
"Tavu datu privātums un drošība. Ja ir kādas neskaidrības, lūgums sazināties "
"ar atbalstu."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Lasīt bibliotēkas un līdzekļus."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Lasīt un mainīt bibliotēkas un līdzekļus."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "SPRAUDNIS \"%s\" PIEPRASA PIEKĻUVI:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Lasīt pašreizējā lietotāja profila informāciju."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Spraudņu saraksts"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Noņemt spraudni"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Ierakstīt spraudņa URL"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Spraudņi"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NE TAGAD"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Vēlies izmēģināt? Tas tiks atvērts jaunā melnrakstā Tavai pašreizējai "
"komandai. (Ja nē, vienmēr to var atrast jebkuras datnes uzstādītajos "
"spraudņos.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "SPRAUDNIS \"%s\" IR UZSTĀDĪTS."
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "IZMĒĢINĀT SPRAUDNI"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Pievienot elastīgo izkārtojumu"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Pievienot režģa izkārtojumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Pievienot izkārtojumu"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Izveidot variantu"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Pievienot jaunu īpašību"
@@ -5854,7 +5814,7 @@ msgstr "Sūtīt atpakaļ"
msgid "workspace.shape.menu.backward"
msgstr "Sūtīt uz aizmuguri"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopēt"
@@ -5890,27 +5850,27 @@ msgstr "Ievietot starpliktuvē kā tekstu"
msgid "workspace.shape.menu.create-annotation"
msgstr "Izveidot piezīmi"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Atlase uz plātni"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Izveidot sastāvdaļu"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Izveidot vairākas sastāvdaļas"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Izgriezt"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Dzēst"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Izdzēst plūsmas sākumu"
@@ -5922,7 +5882,7 @@ msgstr "Atvienot instanci"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Atvienot instances"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Starpība"
@@ -5930,15 +5890,15 @@ msgstr "Starpība"
msgid "workspace.shape.menu.duplicate"
msgstr "Divkāršot"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Labot"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Izslēgt"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Izklāt"
@@ -5950,7 +5910,7 @@ msgstr "Apvērst līmeniski"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Apvērst stateniski"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Plūsmas sākums"
@@ -5962,31 +5922,31 @@ msgstr "Virzīt uz priekšu"
msgid "workspace.shape.menu.front"
msgstr "Virzīt priekšā"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Kopa"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Slēpt"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Rādīt/paslēpt UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Šķēlums"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Slēgt"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maska"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Ielīmēt"
@@ -5994,23 +5954,23 @@ msgstr "Ielīmēt"
msgid "workspace.shape.menu.paste-props"
msgstr "Ielīmēt īpašības"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Ceļš"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Noņemt elastīgo izkārtojumu"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Noņemt režģa izkārtojumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Noņemt izkārtojumu"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Noņemt īpašību"
@@ -6034,11 +5994,11 @@ msgstr "Atjaunot variantu"
msgid "workspace.shape.menu.select-layer"
msgstr "Atlasīt slāni"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Pāradīt"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Rādīt līdzekļu panelī"
@@ -6054,19 +6014,19 @@ msgstr "Noņemt sīktēlu"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Iestatīt kā sīktēlu"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Atapkopot"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Apvienot"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Atslēgt"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Noņemt masku"
@@ -6082,51 +6042,51 @@ msgstr "Sakļaut sānjoslu"
msgid "workspace.sidebar.expand"
msgstr "Izvērst sānjoslu"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Vēsture"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Slāņi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Sastāvdaļas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Atsijāt"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Plātnes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Kopas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Attēli"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maskas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Meklēt slāņus"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Teksti"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Ievietotie SVG atribūti"
@@ -6138,7 +6098,7 @@ msgstr "Lapas"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Pievienot lapu"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Vietnes karte"
@@ -6158,7 +6118,7 @@ msgstr "Pievienot kopu šai grupai"
msgid "workspace.tokens.add-token"
msgstr "Pievienot tekstvienību: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Pielietota"
@@ -6178,7 +6138,7 @@ msgstr "Pamata fonta izmērs"
msgid "workspace.tokens.base-font-size.error"
msgstr "Pamata fonta izmēram jābūt vērtībai pikseļos vai bez mērvienības."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Krāsa"
@@ -6186,7 +6146,7 @@ msgstr "Krāsa"
msgid "workspace.tokens.create-new-theme"
msgstr "Tagad izveido savu pirmo izskatu!"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Izveidot kādu."
@@ -6206,7 +6166,7 @@ msgstr "Izdzēst izskatu"
msgid "workspace.tokens.duplicate"
msgstr "Pavairot tekstvienību"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "dublējums"
@@ -6268,7 +6228,7 @@ msgstr ""
"Vienā JSON datnē pirmā līmeņa atslēgām vajadzētu būt tekstvienību kopu "
"nosaukumiem."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Ievietot tekstvienības"
@@ -6278,11 +6238,11 @@ msgstr ""
"Tekstvienību ievietošana aizvietos visas pašreizējāš tekstvienības, kopas "
"un izskatus."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Neaktīva"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Šī kopa nav aktīva. Jānomaina izskats vai jāaktivē šī kopa, lai skatlaukā "
@@ -6328,7 +6288,7 @@ msgstr "Nav izvēlēts izskats"
msgid "workspace.tokens.no-permisions-set"
msgstr "Nepieciešams būt redaktoram, lai aktivētu kopas vai atceltu to aktivēšanu"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Jābūt redaktoram, lai izmantotu izskatus"
@@ -6340,7 +6300,7 @@ msgstr "Vēl nav nevienas kopas. Vispirms ir jāizveido kāda."
msgid "workspace.tokens.no-sets-yet"
msgstr "Šeit vēl nav nevienas kopas."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Šeit nav izskatu."
@@ -6352,7 +6312,7 @@ msgstr "Pašlaik nav izskatu."
msgid "workspace.tokens.num-active-sets"
msgstr "%s spēkā esošas kopas"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Sākotnējā vērtība: %s"
@@ -6364,7 +6324,7 @@ msgstr "Atbīdes"
msgid "workspace.tokens.radius"
msgstr "Rādiuss"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Atrisinātā vērtība: %s"
@@ -6398,11 +6358,11 @@ msgstr "Šeit var konfigurēt pamata fonta izmēru, kas nosaka 1rem vērtību:"
msgid "workspace.tokens.settings"
msgstr "Tekstvienību iestatījumi"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -6424,11 +6384,11 @@ msgstr "Izskatu saraksts"
msgid "workspace.tokens.token-description"
msgstr "Apraksts"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nosaukums"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" nav derīgs tekstvienības nosaukums.\n"
@@ -6439,11 +6399,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Vērtība"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Jāievada vērtība vai aizstājvārds ar {aizstājvārds}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TEKSTVIENĪBAS - %s"
@@ -6455,7 +6415,7 @@ msgstr "Rīki"
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Veids \"%s\" nav atbalstīts (%s):"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Vērtība nav derīga"
@@ -6463,55 +6423,55 @@ msgstr "Vērtība nav derīga"
msgid "workspace.toolbar.assets"
msgstr "Līdzekļi"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Krāsu palete (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Komentāri (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Līkne (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Plātne (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Attēls (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Pārvietot (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Ceļš (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Spraudņi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Taisnstūris (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Teksts (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Burtu stili un veidi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Pārslēgt rīkjoslu"
@@ -6524,7 +6484,7 @@ msgstr "Darīts"
msgid "workspace.top-bar.view-only"
msgstr "**Apskata kodu** (tikai skatīšana)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Līdz šim nav notikušas nekādas vēsturiskās izmaiņas"
@@ -6664,19 +6624,19 @@ msgstr "burtu stila un veida līdzeklis"
msgid "workspace.undo.entry.unknown"
msgstr "Darbība ar %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Izlaist"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Vairāk informācijas"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Koplietojamajās bibliotēkās ir atjauninājumi"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Atjaunināt"
diff --git a/frontend/translations/ml.po b/frontend/translations/ml.po
index 6a48cb9eda..9abcce2539 100644
--- a/frontend/translations/ml.po
+++ b/frontend/translations/ml.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "നിലവിൽ അക്കൗണ്ടുണ്ടോ?"
@@ -29,7 +29,7 @@ msgstr ""
"ഇതൊരു ഡെമോ സേവനമാണ്, ഒരു യഥാർത്ഥ ജോലിക്ക് ഉപയോഗിക്കരുത്, പ്രൊജക്റ്റുകൾ "
"നിശ്ചിതസമയങ്ങളിൽ മായ്ക്കപ്പെടും."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "പാസ്വേഡ് മറന്നോ?"
@@ -37,37 +37,37 @@ msgstr "പാസ്വേഡ് മറന്നോ?"
msgid "auth.fullname"
msgstr "മുഴുവൻ പേര്"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "എന്റെ അക്കൗണ്ടിലേക്ക് പ്രവേശിക്കുക"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "ഇവിടെ ലോഗിൻ ചെയ്യുക."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"ഡിസൈനിങിലും കോഡിങിലും സഹകരിച്ച് പ്രവർത്തിക്കാനുള്ള ഒരു ഓപ്പൺസോഴ്സ് ഡിസൈൻ "
"ഉപകരണമാണ് പെൻപോട്ട്"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "ഗിറ്റ്ഹബ്ബ്"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "ഗിറ്റ്ലാബ്"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "ഗൂഗിൾ"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "ഓപ്പൺഐഡി"
@@ -75,7 +75,7 @@ msgstr "ഓപ്പൺഐഡി"
msgid "auth.new-password"
msgstr "പുതിയൊരു പാസ്വേഡ് ചേർക്കുക"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "നിങ്ങളിപ്പോൾ %s-ന്റെ ഭാഗമാണ്"
@@ -91,7 +91,7 @@ msgstr "പ്രൊഫൈൽ സാധൂകരിച്ചിട്ടില
msgid "auth.notifications.recovery-token-sent"
msgstr "പാസ്വേഡ് വീണ്ടെടുപ്പ് കണ്ണി നിങ്ങളുടെ ഇൻബോക്സിലേക്ക് അയച്ചിട്ടുണ്ട്."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "വിജയകരമായി സംഘത്തിൽ ചേർന്നു"
@@ -123,7 +123,7 @@ msgstr "പാസ്വേഡ് മറന്നോ?"
msgid "auth.recovery-submit"
msgstr "പാസ്വേഡ് മാറ്റുക"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "ഇതുവരെ അക്കൗണ്ട് ഇല്ലേ?"
@@ -135,7 +135,7 @@ msgstr "നിങ്ങളെ ഞങ്ങൾ എന്താണ് ഡാഷ്
msgid "auth.register-account-title"
msgstr "നിങ്ങളുടെ പേര്"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
@@ -143,7 +143,7 @@ msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
msgid "auth.register-title"
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "ഉപയോഗനിബന്ധനകൾ"
@@ -151,75 +151,75 @@ msgstr "ഉപയോഗനിബന്ധനകൾ"
msgid "auth.work-email"
msgstr "ജോലിക്കുള്ള ഇമെയിൽ"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "എല്ലാ പെൻപോട്ട് ഉപയോക്താക്കളും"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"ഈ കണ്ണി നീക്കം ചെയ്യണമെന്നത് നിങ്ങൾക്ക് തീർച്ചയാണോ? നിങ്ങളത് ചെയ്താൽ, അത് "
"ആർക്കും ലഭ്യമല്ലാതാകും"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "കണ്ണി നശിപ്പിക്കുക"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "കണ്ണി നേടുക"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "കണ്ണി വിജയകരമായി പകർത്തി"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "അനുമതികൾ കൈകാര്യം ചെയ്യുക"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 താൾ പങ്കുവെച്ചു"
msgstr[1] "%s താളുകൾ പങ്കുവെച്ചു"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "കണ്ണിയുള്ള ആർക്കും പ്രാപ്യമാകും"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "പങ്കുവെച്ച താളുകൾ"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "പങ്കുവെക്കാവുന്ന കണ്ണി ഇവിടെ ലഭ്യമാകും"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "സംഘാംഗങ്ങൾ മാത്രം"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "പ്രോട്ടോടൈപ്പുകൾ പങ്കുവെയ്ക്കുക"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "എല്ലാം തിരഞ്ഞെടുക്കുക"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "പങ്കിട്ട ലൈബ്രറിയായി ചേർക്കുക"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "ഇമെയിൽ മാറ്റുക"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(പകർത്തുക)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "പുതിയ സംഘം രൂപീകരിക്കുക"
@@ -227,7 +227,7 @@ msgstr "പുതിയ സംഘം രൂപീകരിക്കുക"
msgid "dashboard.default-team-name"
msgstr "നിങ്ങളുടെ പെൻപോട്ട്"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "സംഘത്തെ നീക്കുക"
@@ -239,15 +239,15 @@ msgstr "പകർപ്പ്"
msgid "dashboard.duplicate-multi"
msgstr "%s ഫയലുകളുടെ പകർപ്പ്"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "ആർട്ട്ബോർഡുകൾ പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "എക്സ്പോർട്ട്"
diff --git a/frontend/translations/ms.po b/frontend/translations/ms.po
index 42d2623a31..005a837d2c 100644
--- a/frontend/translations/ms.po
+++ b/frontend/translations/ms.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:19+0000\n"
-"Last-Translator: Revenant \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Malay "
" \n"
"Language: ms\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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
#: src/app/main/ui/auth/register.cljs:239
msgid "auth.create-demo-account"
@@ -21,7 +21,7 @@ msgstr ""
"Ini adalah perkhidmatan DEMO, JANGAN GUNAKAN untuk kerja sebenar, projek "
"akan dipadam secara berkala."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Lupa kata laluan?"
@@ -29,27 +29,27 @@ msgstr "Lupa kata laluan?"
msgid "auth.fullname"
msgstr "Nama penuh"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Log masuk disini"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "Github"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID Connect"
@@ -69,7 +69,7 @@ msgstr "Profil tidak disahkan, sila sahkan profil sebelum meneruskan."
msgid "auth.notifications.recovery-token-sent"
msgstr "Pautan pemulihan kata laluan dihantar ke peti masuk anda."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Berjaya menyertai pasukan"
@@ -101,11 +101,11 @@ msgstr "Lupa kata laluan?"
msgid "auth.recovery-submit"
msgstr "Tukar kata laluan anda"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Tiada akaun lagi?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Cipta akaun"
@@ -113,112 +113,112 @@ msgstr "Cipta akaun"
msgid "auth.register-title"
msgstr "Cipta akaun"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Syarat perkhidmatan"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Terbitkan"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Semua pengguna Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Adakah anda pasti untuk mengalih keluar pautan ini? Jika anda melakukannya, "
"ia tidak lagi tersedia untuk sesiapa sahaja"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(semasa)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Musnahkan pautan"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Dapatkan pautan"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Pautan berjaya disalin"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Urus kebenaran"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "%s halaman dikongsi"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Boleh komen"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Boleh memeriksa kod"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Sesiapa yang mempunyai pautan akan mendapat akses"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Halaman dikongsi"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Pautan boleh kongsi akan dipaparkan di sini"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Hanya ahli pasukan"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Kongsi prototaip"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Pilih semua"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Nyahterbitkan"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Pengurusan pasukan"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot dibuat untuk pasukan. Jemput ahli untuk bekerjasama dalam projek dan "
"fail"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Berganding bahu!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Tambahkan sebagai Perpustakaan kongsi"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "tukar e-mel"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(salin)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Buat pasukan baharu"
@@ -226,11 +226,11 @@ msgstr "Buat pasukan baharu"
msgid "dashboard.default-team-name"
msgstr "Penpot anda"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Padam pasukan"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Muat turun fail Penpot (.penpot)"
@@ -246,58 +246,58 @@ msgstr "Pendua %s fail"
msgid "dashboard.export-binary-multi"
msgstr "Muat turun %s fail Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Eksport papan sebagai PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Eksport sebagai PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s daripada %s elemen dipilih"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Eksport"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Anda boleh menambah tetapan eksport ke elemen daripada sifat reka bentuk "
"(di bahagian bawah bar sisi kanan)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Maklumat cara untuk menetapkan eksport di Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Tiada unsur dengan tetapan eksport."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Eksport Pemilihan"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Fon hilang"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Tolak semua"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Fon tersuai yang anda muat naik akan dipaparkan di sini."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "%s fon ditambah"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -307,7 +307,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -316,11 +316,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Muat naik semua"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -331,72 +331,44 @@ msgstr ""
"menggunakan [Transfonter](https://transfonter.org/) untuk menjana fon web "
"dan membetulkan ralat. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Import fail Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Alamak! Kami tidak dapat mengimport fail ini"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Sesetengah fail mengandungi objek tidak sah telah dialih keluar."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "memproses warna"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Memproses komponen"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Memproses media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Memproses halaman: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Memproses tipografi"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Memuat naik data ke pelayan (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Memuat naik fail: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Jemput orang ramai"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Tinggalkan pasukan"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Perpustakaan & Templat"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Terokai lebih banyak daripada mereka dan ketahui cara untuk menyumbang"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Terdapat masalah mengimport templat. Templat tidak diimport."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Perpustakaan"
@@ -404,7 +376,7 @@ msgstr "Perpustakaan"
msgid "dashboard.loading-files"
msgstr "memuatkan fail anda…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "memuatkan fon anda…"
@@ -420,35 +392,35 @@ msgstr "Pindahkan fail %s ke"
msgid "dashboard.move-to-other-team"
msgstr "Pindah ke pasukan lain"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Fail Baharu"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Fail Baharu"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Projek baharu"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Projek Baharu"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Tiada padanan ditemui untuk \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Projek yang disemat akan muncul di sini"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Alamat e-mel anda telah berjaya dikemas kini"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Alamat e-mel anda telah berjaya disahkan"
@@ -456,7 +428,7 @@ msgstr "Alamat e-mel anda telah berjaya disahkan"
msgid "dashboard.notifications.password-saved"
msgstr "Kata laluan berjaya disimpan!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s ahli"
@@ -464,7 +436,7 @@ msgstr "%s ahli"
msgid "dashboard.open-in-new-tab"
msgstr "Buka fail dalam tab baharu"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Pilihan"
@@ -472,39 +444,39 @@ msgstr "Pilihan"
msgid "dashboard.password-change"
msgstr "Tukar kata laluan"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Semat/Nyahsemat"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projek"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Mahu mengalih keluar akaun anda?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Simpan tetapan"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Cari…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Mencari \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Pilih Bahasa UI"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Pilih tema"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Tunjukkan semua fail"
@@ -526,7 +498,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Fail anda berjaya dialihkan"
@@ -538,82 +510,82 @@ msgstr "Fail anda telah berjaya dialihkan"
msgid "dashboard.success-move-project"
msgstr "Projek anda berjaya dialihkan"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Maklumat pasukan"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Anggota kumpulan"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projek pasukan"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema UI"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Hasil carian"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Taip untuk hasil carian"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Nyahterbit Perpustakaan"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Kemas kini tetapan"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Adalah aktif"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Apabila cangkuk ini dicetuskan, butiran peristiwa akan dihantar"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Jenis kandungan"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Cipta webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook berjaya dihasilkan."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks adalah cara mudah untuk membolehkan tapak web dan apl lain "
"dimaklumkan apabila acara tertentu berlaku di Penpot. Kami akan menghantar "
"permintaan POST ke setiap URL yang anda berikan."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Tekan butang \"Tambah webhook\" untuk menambahnya."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Tiada webhook dibuat setakat ini."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Akaun anda"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mel"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Nama anda"
@@ -629,7 +601,7 @@ msgstr "Perhatian"
msgid "ds.component-subtitle"
msgstr "Komponen untuk dikemas kini:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Batal"
@@ -645,15 +617,15 @@ msgstr "Adakah anda pasti?"
msgid "errors.auth-provider-not-configured"
msgstr "Pembekal pengesahan tidak dikonfigurasikan."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Nampaknya anda belum disahkan atau sesi telah tamat tempoh."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Fon %s tidak dapat dimuatkan"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Fon %s tidak dapat dimuatkan"
@@ -661,15 +633,15 @@ msgstr "Fon %s tidak dapat dimuatkan"
msgid "errors.cannot-upload"
msgstr "Tidak boleh memuat naik fail media."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Pelayar anda tidak dapat melakukan operasi ini"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-mel sudah digunakan"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mel sudah disahkan."
@@ -677,32 +649,32 @@ msgstr "E-mel sudah disahkan."
msgid "errors.email-as-password"
msgstr "Anda tidak boleh menggunakan e-mel sebagai kata laluan"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "E-mel «%s» mempunyai banyak laporan lantunan kekal."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "E-mel «%s» telah dilaporkan sebagai spam atau melantun secara kekal."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Nampaknya anda sedang membuka fail yang mendayakan ciri '%s' tetapi versi "
"penpot semasa tidak menyokongnya atau menyahdayakannya."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Ciri '%s' tidak disokong."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Nampaknya terdapat ketidakpadanan antara ciri yang didayakan dan ciri fail "
"yang anda cuba buka. Migrasi untuk '%s' perlu digunakan sebelum fail boleh "
"dibuka."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Sesuatu yang tidak kena telah berlaku."
@@ -714,7 +686,7 @@ msgstr "Warna tidak sah"
msgid "errors.invalid-email"
msgstr "Sila masukkan e-mel yang sah"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "E-mel pengesahan mesti sepadan"
@@ -734,7 +706,7 @@ msgstr "Jemputan ini mungkin dibatalkan atau mungkin tamat tempoh."
msgid "errors.ldap-disabled"
msgstr "Pengesahan LDAP dilumpuhkan."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Anda telah mencapai petikan '%s'. Hubungi sokongan."
@@ -750,7 +722,7 @@ msgstr "Nampaknya kandungan imej tidak sepadan dengan sambungan fail."
msgid "errors.media-type-not-allowed"
msgstr "Nampaknya ini bukan imej yang sah."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Profil yang anda jemput mempunyai e-mel yang diredamkan (laporan spam atau "
@@ -764,7 +736,7 @@ msgstr "Kata laluan pengesahan mesti sepadan"
msgid "errors.password-too-short"
msgstr "Kata laluan hendaklah sekurang-kurangnya 8 aksara"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Data tidak sah dalam papan klip"
@@ -772,7 +744,7 @@ msgstr "Data tidak sah dalam papan klip"
msgid "errors.profile-blocked"
msgstr "Profil disekat"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Profil anda mempunyai e-mel yang diredamkan (laporan spam atau lantunan "
@@ -782,21 +754,21 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Pendaftaran dilumpuhkan pada masa ini."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Ciri tidak serasi '%s' dikesan"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Ahli tidak mencukupi untuk meninggalkan pasukan, anda mungkin mahu "
"memadamkannya."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Ahli yang anda cuba tetapkan tidak wujud."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Pemilik tidak boleh meninggalkan pasukan, anda mesti menetapkan semula "
@@ -806,39 +778,39 @@ msgstr ""
msgid "errors.unexpected-error"
msgstr "Ralat yang tidak dijangka berlaku."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token tidak diketahui"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Fail mempunyai nombor versi yang tidak serasi"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Ralat sambungan, URL tidak dapat dicapai"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL tidak lulus pengesahan."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Penghantaran terakhir tidak berjaya."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Ralat pada pengesahan SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Masa tamat"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Ralat yang tidak dijangka semasa mengesahkan"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Status tidak dijangka %s"
@@ -854,13 +826,13 @@ msgstr "Kata laluan lama tidak betul"
msgid "feedback.description"
msgstr "Penerangan"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Kami berbesar hati anda berada disini. Jika anda memerlukan bantuan, sila "
"cari sebelum anda menyiarkan siaran baharu."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Komuniti Penpot"
@@ -874,11 +846,11 @@ msgstr ""
"Sila terangkan sebab e-mel anda, nyatakan sama ada isu, idea atau keraguan. "
"Seorang ahli pasukan kami akan menjawab secepat mungkin."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Kami di sini untuk membantu dengan pertanyaan teknikal anda."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Akaun sokongan Twitter"
@@ -910,7 +882,7 @@ msgstr "Muat turun sumber gambar"
msgid "inspect.attributes.shadow"
msgstr "Bayang"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Ukuran dan kedudukan"
@@ -918,39 +890,27 @@ msgstr "Ukuran dan kedudukan"
msgid "inspect.attributes.stroke"
msgstr "Gurisan"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Tengah"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Dalam"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Luar"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Keluarga Fon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Saiz huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Gaya Huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Jarak Huruf"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Tinggi Garis"
@@ -962,11 +922,11 @@ msgstr "Tiada"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Garis bawah"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Huruf Tajuk"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Huruf Kecil"
@@ -978,7 +938,7 @@ msgstr "Tiada"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Nyahset"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Huruf Besar"
@@ -1040,31 +1000,31 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Teks"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Pintasan"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Terima"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktif"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Tambah fon tersuai"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Pentadbir"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Semua"
@@ -1072,29 +1032,29 @@ msgstr "Semua"
msgid "labels.and"
msgstr "dan"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Kembali"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Nampaknya anda perlu menunggu sebentar dan mencuba semula; kami sedang "
"melakukan penyelenggaraan kecil pelayan kami."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Ralat pelayan (Bad Gateway)"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Batal"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Tutup"
@@ -1102,11 +1062,11 @@ msgstr "Tutup"
msgid "labels.code"
msgstr "Kod"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komen"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Komuniti"
@@ -1114,35 +1074,35 @@ msgstr "Komuniti"
msgid "labels.confirm-password"
msgstr "Sahkan kata laluan"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Teruskan"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Anda boleh meneruskan dengan akaun Penpot"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Salin pautan"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Cipta"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Cipta pasukan baharu"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Masukkan nama pasukan baharu"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Papan pemuka"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Padam"
@@ -1154,7 +1114,7 @@ msgstr "Padam komen"
msgid "labels.delete-comment-thread"
msgstr "Padam bebenang"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Padam jemputan"
@@ -1162,31 +1122,31 @@ msgstr "Padam jemputan"
msgid "labels.delete-multi-files"
msgstr "Padam fail %s"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Pembangun"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Buang"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Draf"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Sunting"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Penyunting"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Tamat tempoh"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Eksport"
@@ -1198,43 +1158,43 @@ msgstr "Maklum balas dilumpuhkan"
msgid "labels.feedback-sent"
msgstr "Maklum balas dihantar"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Keluarga Fon"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Gaya"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fon"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositori Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Beri maklum balas"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Pergi balik"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Pusat Bantuan"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Sembunyikan komen yang diselesaikan"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "tidak aktif"
@@ -1242,47 +1202,47 @@ msgstr "tidak aktif"
msgid "labels.info"
msgstr "Maklumat"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fon yang dipasang"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Ralat Dalaman"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Jemputan"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Bahasa"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Perpustakaan & Templat"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Log masuk atau daftar"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Log keluar"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Pemasaran"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Ahli"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Ahli"
@@ -1290,35 +1250,35 @@ msgstr "Ahli"
msgid "labels.new-password"
msgstr "Kata laluan baharu"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Seterusnya"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr ""
"Anda telah melihat semua yang baru! Pemberitahuan ulasan baharu akan "
"dipaparkan di sini."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Tiada jemputan tertunda."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Alamak!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "%s fail"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s papan"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "%s projek"
@@ -1327,143 +1287,143 @@ msgstr[0] "%s projek"
msgid "labels.old-password"
msgstr "Kata laluan lama"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Lain-lain (nyatakan)"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Pemilik"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Kata laluan"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Belum selesai"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Sebelumnya"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Pengurus Produk atau Projek"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projek"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Nota keluaran"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Alih keluar"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Buang ahli"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Namakan semula"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Namakan semula pasukan"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Hantar semula jemputan"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Cuba semula"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Peranan"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Simpan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Cari"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Cari fon"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Pilih pilihan"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Hantar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Menghantar…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Kami sedang menjalankan penyelenggaraan berjadual pada sistem kami."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Perkhidmatan Tidak Tersedia"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Tetapan"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Kongsi"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Perpustakaan"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Paparkan semua komen"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Paparkan senarai komen"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Paparkan komen anda sahaja"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Mula"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Pelajar atau guru"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorial"
@@ -1471,23 +1431,23 @@ msgstr "Tutorial"
msgid "labels.unpublish-multi-files"
msgstr "Nyahterbitkan %s fail"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Kemas kini"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Kemas kini pasukan"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Muat naik"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Muat naik fon tersuai"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Memuat naik…"
@@ -1495,11 +1455,11 @@ msgstr "Memuat naik…"
msgid "labels.view-only"
msgstr "LIHAT SAHAJA"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Penonton"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Cangkuk Web (Webhook)"
@@ -1507,11 +1467,11 @@ msgstr "Cangkuk Web (Webhook)"
msgid "labels.write-new-comment"
msgstr "Tulis komen baharu"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(anda)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Akaun anda"
@@ -1540,63 +1500,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Tambah “%s” sebagai Pustaka Kongsi"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Anjakan besar"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Sahkan e-mel baharu"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Kami akan menghantar e-mel ke e-mel semasa anda “%s” untuk pengesahan "
"identiti."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "E-mel baharu"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Tukar e-mel"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Tukar e-mel anda"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Cipta cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Cipta cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL muatan"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Batal dan kekalkan akaun saya"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ya, padam akaun saya"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Dengan mengalih keluar akaun anda, anda akan kehilangan semua projek dan "
"arkib semasa anda."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Adakah anda pasti mahu memadam akaun anda?"
@@ -1646,31 +1606,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Memadam gaya fon"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Memadam fon"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Adakah anda pasti mahu memadamkan halaman ini?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Padam halaman"
@@ -1686,27 +1646,27 @@ msgstr "Adakah anda pasti mahu memadamkan projek ini?"
msgid "modals.delete-project-confirm.title"
msgstr "Padam projek"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Padam fail"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Ia tidak diaktifkan dalam mana-mana fail."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Pustaka ini diaktifkan di sini: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Adakah anda pasti mahu memadamkan fail ini?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Memadam fail"
@@ -1725,160 +1685,160 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Memadam pasukan"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Padam ahli"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Adakah anda pasti mahu memadamkan ahli ini daripada pasukan?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Padam ahli pasukan"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
"Aset yang telah digunakan dalam fail ini akan kekal di sana (tiada reka "
"bentuk akan rosak)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Padam cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Adakah anda pasti mahu memadamkan cangkuk web (webhook) ini?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Memadam cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Sunting cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Sunting cangkuk web (webhook)"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Hantar jemputan"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mel, dipisahkan dengan koma"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Sesetengah e-mel adalah daripada ahli pasukan semasa. Jemputan mereka tidak "
"akan dihantar."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Jemput ahli ke pasukan"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Memandangkan anda satu-satunya ahli pasukan, pasukan ini akan dipadamkan "
"bersama-sama dengan projek dan failnya."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Adakah anda pasti mahu meninggalkan pasukan %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Anda tidak boleh meninggalkan pasukan jika tiada ahli lain untuk dinaikkan "
"pangkat kepada pemilik. Anda mungkin mahu memadamkan pasukan."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Anda adalah pemilik pasukan ini. Sila pilih ahli lain untuk dinaikkan "
"pangkat kepada pemilik sebelum anda pergi."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Naik pangkat dan tinggalkan"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Pilih ahli untuk dinaikkan pangkat"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Sebelum anda pergi"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Tinggalkan pasukan"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Adakah anda pasti mahu meninggalkan pasukan ini?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Meninggalkan pasukan"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Jumlah anjakan"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Pindah hak milik"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Jika anda memindahkan pemilikan, anda akan menukar peranan anda kepada "
"Pentadbir, kehilangan beberapa kebenaran ke atas pasukan ini. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Anda adalah pemilik semasa pasukan ini. Adakah anda pasti mahu menjadikan "
"%s pemilik baharu pasukan?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Pemilik pasukan baru"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Terbitkan"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Pustaka anda kosong. Adakah anda pasti mahu menerbitkannya?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Terbitkan perpustakaan kosong"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Anjakan kecil"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Nyahterbit"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Adakah anda pasti mahu menyahterbitkan perpustakaan ini?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Nyahterbit pustaka"
@@ -1905,25 +1865,25 @@ msgstr "Kemas kini komponen dalam pustaka kongsi"
msgid "notifications.by-code.upgrade-version"
msgstr "Versi baharu tersedia."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Jemputan berjaya dihantar"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Pautan jemputan disalin"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Anda tidak boleh memadamkan profil anda. Tetapkan semula pasukan anda "
"sebelum meneruskan."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil berjaya disimpan!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "E-mel pengesahan dihantar kepada %s. Semak e-mel anda!"
@@ -1953,15 +1913,15 @@ msgstr ""
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Cipta pasukan"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Jemput ahli"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Jemput dengan peranan:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Mari mulakan!"
@@ -2007,43 +1967,43 @@ msgstr "Mula mereka bentuk"
msgid "profile.recovery.go-to-login"
msgstr "Pergi ke log masuk"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Tanggalkan"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Bercampur"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komen"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Sejajarkan bahagian bawah"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Jajarkan tengah secara mendatar"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Jajar ke kiri"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Sejajar ke kanan"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Jajarkan atas"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Jajarkan tengah secara menegak"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Cipta papan daripada pemilihan"
@@ -2051,43 +2011,43 @@ msgstr "Cipta papan daripada pemilihan"
msgid "shortcuts.bold"
msgstr "Togol tebal"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Perbezaan Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Pengecualian Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Persimpangan Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Kesatuan Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Hantar ke paling belakang"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Hantar ke belakang"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Bawa ke hadapan"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Bawa ke paling hadapan"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Kosongkan buat asal"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Salin"
@@ -2095,35 +2055,35 @@ msgstr "Salin"
msgid "shortcuts.create-new-project"
msgstr "Buat baharu"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Potong"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zum keluar"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Padam"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Padamkan nod"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Tanggalkan komponen"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Lengkung"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "elips"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Papan"
@@ -2131,39 +2091,39 @@ msgstr "Papan"
msgid "shortcuts.draw-nodes"
msgstr "Lukis laluan"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Laluan"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Segi empat tepat"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Teks"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Pendua"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Batal"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Eksport bentuk"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zum untuk muat semua"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Terbalikkan secara mendatar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Terbalikkan secara menegak"
@@ -2187,23 +2147,23 @@ msgstr "Pergi ke perpustakaan kongsi"
msgid "shortcuts.go-to-search"
msgstr "Cari"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Kumpulan"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Edarkan secara mendatar"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Tunjukkan / Sembunyikan UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zum kedalam"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Masukkan gambar"
@@ -2211,84 +2171,84 @@ msgstr "Masukkan gambar"
msgid "shortcuts.italic"
msgstr "Togol condong"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Sambung nod"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Asas"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Papan pemuka"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Penonton"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Ruang kerja"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Penjajaran"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Sunting"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generik"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu utama"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Ubah suai lapisan"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigasi"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panel"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "laluan"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Bentuk"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Teks"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Alatan"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zum"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zum"
diff --git a/frontend/translations/nb_NO.po b/frontend/translations/nb_NO.po
index 4f052167bf..d0423d176d 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Glemt passordet?"
@@ -39,11 +39,11 @@ msgstr "Gjenopprett passord"
msgid "auth.recovery-submit"
msgstr "Endre passordet ditt"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ingen konto enda?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Opprett konto"
@@ -51,11 +51,11 @@ msgstr "Opprett konto"
msgid "auth.register-title"
msgstr "Opprett konto"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Legg til som delt bibliotek"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopi)"
@@ -63,19 +63,19 @@ msgstr "(kopi)"
msgid "dashboard.default-team-name"
msgstr "Din Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Slett lag"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Inviter til team"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Forlat team"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Delte biblioteker"
@@ -91,15 +91,15 @@ msgstr "Flytt %s filer til"
msgid "dashboard.move-to-other-team"
msgstr "Flytt til annet team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Ny fil"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nytt prosjekt"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s medlemmer"
@@ -111,63 +111,63 @@ msgstr "Åpne fil i ny fane"
msgid "dashboard.password-change"
msgstr "Endre passord"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Fest/løsne"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Prosjekter"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Ønsker du å fjerne kontoen din?"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Søk …"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Şøker etter «%s» …"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Velg grensesnittsspråk"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Velg drakt"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Vis alle filer"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Teaminfo"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Teammedlemmer"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Lagprosjekter"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Utseende"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Din konto"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ditt navn"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Avbryt"
@@ -187,7 +187,7 @@ msgstr "Ugyldig farge"
msgid "errors.invalid-recovery-token"
msgstr "Gjenopprettelsessymbolet er ugyldig."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Ukjent symbol"
@@ -211,15 +211,15 @@ msgstr "Skygge"
msgid "inspect.attributes.typography"
msgstr "Typografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Skriftfamilie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Skriftstørrelse"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Skriftstil"
@@ -247,11 +247,11 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Tekst"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Godta"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Avbryt"
@@ -263,23 +263,23 @@ msgstr "Kode"
msgid "labels.confirm-password"
msgstr "Bekreft passord"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Opprett"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Opprett nytt lag"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Skriv inn nytt lagnavn"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Oversikt"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Slett"
@@ -295,19 +295,19 @@ msgstr "Slett tråd"
msgid "labels.delete-multi-files"
msgstr "Slett %s filer"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Kladder"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Rediger"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Skriftfamilie"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Skrifter"
@@ -315,19 +315,19 @@ msgstr "Skrifter"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Installerte skrifter"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Språk"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Logg ut"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Medlemmer"
@@ -339,75 +339,75 @@ msgstr "Nytt passord"
msgid "labels.old-password"
msgstr "Gammelt passord"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Eier"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Passord"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Prosjekter"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Fjern"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Gi nytt navn"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Prøv igjen"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rolle"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Lagre"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Søk etter skrift"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Send"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Sender …"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Innstillinger"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Delte bibliotek"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Vis alle kommentarer"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Last opp"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Last opp egendefinerte skrifter"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Laster opp …"
@@ -423,11 +423,11 @@ msgstr "Laster inn bilde …"
msgid "modals.add-shared-confirm.accept"
msgstr "Legg til som delt bibliotek"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Bekreft ny e-postadresse"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ja, slett kontoen min"
@@ -447,7 +447,7 @@ msgstr "Slett fil"
msgid "modals.delete-file-multi-confirm.accept"
msgstr "Slett filer"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Slett side"
@@ -455,15 +455,15 @@ msgstr "Slett side"
msgid "modals.delete-project-confirm.accept"
msgstr "Slett prosjekt"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Slett medlem"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Slett teammedlem"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Forlat team"
@@ -471,15 +471,15 @@ msgstr "Forlat team"
msgid "modals.update-remote-component.cancel"
msgstr "Avbryt"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invitasjon sendt"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil lagret"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Innstillinger - Penpot"
@@ -487,11 +487,11 @@ msgstr "Innstillinger - Penpot"
msgid "title.settings.password"
msgstr "Passord - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Innstillinger - %s - Penpot"
@@ -499,11 +499,11 @@ msgstr "Innstillinger - %s - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Farger"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponenter"
@@ -511,43 +511,43 @@ msgstr "Komponenter"
msgid "workspace.assets.create-group"
msgstr "Opprett en gruppe"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Slett"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Rediger"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Gruppe"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Gruppenavn"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Gi nytt navn"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Størrelse"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Skriftstil"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Vis regler"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Filbibliotek"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Nylige farger"
@@ -555,46 +555,46 @@ msgstr "Nylige farger"
msgid "workspace.libraries.colors.save-color"
msgstr "Lagre fargestil"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Filbibliotek"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponent"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Eksporterer …"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Høyde"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Sett som forvalg"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Bruk forvalg"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Bredde"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rader"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Lysne"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Skjerm"
diff --git a/frontend/translations/nl.po b/frontend/translations/nl.po
index 678e93c364..661cbe3cb8 100644
--- a/frontend/translations/nl.po
+++ b/frontend/translations/nl.po
@@ -1,17 +1,18 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Stephan Paternotte \n"
-"Language-Team: Dutch "
-" \n"
+"PO-Revision-Date: 2026-11-07 07:51+0000\n"
+"Last-Translator: Stephan Paternotte \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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Heb je al een account?"
@@ -33,7 +34,7 @@ msgstr ""
"Dit is een DEMO-service, GEBRUIK DIT NIET voor echt werk, de projecten "
"worden regelmatig gewist."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Wachtwoord vergeten?"
@@ -41,37 +42,37 @@ msgstr "Wachtwoord vergeten?"
msgid "auth.fullname"
msgstr "Volledige naam"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Log in op mijn account"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Hier inloggen."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +80,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Typ een nieuw wachtwoord"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Je maakt nu deel uit van %s"
@@ -95,7 +96,7 @@ msgstr "Profiel is niet geverifieerd. Verifieer het profiel voordat je verder ga
msgid "auth.notifications.recovery-token-sent"
msgstr "Wachtwoordherstel-link is per e-mail naar je verzonden."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Succesvol toegetreden tot het team"
@@ -127,7 +128,7 @@ msgstr "Wachtwoord vergeten?"
msgid "auth.recovery-submit"
msgstr "Wachtwoord wijzigen"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Nog geen account?"
@@ -139,7 +140,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Account aanmaken"
@@ -152,7 +153,7 @@ msgstr "Account aanmaken"
msgid "auth.terms-and-privacy-agreement"
msgstr "Ik ga akkoord met de [servicevoorwaarden] (%s) en [privacybeleid] (%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Gebruiksvoorwaarden"
@@ -174,135 +175,135 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Geen mensen gevonden voor @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publiceren"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Alle Penpot-gebruikers"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Weet je zeker dat je deze link wilt verwijderen? Als je dit doet, is het "
"voor niemand meer beschikbaar"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(huidig)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Link verwijderen"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Link ophalen"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link gekopieerd"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Rechten beheren"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 pagina gedeeld"
msgstr[1] "%s pagina's gedeeld"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Kan commentaar geven"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kan code inspecteren"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Iedereen met de link heeft toegang"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Gedeelde pagina's"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "De deelbare link zal hier verschijnen"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Alleen teamleden"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Prototypes delen"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Alles selecteren"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Publicatie ongedaan maken"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Teambeheer"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot is bedoeld voor teams. Nodig leden uit om samen te werken aan "
"projecten en bestanden"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Werk samen!"
#: src/app/main/ui/dashboard/file_menu.cljs:234
msgid "dashboard-restore-file-confirmation.description"
-msgstr "Je gaat %1 herstellen."
+msgstr "Je gaat %1 terugzetten."
#: src/app/main/ui/dashboard/file_menu.cljs:233
msgid "dashboard-restore-file-confirmation.title"
-msgstr "Bestand herstellen"
+msgstr "Bestand terugzetten"
#: src/app/main/ui/dashboard/placeholder.cljs:40
msgid "dashboard.add-file"
msgstr "Bestand toevoegen"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Toevoegen als gedeelde bibliotheek"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "E-mailadres wijzigen"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "TEAM VERPLAATSEN"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Verplaatsen naar:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Projecten en bestanden blijven beschikbaar voor teamleden. Het team krijgt "
"de configuratie van de nieuwe organisatie."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Kies een organisatie"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "De organisatie van het team wijzigen"
@@ -310,7 +311,7 @@ msgstr "De organisatie van het team wijzigen"
msgid "dashboard.check-updates.available-message"
msgstr ""
"Nieuwere releases omvatten prestatieverbeteringen, nieuwe mogelijkheden en "
-"oplossingen die uw installatie actueel houden."
+"oplossingen die jouw installatie actueel houden."
#: src/app/main/ui/dashboard/check_updates.cljs:309
msgid "dashboard.check-updates.available-title"
@@ -360,23 +361,23 @@ msgstr "Volledig versielogboek weergeven"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Uitgavenotities weergeven"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Prullenbak wissen"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopie)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Nieuwe org aanmaken"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Nieuw team aanmaken"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Deze versie vastmaken"
@@ -384,7 +385,7 @@ msgstr "Deze versie vastmaken"
msgid "dashboard.default-team-name"
msgstr "Jouw Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Weet je zeker dat je al je verwijderde projecten en bestanden voor altijd "
@@ -396,44 +397,44 @@ msgstr ""
"Weet je zeker dat je %1 voor altijd wilt verwijderen? Dit is een niet "
"omkeerbare actie."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s bestanden zijn met succes verwijderd."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Voor altijd verwijderen"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Project verwijderen"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Weet je zeker dat project %s voor altijd wilt verwijderen? Het project en "
"alle bestanden die erin staan worden voor altijd verwijderd. Dit is een "
"niet omkeerbare actie."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s is met succes verwijderd."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Team verwijderen"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr ""
-"Je afval is leeg. Verwijderde bestanden en projecten zullen hier "
+"Je prullenbak is leeg. Verwijderde bestanden en projecten zullen hier "
"verschijnen."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Wordt verwijderd op %1"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Penpot-bestand downloaden (.penpot)"
@@ -445,19 +446,19 @@ msgstr "Dupliceren"
msgid "dashboard.duplicate-multi"
msgstr "%s bestanden dupliceren"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Nog geen concepten."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Zodra een projectlid een bestand heeft gemaakt, wordt het hier weergegeven."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Nog geen bestanden."
@@ -505,23 +506,23 @@ msgstr "Importeer een .penpot-bestand"
msgid "dashboard.empty-project.start"
msgstr "Begin met het bouwen van geweldige dingen"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Er is een fout opgetreden bij het verwijderen van de bestanden."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Er is een fout opgetreden bij het verwijderen van het project %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Er is een fout opgetreden bij het herstellen van het bestand %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Er is een fout opgetreden bij het herstellen van de bestanden."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr ""
"Er is een fout opgetreden bij het herstellen van het project %s en zijn "
@@ -531,37 +532,37 @@ msgstr ""
msgid "dashboard.export-binary-multi"
msgstr "%s Penpot-bestanden downloaden (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Borden exporteren als PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exporteren als PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s van %s elementen geselecteerd"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exporteren"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Je kunt exportinstellingen toevoegen aan elementen vanuit de "
"ontwerpeigenschappen (onderaan de rechter zijbalk)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Info over het instellen van exports in Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Er zijn geen elementen met exportinstellingen."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Selectie exporteren"
@@ -585,35 +586,35 @@ msgstr "Rasterweergave"
msgid "dashboard.files-layout.list"
msgstr "Lijstweergave"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Lettertype ontbreekt"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Alles negeren"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Aangepaste lettertypen die je uploadt, verschijnen hier."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Nog geen aangepaste lettertypen."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -622,7 +623,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -631,11 +632,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Alles uploaden"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -646,23 +647,23 @@ msgstr ""
"[Transfonter](https://transfonter.org/) te gebruiken om web-lettertypen te "
"genereren en soortgelijke fouten op te lossen. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Ga naar het Beheerderspaneel"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Laatst aangepast %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importeer Penpot-bestanden"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oeps! We konden dit bestand niet importeren"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 bibliotheek is automatisch op naam gekoppeld."
@@ -672,121 +673,125 @@ msgstr[1] "%s bibliotheken zijn automatisch op naam gekoppeld."
msgid "dashboard.import.bad-url"
msgstr "Importeren is mislukt. De sjabloon-URL is onjuist"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Bibliotheekkoppelingen bevestigen"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Geselecteerde bibliotheken verbinden"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Bestandsnaam"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "We konden dit bestand niet verifiëren."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Dit bestand lijkt beschadigd te zijn."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Niet alle bestanden zijn geïmporteerd"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "De volgende bestanden bevatten fouten:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Bestanden met fouten worden niet geüpload."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Er ging iets mis bij de verwerking van dit bestand."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Sommige bestanden bevatten ongeldige objecten die verwijderd zijn."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Volgende bestand"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Je hebt geen toestemming om naar dit team te importeren"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Kleuren aan het verwerken"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Componenten aan het verwerken"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Media aan het verwerken"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Pagina aan het verwerkten: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Typografie verwerken"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Gegevens uploaden naar server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Bestand aan het uploaden: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Sommige bibliotheken konden niet automatisch worden gekoppeld. Selecteer "
"voor elke bibliotheek de juiste:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Controleer de bibliotheeklinks voordat je bevestigt:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "verbinden met"
+
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "originele bibliotheek"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "Gekoppeld"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "handmatig gekoppeld"
+
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Nieuw"
+
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Geen bibliotheek geselecteerd"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Origineel"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Je gaat de uitnodigingen verwijderen op:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Je gaat de uitnodigingen opnieuw versturen:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Uitnodigingen verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Uitnodigingen opnieuw versturen"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Je hebt geen toestemming om mensen uit te nodigen om zich bij dit team aan "
"te sluiten of om uitnodigingen te bewerken of te verwijderen."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Nodig mensen uit"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "Je bent niet gemachtigd om mensen uit te nodigen voor dit team"
@@ -798,31 +803,31 @@ msgstr "Organisatie verlaten"
msgid "dashboard.leave-organization.toast"
msgstr "Je maakt niet langer deel uit van organisatie %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Team verlaten"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotheken & sjablonen"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Hier heb je een aantal bibliotheken en sjablonen die je aan je project kunt "
"toevoegen"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Ontdek er meer van en weet hoe je kunt bijdragen"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotheken"
@@ -830,7 +835,7 @@ msgstr "Bibliotheken"
msgid "dashboard.loading-files"
msgstr "bestanden laden …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "lettertypen laden …"
@@ -850,61 +855,65 @@ msgstr "Verplaats %s bestanden naar"
msgid "dashboard.move-to-other-team"
msgstr "Verplaats naar ander team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nieuw bestand"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nieuw bestand"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nieuw project"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nieuw project"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Geen overeenkomsten gevonden voor \"%s\""
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "Je hebt geen toestemming om teams toe te voegen aan je organisaties."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Nog geen organisaties."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Je mag geen teams aanmaken binnen organisatie %s. Neem voor meer informatie "
"contact op met de eigenaar van de organisatie."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Je mag geen teams verwijderen die deel uitmaken van organisatie %s. Neem "
"voor meer informatie contact op met de eigenaar van de organisatie."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Je mag geen teams verplaatsen die deel uitmaken van organisatie %s. Neem "
"voor meer informatie contact op met de eigenaar van de organisatie."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Vastgemaakte projecten worden hier weergegeven"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Meldingen"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Je e-mailadres is succesvol bijgewerkt"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Je e-mailadres is geverifieerd"
@@ -916,11 +925,11 @@ msgstr "Meldingsinstellingen bijgewerkt"
msgid "dashboard.notifications.password-saved"
msgstr "Wachtwoord succesvol opgeslagen!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Meldingen weergeven"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s leden"
@@ -928,23 +937,23 @@ msgstr "%s leden"
msgid "dashboard.open-in-new-tab"
msgstr "Bestand openen in een nieuw tabblad"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opties"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Sortering op rol"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Sortering op status"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "De organisatie %s is verwijderd."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Andere teams"
@@ -968,11 +977,11 @@ msgstr "Je bent nu eigenaar van dit team."
msgid "dashboard.permissions-change.viewer"
msgstr "Je bent nu een lezer in dit team."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Persoonlijke projecten"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Vastzetten/losmaken"
@@ -988,27 +997,27 @@ msgstr "Kan het plug-inmanifest niet verwerken"
msgid "dashboard.plugins.try-plugin"
msgstr "Probeer plugin: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Bestanden verwijderen…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
-msgstr "Bestanden herstellen…"
+msgstr "Bestanden terugzetten…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
-msgstr "Verwijdering onverwacht traag"
+msgstr "Verwijdering gaat onverwacht traag"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
-msgstr "Herstel onverwacht traag"
+msgstr "Terugzetten gaat onverwacht traag"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projecten"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Wil je je account verwijderen?"
@@ -1016,114 +1025,114 @@ msgstr "Wil je je account verwijderen?"
msgid "dashboard.removed-from-team"
msgstr "Je maakt geen deel meer uit van het team “%s“."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
-msgstr "Je gaat al je projecten en bestanden herstellen. Dit kan even duren."
+msgstr "Je gaat al je projecten en bestanden terugzetten. Dit kan even duren."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
-msgstr "Alle projecten en bestanden herstellen"
+msgstr "Alle projecten en bestanden terugzetten"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
-msgstr "Alles herstellen"
+msgstr "Alles terugzetten"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
-msgstr "%s bestanden zijn met succes hersteld."
+msgstr "%s bestanden zijn met succes teruggezet."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
-msgstr "Project herstellen"
+msgstr "Project terugzetten"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Je gaat het project %1 en alle daarin opgenomen bestanden herstellen."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
-msgstr "Project herstellen"
+msgstr "Project terugzetten"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
-msgstr "%s is met succes hersteld."
+msgstr "%s is met succes teruggezet."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Instellingen opslaan"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Zoeken…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Zoeken naar \"%s\"…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organizaties"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Teams"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
-msgstr "ORGANISATIE TOEVOEGEN"
+msgstr "AAN ORGANISATIE TOEVOEGEN"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Kies een organisatie:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" staat alleen organisatieleden toe om zich bij zijn teams aan te "
"sluiten. Eventuele openstaande uitnodigingen aan mensen buiten de "
"organisatie worden ingetrokken."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr ""
"Uitnodigingen aan externe gebruikers die nog in behandeling zijn worden "
"geannuleerd."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr "Hier vind je al je organisaties waar je teams mag aanmaken of toevoegen."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Hier bevinden zich de organisaties waar je deel van uitmaakt en waar je "
"teams mag aanmaken of toevoegen."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Kies een organisatie"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Team toevoegen aan een organisatie"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Taal selecteren"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Thema selecteren"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Donker (standaard)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Licht"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Systeemthema"
@@ -1187,11 +1196,11 @@ msgstr "Instellingen bijwerken"
msgid "dashboard.settings.notifications.title"
msgstr "Meldingen"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Alle bestanden tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Versie-geschiedenis"
@@ -1215,7 +1224,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Je bestand is succesvol verplaatst"
@@ -1227,184 +1236,184 @@ msgstr "Je bestanden zijn succesvol verplaatst"
msgid "dashboard.success-move-project"
msgstr "Je project is succesvol verplaatst"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s behoort nu tot %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Team info"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Teamleden"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s behoort niet langer tot %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Teamorganisatie"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Toevoegen aan een organisatie"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr ""
"Je hebt geen toestemming om dit team aan een van je organisaties toe te "
"voegen."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Teamorganisatie wijzigen"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Alleen mensen binnen je organisatie kunnen worden uitgenodigd."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Dit team maakt geen deel uit van een organisatie"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Team uit organisatie verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Teamprojecten"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Toevoegen aan je project"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "UI thema"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Zoekresultaten"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Verwijderde bestanden blijven in de prullenbak voor"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s dagen. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Daarna worden ze definitief verwijderd."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Als je van gedachten verandert, kun je ze herstellen of permanent "
"verwijderen uit het menu van elk bestand."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Typ om te zoeken"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Publicatie Bibliotheek ongedaan maken"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Instellingen bijwerken"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Je bent geen lid meer van de organisatie %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"WebGL-weergave kan de prestaties verbeteren, maar bevindt zich in bèta en "
"is mogelijk minder stabiel. Er kunnen enkele visuele verschillen optreden "
"tussen het doek, de export (SVG/PDF) en de weergavemodus."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Uitgeschakeld"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Ingeschakeld"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Geef feedback"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Status"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL-weergave"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Is actief"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Wanneer deze hook wordt getriggerd, worden gebeurtenisdetails afgeleverd"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Je kunt alleen door jou gemaakte webhooks verwijderen of wijzigen."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Contenttype"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Webhook aanmaken"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook is succesvol aangemaakt."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks zijn een eenvoudige manier om andere websites en apps op de hoogte "
"te stellen wanneer bepaalde gebeurtenissen bij Penpot plaatsvinden. We "
"sturen een POST-verzoek naar elke URL die je opgeeft."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Druk op de knop \"Webhook aanmaken\" om er een toe te voegen."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Er zijn nog geen webhooks aangemaakt."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Jouw account"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Naam"
@@ -1420,11 +1429,11 @@ msgstr "Waarschuwing"
msgid "ds.component-subtitle"
msgstr "Componenten bijwerken:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Toestaan"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Annuleren"
@@ -1444,7 +1453,7 @@ msgstr "Geen tokens van toepassing in actieve verzamelingen of thema's."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Geen overeenkomsten gevonden."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Lijst met tokens openen"
@@ -1452,6 +1461,12 @@ msgstr "Lijst met tokens openen"
msgid "ds.inputs.token-field.no-active-token-option"
msgstr "Token {%s} zit niet in een actieve set of heeft een ongeldige waarde."
+#: src/app/main/ui/auth/login.cljs:113
+msgid "errors.account-locked"
+msgstr ""
+"Te veel mislukte pogingen. Jouw account is voor %s minuten vergrendeld. "
+"Probeer het later nog eens."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Auth-provider is niet toegestaan voor dit profiel"
@@ -1460,17 +1475,17 @@ msgstr "Auth-provider is niet toegestaan voor dit profiel"
msgid "errors.auth-provider-not-configured"
msgstr "Authenticatie-provider niet geconfigureerd."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr ""
"Het lijkt erop dat je niet geauthentiseerd bent of dat de sessie is "
"verlopen."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Het lettertype %s kon niet geladen worden"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "De lettertypen %s konden niet geladen worden"
@@ -1482,61 +1497,66 @@ msgstr "Kan het mediabestand niet uploaden."
msgid "errors.character-limit-exceeded"
msgstr "Tekenlimiet overschreden"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr ""
"Kan bibliotheek niet toevoegen: dit zou een circulaire afhankelijkheid "
"creëren"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"Klembord-API is niet beschikbaar. Serveer Penpot via HTTPS om toegang tot "
"het klembord mogelijk te maken"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Je browser kan deze functie niet uitvoeren"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
-"Toegang klembord geweigerd. Verleen klembordrechten aan uw browser om "
+"Toegang klembord geweigerd. Verleen klembordrechten aan jouw browser om "
"inhoud te plakken"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Er is een fout opgetreden bij de opmerking"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:586
+msgid "errors.connection-error"
+msgstr ""
+"Kan de server niet bereiken Controleer je verbinding en probeer het opnieuw."
+
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Sorry! Dit is een oud bestand dat gebruikmaakt van een verouderd type "
"Penpot-activa en je niet kunt openen."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "zodat wij je kunnen helpen."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Hoewel Penpot dit soort activa niet meer ondersteunt, kun je wel"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "contact met ons opnemen"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr ""
"Een bovenliggende verzameling kan niet worden verwijderd naar een "
"onderliggend pad."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-mail is al in gebruik"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail is al gevalideerd."
@@ -1548,30 +1568,30 @@ msgstr "Je kan je e-mail niet als wachtwoord gebruiken"
msgid "errors.email-does-not-match-invitation"
msgstr "E-mail komt niet overeen met de uitnodiging."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domein niet toegestaan"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Het emailadres «%s» heeft veel permanente bounce-rapporten."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Het e-mailadres «%s» is gemeld als spam of permanent teruggestuurd."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Het lijkt erop dat je een bestand opent waarin de functie '%s' is "
"ingeschakeld, maar jouw Penpot- versie ondersteunt dit niet of heeft het "
"uitgeschakeld."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Functie '%s' wordt niet ondersteund."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Mag maximaal %s tekens bevatten."
@@ -1579,7 +1599,7 @@ msgstr "Mag maximaal %s tekens bevatten."
msgid "errors.field-min-length"
msgstr "Moet minimaal 1 teken bevatten."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Leeg veld"
@@ -1587,7 +1607,7 @@ msgstr "Leeg veld"
msgid "errors.field-not-all-whitespace"
msgstr "De naam moet een ander teken bevatten dan een spatie."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Het lijkt erop dat er een discrepantie bestaat tussen de ingeschakelde "
@@ -1595,17 +1615,17 @@ msgstr ""
"moeten migraties voor '%s' worden toegepast voordat het bestand kan worden "
"geopend."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"De familienaam van het lettertype kan alleen letters, cijfers, spaties, "
"koppeltekens, onderstrepingstekens en punten bevatten."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Er ging iets mis."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Er is iets mis gegaan met de webwerker."
@@ -1621,7 +1641,7 @@ msgstr "Ongeldige gegevens"
msgid "errors.invalid-email"
msgstr "Voer een geldig e-mailadres in"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Bevestigingsmail moet overeenkomen"
@@ -1655,11 +1675,11 @@ msgstr "Deze uitnodiging is mogelijk geannuleerd of verlopen."
msgid "errors.ldap-disabled"
msgstr "LDAP-authenticatie is uitgeschakeld."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Je hebt de limiet van '%s' bereikt. Neem contact op met support."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Het maximale (%s) aantal e-mails dat in één verzoek kan worden uitgenodigd, "
@@ -1679,21 +1699,21 @@ msgstr ""
msgid "errors.media-type-not-allowed"
msgstr "Het lijkt erop dat dit geen geldige afbeelding is."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Het profiel dat je uitnodigt, heeft e-mails gedempt (spammeldingen of hoge "
"bounces)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migratie aan de gang"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Alleen de maker van de versie kan het vergrendelen"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Alleen de maker van de versie kan het ontgrendelen"
@@ -1707,7 +1727,7 @@ msgstr ""
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "De eigenaar van de organisatie kan de organisatie niet verlaten."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Die organisatie bestaat niet"
@@ -1719,7 +1739,7 @@ msgstr "Bevestigingswachtwoord moet overeenkomen"
msgid "errors.password-too-short"
msgstr "Wachtwoord moet minimaal 8 tekens lang zijn"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Ongeldige gegevens op klembord"
@@ -1727,7 +1747,7 @@ msgstr "Ongeldige gegevens op klembord"
msgid "errors.profile-blocked"
msgstr "Het profiel is geblokkeerd"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Je profiel heeft e-mails gedempt (spammeldingen of hoge bounces)."
@@ -1735,28 +1755,32 @@ msgstr "Je profiel heeft e-mails gedempt (spammeldingen of hoge bounces)."
msgid "errors.registration-disabled"
msgstr "De registratie is momenteel uitgeschakeld."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
-"Jouw laatste wijzigingen zijn niet bevestigd als opgeslagen. Het opslaan "
-"kan niet automatisch worden hervat. Sluit of herlaad dit tabblad niet: je "
-"kunt wijzigingen verliezen. Neem contact op met ondersteuning voor hulp."
+"Autom. opslaan werkt niet vanwege een fout. Neem contact op met de "
+"ondersteuning om de fout te melden en laad de pagina opnieuw om verder te "
+"gaan vanaf je laatst opgeslagen versie."
-#: src/app/main/errors.cljs:764
+#: src/app/main/data/persistence.cljs:447
+msgid "errors.save-retrying"
+msgstr "Verbinding verbroken. Opnieuw proberen om jouw wijzigingen op te slaan."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG is ongeldig of misvormd"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Incompatibele functie '%s' gedetecteerd"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Onvoldoende leden om het team te verlaten, je kunt dit team maar beter "
"verwijderen."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Het lid dat je probeert toe te wijzen, bestaat niet."
@@ -1764,7 +1788,7 @@ msgstr "Het lid dat je probeert toe te wijzen, bestaat niet."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Alleen de eigenaar kan een team verwijderen."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Eigenaar kan het team niet verlaten, je moet de rol van eigenaar eerst "
@@ -1778,13 +1802,13 @@ msgstr "De teamnaam kan geen van de volgende tekens bevatten: '.', ':' of '/'"
msgid "errors.token-set-already-exists"
msgstr "Er bestaat al een verzameling met dezelfde naam"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Kan sleepactie niet voltooien, een verzameling met dezelfde naam bestaat "
"daar al."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Thema-optie met dezelfde naam bestaat"
@@ -1796,13 +1820,13 @@ msgstr "Het thema verwijst naar enkele niet bestaande sets: %s"
msgid "errors.tokens.circular-reference"
msgstr "Token heeft een cirkelreferentie"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"Regelafstand is afhankelijk van de lettergrootte. Voeg een lettergrootte "
"toe om de opgeloste waarde te verkrijgen."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Dit veld mag niet leeg zijn"
@@ -1822,11 +1846,11 @@ msgstr "Fout bij importeren:"
msgid "errors.tokens.invalid-color"
msgstr "Ongeldige kleurwaarde: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Ongeldige tokenwaarde: je kunt alleen verwijzen naar een font-family-token"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Ongeldige gewichtswaarde lettertype: gebruik numerieke waarden (100-950) of "
@@ -1848,41 +1872,41 @@ msgstr ""
"Tokennamen mogen alleen letters en cijfers bevatten, gescheiden door . "
"tekens en mogen niet beginnen met een $-teken."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr ""
"Ongeldig schaduwtype: alleen 'innerShadow' of 'dropShadow' worden "
"geaccepteerd"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Ongeldige tokenwaarde: alleen none, Uppercase, Lowercase of Capitalize zijn "
"toegestaan"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Ongeldige tokenwaarde: alleen none, underline en strike-through zijn "
"toegestaan"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Ongeldige waarde: moet verwijzen naar een samengesteld schaduwtoken."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Ongeldige waarde: moet verwijzen naar een samengesteld typografietoken."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Ongeldige tokenwaarde: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Ontbrekende tokenverwijzingen: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"Groepsnaam van %s is in conflict met een token met dezelfde naam in een "
@@ -1896,31 +1920,31 @@ msgstr "Er zijn geen tokens, verzamelingen of thema's gevonden in dit bestand."
msgid "errors.tokens.number-too-large"
msgstr "Ongeldige tokenwaarde. De opgeloste waarde is te groot: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "De dekking moet tussen 0 en 100% of 0 en 1 zijn (bijv. 50% of 0,5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token bevat cirkelverwijzing"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Schaduwonscherpte moet groter zijn dan of gelijk zijn aan 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "Schaduwspreiding moet groter zijn dan of gelijk zijn aan 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "De dikte van de streek moet groter zijn dan of gelijk zijn aan 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Ongeldige waarde: % is niet toegestaan."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Ongeldige waarde: Eenheden zijn niet toegestaan."
@@ -1928,19 +1952,19 @@ msgstr "Ongeldige waarde: Eenheden zijn niet toegestaan."
msgid "errors.unexpected-error"
msgstr "Er is een onverwachte fout opgetreden."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Onbekend bewijsstuk"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Deze versie is al vergrendeld"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Deze versie is vergrendeld en kan niet door anderen worden verwijderd"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Bestand heeft een incompatibel versienummer"
@@ -1973,41 +1997,41 @@ msgstr "Tenminste 1 grote letter"
msgid "errors.weak-password.too-short"
msgstr "Tenminste 8 tekens"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr ""
"WebGL is gestopt met werken. Laad de pagina opnieuw om deze opnieuw in te "
"stellen"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oeps! De context van het doek ging verloren"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Verbindingsfout, URL niet bereikbaar"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL komt niet door de validatie."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Laatste levering was niet succesvol."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Fout bij SSL-validatie."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Time-out"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Onverwachte fout bij het valideren"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Onverwachte status %s"
@@ -2027,17 +2051,17 @@ msgstr "Omschrijving"
msgid "feedback.description-placeholder"
msgstr "Beschrijf de reden van je feedback"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"We zijn blij dat je er bent. Als je hulp nodig hebt, zoek dan eerst voordat "
"je een nieuwe vraag stelt."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot-gemeenschap"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Andere manieren om contact met ons op te nemen"
@@ -2061,11 +2085,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Contact opnemen"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Hier om te helpen met je technische vragen."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X-ondersteuningsaccount"
@@ -2085,45 +2109,41 @@ msgstr "Idee"
msgid "feedback.type.issue"
msgstr "Probleem"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Bestanden downloaden"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Gekoppelde bibliotheekactiva worden niet in het bestand opgenomen."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Activa als basisobjecten behandelen"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Bestanden met gekoppelde bibliotheken worden in de export opgenomen, "
"waarbij de koppeling behouden blijft. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Bestand + bibliotheken exporteren"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"Wanneer geïmporteerd, kun je bestaande bibliotheken koppelen aan "
"overeenkomende namen."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Overeenkomende bibliotheken koppelen bij import"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"Het bestand wordt geëxporteerd met bibliotheekactiva samengevoegd met de "
"lokale bibliotheek."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Bibliotheekactiva insluiten in het bestand"
@@ -2131,13 +2151,13 @@ msgstr "Bibliotheekactiva insluiten in het bestand"
msgid "generic.error"
msgstr "er is een fout opgetreden"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Toepassen"
#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:102
msgid "import-shortcuts.diff-modal-text"
-msgstr "De volgende sneltoetsen worden gewijzigd door de geïmporteerde configuratie."
+msgstr "Deze sneltoetsen zullen veranderen:"
#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:98
msgid "import-shortcuts.diff-modal-title"
@@ -2181,7 +2201,7 @@ msgstr "Voorbeeld van de vulafbeelding van de vorm"
msgid "inspect.attributes.shadow"
msgstr "Schaduw"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Grootte en positie"
@@ -2189,43 +2209,31 @@ msgstr "Grootte en positie"
msgid "inspect.attributes.stroke"
msgstr "Streek"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Midden"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Binnenkant"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Buitenkant"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typografie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Lettertype-familie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Lettergrootte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Lettertype-stijl"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Letterafstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Regelafstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Gemengde lettertypen Families"
@@ -2235,17 +2243,17 @@ msgstr "Geen"
#: src/app/main/ui/inspect/attributes/text.cljs:117
msgid "inspect.attributes.typography.text-decoration.strikethrough"
-msgstr ""
+msgstr "Doorhalen"
#: src/app/main/ui/inspect/attributes/text.cljs:115
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Onderstrepen"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Beginhoofdletters"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Kleine letters"
@@ -2257,7 +2265,7 @@ msgstr "Geen"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Uitschakelen"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "HOOFDLETTERS"
@@ -2305,6 +2313,10 @@ msgstr "Kopiëren"
msgid "inspect.subtitle.main"
msgstr "Hoofdcomponent"
+#: src/app/main/ui/inspect/right_sidebar.cljs:176
+msgid "inspect.tabs-switcher-label"
+msgstr "Inspectietabblad schakelen"
+
#: src/app/main/ui/inspect/right_sidebar.cljs:142
msgid "inspect.tabs.code.selected.circle"
msgstr "Cirkel"
@@ -2381,23 +2393,23 @@ msgstr "Opgeloste waarde:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Variant eigenschappen"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Nieuw toegangstoken aanmaken"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Druk op de knop \"Nieuw toegangstoken aanmaken\" om er een te genereren."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Je hebt tot nu toe geen tokens."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Persoonlijke toegangstokens"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Persoonlijke toegangstokens functioneren als een alternatief voor ons "
@@ -2482,53 +2494,53 @@ msgstr "De MCP-sleutel vervalt op %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "De MCP-sleutel heeft geen vervaldatum"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Met de Penpot MCP-server kunnen MCP-clients rechtstreeks communiceren met "
"Penpot-ontwerpbestanden."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "De configuratie van MCP-clients"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Dit is de server-URL die je nodig hebt om je MCP-client te configureren "
"voor de verbinding met de Penpot MCP-server."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "MCP-sleutel opnieuw genereren"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP-sleutel"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "De MCP-sleutel is nodig voor het instellen van de MCP-client"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Status"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Uitgeschakeld"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Ingeschakeld"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"De MCP-sleutel voor de verbinding met de MCP-server is verlopen. Hierdoor "
"kan de verbinding niet tot stand worden gebracht."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Genereer de MCP-sleutel opnieuw en pas je clientconfiguratie aan met de "
@@ -2538,10 +2550,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "MCP-server"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Bèta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Naam"
@@ -2592,7 +2600,7 @@ msgstr "MCP-sleutel opnieuw genereren"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP-sleutel opnieuw gegenereerd"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Integraties"
@@ -2610,47 +2618,47 @@ msgstr "Het token vervalt op %s"
msgid "integrations.token.will-not-expire"
msgstr "Het token heeft geen vervaldatum"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Alles als gelezen markeren"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Sneltoetsen"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Over Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Accepteren"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Actief"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Toevoegen"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Eigen lettertype toevoegen"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Toevoegen…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Alles"
@@ -2658,17 +2666,17 @@ msgstr "Alles"
msgid "labels.and"
msgstr "en"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Terug"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Het lijkt erop dat je even moet wachten en het opnieuw moet proberen; we "
"voeren klein onderhoud uit aan onze servers."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2680,23 +2688,23 @@ msgstr "Vervagen"
msgid "labels.blur-effects"
msgstr "Vervagingseffecten"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Annuleren"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Controleren op updates"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Controleren op updates…"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Sluiten"
@@ -2704,7 +2712,7 @@ msgstr "Sluiten"
msgid "labels.code"
msgstr "Code"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Samenvouwen"
@@ -2716,15 +2724,15 @@ msgstr "Kleur"
msgid "labels.comment"
msgstr "Commentaar"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Commentaar"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Gemeenschap"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Gemeenschap & bijdragen"
@@ -2736,19 +2744,19 @@ msgstr "Berekend"
msgid "labels.confirm-password"
msgstr "Wachtwoord bevestigen"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Contact opnemen met ondersteuning"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Contact opnemen"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Doorgaan"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Je kunt doorgaan met een Penpot-account"
@@ -2760,23 +2768,23 @@ msgstr "Kopie"
msgid "labels.copy-color"
msgstr "Kleur kopiëren"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Link kopiëren"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-heden"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Aanmaken"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Nieuw team aanmaken"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Nieuwe teamnaam"
@@ -2784,7 +2792,7 @@ msgstr "Nieuwe teamnaam"
msgid "labels.current"
msgstr "Huidige"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Dashboard"
@@ -2792,7 +2800,7 @@ msgstr "Dashboard"
msgid "labels.default"
msgstr "Standaard"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Verwijderen"
@@ -2804,7 +2812,7 @@ msgstr "Commentaar verwijderen"
msgid "labels.delete-comment-thread"
msgstr "Thread verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Uitnodiging verwijderen"
@@ -2812,39 +2820,35 @@ msgstr "Uitnodiging verwijderen"
msgid "labels.delete-multi-files"
msgstr "%s bestanden verwijderen"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Weet je zeker dat je je profielfoto wilt verwijderen?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Profielfoto verwijderen"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Verwijderd"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Ontwikkeling"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Weggooien"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%1 downloaden"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Downloaden"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Bestand downloaden…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Concepten"
@@ -2852,19 +2856,19 @@ msgstr "Concepten"
msgid "labels.duplicate"
msgstr "Dupliceren"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Bewerken"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Redacteur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Leeg"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Fout"
@@ -2872,11 +2876,11 @@ msgstr "Fout"
msgid "labels.exit"
msgstr "Sluiten"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Verlopen"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exporteren"
@@ -2888,7 +2892,7 @@ msgstr "Feedback uitgeschakeld"
msgid "labels.feedback-sent"
msgstr "Feedback verstuurd"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2896,63 +2900,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Vullen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex layout"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Lettertype-familie"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stijlen"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Lettertypen"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHub-repository"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Geef feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Ga terug"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafisch ontwerp"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Rasterlayout"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Helpcentrum"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Hulp & studie"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Verbergen"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Verwerkt commentaar verbergen"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importeren"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactief"
@@ -2960,53 +2964,53 @@ msgstr "Inactief"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Geïnstalleerde lettertypen"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Integraties"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Er is iets ergs gebeurd."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Je kunt de bewerking opnieuw proberen of contact opnemen met de "
"ondersteuning om de fout te melden."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Interne fout"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Uitnodigingen"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Taal"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Opmaak"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Studiecentrum"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotheken en sjablonen"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Laden…"
@@ -3014,7 +3018,7 @@ msgstr "Laden…"
msgid "labels.lock"
msgstr "Vergrendelen"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Log in of meld je aan"
@@ -3022,19 +3026,19 @@ msgstr "Log in of meld je aan"
msgid "labels.login"
msgstr "Inloggen"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Uitloggen"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Lid"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Leden"
@@ -3046,43 +3050,43 @@ msgstr "Vermelden"
msgid "labels.new-password"
msgstr "Nieuw wachtwoord"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Volgende"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"Deze instantie heeft een installatiestap nodig die hoort bij de nieuwste "
"versie."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Bekijk onze"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot kan nog niet starten."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "technische handleiding"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot is tijdelijk niet beschikbaar vanwege een systeemprobleem. Probeer "
"het even later nog eens."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Je bent helemaal bij! Nieuwe commentaarmeldingen verschijnen hier."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Geen openstaande uitnodigingen."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Verzamel je mensen en bouw samen geweldige dingen."
@@ -3090,27 +3094,27 @@ msgstr "Verzamel je mensen en bouw samen geweldige dingen."
msgid "labels.no-matches"
msgstr "Geen overeenkomst"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oeps!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Meldingen"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 bestand"
msgstr[1] "%s bestanden"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 bord"
msgstr[1] "%s borden"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 project"
@@ -3120,43 +3124,43 @@ msgstr[1] "%s projecten"
msgid "labels.old-password"
msgstr "Huidig wachtwoord"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Openen"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opties"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Anders (namelijk…)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Anders"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Eigenaar"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Wachtwoord"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "In behandeling"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot wijzigingen"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot-hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Vastgemaakte projecten"
@@ -3164,31 +3168,31 @@ msgstr "Vastgemaakte projecten"
msgid "labels.post"
msgstr "Verzenden"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Vorige"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Product- of UX-ontwerp"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Product management"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profiel"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projecten"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Recent"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referentie"
@@ -3196,27 +3200,27 @@ msgstr "Referentie"
msgid "labels.refresh"
msgstr "Vernieuwen"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Release-opmerkingen"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Pagina's opnieuw laden"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Lid verwijderen"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Hernoemen"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Team hernoemen"
@@ -3240,11 +3244,11 @@ msgstr "nieuwe reactie"
msgid "labels.reply.thread"
msgstr "Reageren"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Opnieuw versturen"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Uitnodiging opnieuw versturen"
@@ -3252,43 +3256,43 @@ msgstr "Uitnodiging opnieuw versturen"
msgid "labels.restore"
msgstr "Herstellen"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Opnieuw proberen"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Opslaan"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Zoeken"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Lettertype zoeken"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Selecteer een optie"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Versturen"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Versturen…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "We zijn bezig met onderhoud van onze systemen."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Service niet beschikbaar"
@@ -3296,70 +3300,74 @@ msgstr "Service niet beschikbaar"
msgid "labels.sets"
msgstr "Verzamelingen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Instellingen"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Schaduw"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Delen"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotheek"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Weergeven"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Alle commentaar tonen"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Commentaarlijst tonen"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Alleen jouw vermeldingen weergeven"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Alleen eigen commentaar tonen"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Overslaan"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Bronnen"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"De aanmelding bij de identiteitsprovider van je organisatie is niet "
"voltooid. Het kan zijn dat de provider niet beschikbaar is, of dat jouw "
"account nog niet vermeld staat."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Opnieuw proberen"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "We konden je niet aanmelden bij %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Starten"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
@@ -3367,7 +3375,7 @@ msgstr "Status"
msgid "labels.stroke"
msgstr "Streek"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Student of docent"
@@ -3379,27 +3387,31 @@ msgstr "Stijlen"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Schakelaar"
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
+msgid "labels.team-management"
+msgstr "Team management"
+
#: src/app/main/ui/inspect/styles/style_box.cljs:30
msgid "labels.text"
msgstr "Tekst"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Thema's"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Introductie"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typografie"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Onbekende fout"
@@ -3411,35 +3423,31 @@ msgstr "Ontgrendelen"
msgid "labels.unpublish-multi-files"
msgstr "Publicatie van %s bestanden ongedaan maken"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Bijwerken"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Team bijwerken"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Uploaden"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Eigen lettertypen uploaden"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Uploaden…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Bestand uploaden…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variant"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Versie %s opmerkingen"
@@ -3447,7 +3455,7 @@ msgstr "Versie %s opmerkingen"
msgid "labels.view-only"
msgstr "Alleen weergeven"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Kijker"
@@ -3461,7 +3469,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s waarschuwing"
msgstr[1] "%s waarschuwingen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3469,18 +3477,18 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Nieuw commentaar toevoegen"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(jij)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Jouw account"
#: src/app/main/ui/ds/product/loader.cljs:21
msgid "loader.tips.01.message"
msgstr ""
-"Zorg ervoor dat uw ontwerpen consistent zijn en eenvoudig kunnen worden "
+"Zorg ervoor dat jouw ontwerpen consistent zijn en eenvoudig kunnen worden "
"bijgewerkt in verschillende projecten."
#: src/app/main/ui/ds/product/loader.cljs:20
@@ -3619,7 +3627,7 @@ msgstr ""
"Je bent het enige lid van een aantal van de teams. Deze teams worden samen "
"met de projecten en bestanden verwijderd."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "VOORDAT JE DE ORGANISATIE VERLAAT"
@@ -3627,82 +3635,82 @@ msgstr "VOORDAT JE DE ORGANISATIE VERLAAT"
msgid "modals.before-leave-organization.warning"
msgstr "Elk team waarvan je het enige lid bent, wordt verwijderd."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grote verschuiving"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Nieuw e-mailadres bevestigen"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"We sturen je een e-mail naar je huidige e-mailadres \"%s\" om je identiteit "
"te verifiëren."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nieuw e-mailadres"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "E-mailadres wijzigen"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Je e-mailadres wijzigen"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Webhook aanmaken"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Webhook aanmaken"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload-URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://voorbeeld.nl/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Annuleer en behoud mijn account"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ja, verwijder mijn account"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Als je je account verwijdert, verlies je al je huidige projecten en "
"archieven."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Deze actie is onomkeerbaar. Je account, abonnement en organisaties worden "
"onmiddellijk verwijderd. Je verliest ook de toegang tot je huidige "
"projecten en bestanden."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organisaties die zullen worden verwijderd"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s leden"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s teams"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Weet je zeker dat je je account wilt verwijderen?"
@@ -3762,23 +3770,23 @@ 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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Lettertypestijl verwijderen"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Lettertype verwijderen"
@@ -3788,19 +3796,19 @@ msgstr ""
"Weet je zeker dat je dit team dat deel uitmaakt van organisatie %s wil "
"verwijderen?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Weet je zeker dat je deze pagina wilt verwijderen?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Pagina verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Weet je zeker dat je de geselecteerde pagina's wilt verwijderen?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Pagina's verwijderen"
@@ -3816,31 +3824,31 @@ msgstr "Weet je zeker dat je dit project wilt verwijderen?"
msgid "modals.delete-project-confirm.title"
msgstr "Project verwijderen"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Bestand verwijderen"
msgstr[1] "Bestanden verwijderen"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Het is in geen enkel bestand geactiveerd."
msgstr[1] "Ze zijn in geen enkel bestand geactiveerd."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Deze bibliotheek wordt hier geactiveerd: "
msgstr[1] "Deze bibliotheken worden hier geactiveerd: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Weet je zeker dat je dit bestand wilt verwijderen?"
msgstr[1] "Weet je zeker dat je deze bestanden wilt verwijderen?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Bestand verwijderen"
@@ -3860,19 +3868,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Team verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Lid verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Weet je zeker dat je dit lid van het team wilt verwijderen?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Teamlid verwijderen"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3882,23 +3890,23 @@ msgstr[1] ""
"Activa die al in die bestanden zijn gebruikt, blijven daar staan (er wordt "
"geen ontwerp verbroken)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Webhook verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Weet je zeker dat je deze webhook wilt verwijderen?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Webhook verwijderen"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Webhook bewerken"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Webhook bewerken"
@@ -3916,15 +3924,15 @@ msgstr "Tokens importeren"
msgid "modals.import-library-tokens.title"
msgstr "Tokens importeren uit bibliotheek?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Uitnodiging versturen"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mailadressen, kommagescheiden"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Sommige leden zijn al lid van het team. We nodigen de rest wel uit."
@@ -3942,102 +3950,102 @@ msgstr "Er zijn geen uitnodigingen verzonden"
msgid "modals.invite-restricted-members.all-organization-members-in-team"
msgstr ""
"Alleen leden van de organisatie \"%s\" kunnen voor dit team worden "
-"uitgenodigd en ze zijn allemaal al teamleden. Als u meer informatie nodig "
+"uitgenodigd en ze zijn allemaal al teamleden. Als je meer informatie nodig "
"heeft, neem dan contact op met de eigenaar van de organisatie."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Adressen die geen uitnodiging ontvangen"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Annuleren"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Alleen bestaande leden van de organisatie kunnen worden uitgenodigd."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Uitnodigingen versturen"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Enkele uitnodigingen kunnen niet worden verzonden"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Sommige mensen op de lijst ontvangen de uitnodiging niet."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Je kunt leden uitnodigen voor het team zodat ze toegang hebben tot dit "
"bestand en alle teambestanden."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Leden voor het team uitnodigen"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Aangezien je het enige lid van dit team bent, wordt het team samen met de "
"projecten en bestanden verwijderd."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Weet je zeker dat je het %s team wilt verlaten?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Je kunt het team niet verlaten als er geen ander lid is om tot eigenaar te "
"promoveren. Je zou het team kunnen verwijderen."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Jij bent de eigenaar van dit team. Selecteer een ander lid om tot eigenaar "
"te maken voordat je vertrekt."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promoveren en verlaten"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Selecteer een lid om te promoveren"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Voordat je gaat"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Team verlaten"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Weet je zeker dat je dit team wilt verlaten?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Team verlaten"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Jij bent de eigenaar van de teams van sommige organisaties. Promoveer een "
"ander lid om eigenaar te worden."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Je bent het enige lid van een aantal van de teams. Deze teams worden samen "
"met de projecten en bestanden verwijderd."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Bovendien ben jij de eigenaar van de teams van sommige organisaties. "
@@ -4057,57 +4065,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Organisatie %s verlaten?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Verplaatsen"
msgstr[1] "Verplaatsen"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Weet je zeker dat je deze bibliotheek wilt verplaatsen?"
msgstr[1] "Weet je zeker dat je deze bibliotheken wilt verplaatsen?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Bibliotheek verplaatsen"
msgstr[1] "Bibliotheken verplaatsen"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Verschuiving"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Eigendom overdragen"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Als je het eigendom overdraagt, verander je je rol in beheerder en verlies "
"je enkele machtigingen voor dit team. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Je bent de huidige eigenaar van dit team. Weet je zeker dat je %s de nieuwe "
"eigenaar van het team wilt maken?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nieuwe teameigenaar"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publiceren"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Lege bibliotheek publiceren"
@@ -4129,17 +4137,17 @@ msgstr "Weet je zeker dat je het team '%s' uit de organisatie '%s' wilt verwijde
msgid "modals.remove-team-organization.title"
msgstr "TEAM UIT DE ORGANISATIE VERWIJDEREN"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Kleine verschuiving"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Publicatie ongedaan maken"
msgstr[1] "Publicaties ongedaan maken"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Weet je zeker dat je de publicatie van deze bibliotheek ongedaan wilt maken?"
@@ -4147,7 +4155,7 @@ msgstr[1] ""
"Weet je zeker dat je de publicatie van deze bibliotheken ongedaan wilt "
"maken?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Publicatie bibliotheek ongedaan maken"
@@ -4204,11 +4212,11 @@ msgstr ""
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:121
msgid "nitrate.code-activation.footer-after"
-msgstr " en neem contact met ons op:"
+msgstr "Stuur het bestand naar"
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:126
msgid "nitrate.code-activation.footer-before"
-msgstr "Een code nodig? Download je "
+msgstr "en wij sturen je je code."
#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:119
msgid "nitrate.code-activation.footer-download"
@@ -4238,38 +4246,38 @@ msgstr "Activeren"
msgid "nitrate.code-activation.title"
msgstr "Nitrate inschakelen"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Neem contact op met Verkoop"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Neem contact op met ons verkoopteam om over te schakelen naar dit "
"abonnement. Wij helpen je jouw abonnement bij te werken en ervoor te zorgen "
"dat alles correct wordt ingesteld."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Je organisatie wordt verwijderd."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Je totale opslag, automatische versiegeschiedenis en bestandsherstelperiode "
"zijn beperkt."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"De teams, projecten en bestanden zullen geen deel meer uitmaken van een "
"organisatie maar blijven wel beschikbaar."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Wanneer je overgaat naar een mindere abonnementsvorm:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Overschakelen naar abonnement %s?"
@@ -4287,17 +4295,17 @@ msgstr "Neem contact met ons op om Enterprise 14 dagen uit te proberen:"
msgid "nitrate.form.contact-upgrade"
msgstr "Neem contact met ons op om te upgraden naar Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr ""
"Neem contact met ons op om het Enterprise-abonnement 14 dagen uit te "
"proberen:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Neem contact met ons op om te upgraden naar het Enterprise-abonnement:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Er worden momenteel geen kosten in rekening gebracht. De betaling wordt aan "
@@ -4318,7 +4326,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "Volledige open-sourcevrijheid, met het bestuur dat past bij jouw organisatie"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Alles wat jouw teams nodig hebben om veilig op scale%s te werken"
@@ -4326,7 +4334,7 @@ msgstr "Alles wat jouw teams nodig hebben om veilig op scale%s te werken"
msgid "nitrate.form.enterprise.price"
msgstr "per deelnemer per maand"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Probeer het 14 dagen gratis"
@@ -4342,7 +4350,7 @@ msgstr "Aan de slag met Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "Abonneren met een activeringscode"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Enterprise-functies vrijgeven"
@@ -4354,7 +4362,7 @@ msgstr "Probeer het 14 dagen gratis"
msgid "nitrate.modal-success.title"
msgstr "Welkom bij Enterprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Actief tot %s"
@@ -4362,23 +4370,23 @@ msgstr "Actief tot %s"
msgid "nitrate.subscription.renew-success"
msgstr "Je Nitrate abonnement is verlengd."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Abonnement annuleren"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Om je Nitrate-abonnement te annuleren, kun je contact met ons opnemen via:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Verlengen met activeringscode"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Deze pagina bestaat niet"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 fout"
@@ -4396,11 +4404,11 @@ msgstr "We hebben een herstel-e-mail gestuurd naar"
msgid "not-found.login.sent-recovery-check"
msgstr "Controleer je e-mail en klik op de link om een nieuw wachtwoord te maken."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Gratis aanmelden"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "En begin binnen enkele seconden met Penpot!"
@@ -4408,71 +4416,71 @@ msgstr "En begin binnen enkele seconden met Penpot!"
msgid "not-found.made-with-love"
msgstr "Gemaakt met LIEFDE en Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Je hebt al toegang tot dit bestand aangevraagd."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Je hebt al toegang gevraagd tot dit bestand of andere bestanden of "
"projecten van dit team."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Je hebt al toegang gevraagd tot dit project of andere projecten of "
"bestanden van dit team."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Je hebt al toegang tot dit project aangevraagd."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "TOEGANG VRAGEN"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr ""
"Onthoud dat als de eigenaar het toestaat, je wordt uitgenodigd voor het "
"team."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Jouw verzoek is correct verzonden!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Je hebt geen toegang tot dit bestand."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Ga naar je Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Als de eigenaar het toestaat, word je uitgenodigd voor het team."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot-bestand"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Je hebt geen toegang tot dit project."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJECT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr ""
"Om toegang te krijgen tot dit bestand, kun je dit aan de teameigenaar "
"vragen."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr ""
"Om toegang te krijgen tot dit project, kun je dit aan de teameigenaar "
@@ -4488,33 +4496,33 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Er is een nieuwe versie beschikbaar."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Deze uitnodiging is niet meer beschikbaar."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Uitnodiging met succes verwijderd"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Uitnodiging succesvol verstuurd"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Uitnodigingslink gekopieerd"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Je kunt je profiel niet verwijderen. Wijs je teams opnieuw toe voordat je "
"verder gaat."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profiel is opgeslagen!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verificatie-e-mail verzonden naar %s. Controleer je e-mail!"
@@ -4552,7 +4560,7 @@ msgstr "Teamnaam"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Team aanmaken"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Leden uitnodigen"
@@ -4562,98 +4570,98 @@ msgstr ""
"Ontwikkelaars, ontwerpers, managers... iedereen is welkom. Later kun je nog "
"meer uitnodigen."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Uitnodigen met rol:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Laten we beginnen!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Echte code genereren vanuit ontwerpen"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Design Systems creëren"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototype"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Het ontwerp van de UI/UX van een app"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Draadmodellering"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Waarvoor ga jij Penpot gebruiken?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Laat ons iets over je weten om ons te helpen Penpot voor jou te laten "
"werken. Je antwoorden helpen ons bij het prioriteren van nieuwe functies en "
"wijzen je in de goede richting om te beginnen."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Help ons je te leren kennen"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Welke van deze hulpmiddelen gebruik je het meest?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Wat voor werk doe je?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Wat is je bedrijfsgrootte?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Waar wil je aan de slag?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1.001 - 5.000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1.000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Alleen ik"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5.001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Onderwijs"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Persoonlijk"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Werk"
@@ -4725,7 +4733,7 @@ msgstr "Actie"
#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:94
msgid "restore-shortcuts.modal-text"
-msgstr "De volgende sneltoetsen worden teruggezet naar hun standaardwaarden."
+msgstr "Deze sneltoetsen worden teruggezet naar standaard:"
#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:90
msgid "restore-shortcuts.modal-title"
@@ -4735,11 +4743,11 @@ msgstr "Standaardconfiguratie herstellen"
msgid "restore-shortcuts.restore"
msgstr "Herstellen"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Ontkoppelen"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Gemengd"
@@ -4751,35 +4759,35 @@ msgstr "Kleur verwijderen"
msgid "settings.select-this-color"
msgstr "Selecteer items in deze stijl"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Commentaar"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Onderaan uitlijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Horizontaal centreren"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Links uitlijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Rechts uitlijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Bovenaan uitlijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Verticaal centreren"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Maak bord van selectie"
@@ -4787,55 +4795,55 @@ msgstr "Maak bord van selectie"
msgid "shortcuts.bold"
msgstr "Vet in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Aftrekken (Booleaans verschil)"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Uitsluiting"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Booleaanse kruising"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Booleaanse vereniging"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Naar de achtergrond"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Naar achteren"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Naar voren"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Naar de voorgrond"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Ongedaan maken wissen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopiëren"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Link naar klembord kopiëren"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Eigenschappen kopiëren"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Component/variant aanmaken"
@@ -4843,63 +4851,63 @@ msgstr "Component/variant aanmaken"
msgid "shortcuts.create-new-project"
msgstr "Nieuw project aanmaken"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Knippen"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Uitzoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Verwijderen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Knooppunt verwijderen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Knooppunt en segmenten verwijderen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Selectie opheffen"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Component losmaken"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Sneltoets uitschakelen"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Uitgeschakeld"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Uitgeschakelde sneltoets"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Pijl"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Kromme"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellips"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Bord"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Lijn"
@@ -4907,65 +4915,65 @@ msgstr "Lijn"
msgid "shortcuts.draw-nodes"
msgstr "Pad tekenen"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Pad"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rechthoek"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Tekst"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Dupliceren"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Combinatie toegewezen aan \"%s\". Opslaan zal het daar verwijderen."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Als je opslaat, neemt deze sneltoets de oorspronkelijke waarde aan:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr ""
"Deze toetsencombinatie is beschikbaar en kan zonder conflicten worden "
"toegewezen."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Aanpassen op instellingen"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Annuleren"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Vormen exporteren"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Zoeken"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Zoeken en Vervangen"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Passend zoomen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Horizontaal spiegelen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Verticaal spiegelen"
@@ -4989,27 +4997,27 @@ msgstr "Ga naar gedeelde bibliotheek"
msgid "shortcuts.go-to-search"
msgstr "Zoeken"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Groeperen"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Horizontaal verdelen"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "UI tonen/verbergen"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Import/Export"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Inzoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Afbeelding invoegen"
@@ -5017,11 +5025,11 @@ msgstr "Afbeelding invoegen"
msgid "shortcuts.italic"
msgstr "Cursief in/uitschakelen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Knooppunten verbinden"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Druk op de toetsencombinatie"
@@ -5029,39 +5037,39 @@ msgstr "Druk op de toetsencombinatie"
msgid "shortcuts.line-through"
msgstr "Doorstrepen in/uitschakelen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Hoek maken"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Kromme maken"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maskeren"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Knooppunten samenvoegen"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Snel naar beneden verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Snel naar links verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Snel naar rechts verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Snel naar boven verplaatsen"
@@ -5069,379 +5077,379 @@ msgstr "Snel naar boven verplaatsen"
msgid "shortcuts.move-nodes"
msgstr "Knooppunt verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Naar beneden verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Naar links verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Naar rechts verplaatsen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Naar boven verplaatsen"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Volgend bord"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
-msgstr "Er zijn geen uitgeschakelde sneltoetsen"
+msgstr "Geen uitgeschakelde sneltoetsen."
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Ga naar Alles om te beginnen met het aanpassen van je sneltoetsen."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
-msgstr "Er zijn geen sneltoetsen die overeenkomen met de zoekopdracht"
+msgstr "Geen sneltoetsen die overeenkomen met de zoekopdracht."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
-msgstr "Geen sneltoets gevonden"
+msgstr "Geen sneltoetsen die overeenkomen met de zoekopdracht."
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Dekking 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Dekking 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Dekking 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Dekking 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Dekking 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Dekking 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Dekking 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Dekking 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Dekking 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Dekking 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Kleurkiezer"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Ga naar het commentaargedeelte van de kijker"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Ga naar dashboard"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ga naar de sectie voor het inspecteren van kijkers"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Ga naar de kijkersinteracties-sectie"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Ga naar de kijkersinteracties-sectie"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Ga naar werkruimte"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " of "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Deze sneltoets is opnieuw toegewezen aan %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Sneltoetsenpagina"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Plakken"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Eigenschappen plakken"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Plakken en vervangen"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Gepersonaliseerd"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Beheer van plug-ins"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Vorig bord"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Opnieuw doen"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Herlaad na het bewerken van snelkoppelingen alle andere geopende "
"Penpot-tabbladen om de wijzigingen toe te passen."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Hernoemen"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Terugzetten naar standaard"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Zoom herstellen"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Schaal"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Basis"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Dashboard"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Bekijker"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Werkruimte"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Alles selecteren"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Volgende laag selecteren"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Bovenliggende laag selecteren"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Vorige laag selecteren"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Knooppunten loskoppelen"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Toon metingen"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Pixelraster tonen/verbergen"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Sneltoetsen tonen/verbergen"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Uitlijnen op knooppunten"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Uitlijnen op pixelraster"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Start met bewerken"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Uitlijning"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Bewerken"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Algemeen"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Hoofdmenu"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Lagen wijzigen"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigatie"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigatie"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigatie"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panelen"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Paden"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Vormen"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Teksten"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Hulpmiddelen"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoomen"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Miniaturen instellen"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Sneltoetsen"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Dynamisch uitlijnen in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Activa wisselen"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Kleurenpalet in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Zichtbaarheid van commentaar wisselen"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Focusmodus in/uitschakelen"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Volledig scherm in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Hulplijnen tonen/verbergen"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Geschiedenis in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Lagen in/uitschakelen"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Flex-layout toevoegen/verwijderen"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Raster-layout toevoegen/verwijderen"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Vergrendelen/ontgrendelen"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Proporties vergrendelen"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Linialen tonen/verbergen"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Uitlijnen op hulpijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Uitlijnen op liniaal-hulplijnen"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Tekstpalet in/uitschakelen"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Thema veranderen"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Tonen/verbergen"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Zoomstijl wisselen"
@@ -5449,31 +5457,31 @@ msgstr "Zoomstijl wisselen"
msgid "shortcuts.underline"
msgstr "Onderstrepen in/uitschakelen"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Ongedaan maken"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Groep opheffen"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Masker verwijderen"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Verticaal verdelen"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Zoomlens verkleinen"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Zoomlens vergroten"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoomen naar selectie"
@@ -5492,7 +5500,7 @@ msgstr "Enterprise in actie bekijken"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5504,7 +5512,7 @@ msgstr "Enterprise Proefperiode"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Jouw abonnement"
@@ -5633,281 +5641,281 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Mensen uitnodigen bij het Unlimited-abonnement"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr ""
"Betaling is niet voltooid. Probeer het opnieuw wanneer je er klaar voor "
"bent."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"De betaling is niet voltooid. Probeer het alsjeblieft nog eens. Als het "
"probleem aanhoudt, neem dan contact met ons op: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonnement"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Activatiecode invoeren"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Voeg een betaalmethode toe om door te gaan na de proefperiode"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Admin Console"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Alle voordelen van het Professional-abonnement en:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Alle voordelen van het Unlimited-abonnement en:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Alle voordelen van het Unlimited-abonnement, plus:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editors)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (proefperiode)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-dagen automatische opslag van versies en bestandsherstel"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Gemaximeerde maandelijkse rekening"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Geavanceerde controle:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Enterprise-beveiliging:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Multi-Org-beheer:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"Native SAML/SSO en volledige Audit Trail-registratie voor "
"nalevingsrapportage."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Granulaire whitelisting van plug-ins, inclusief onze veilige, geïsoleerde "
"MCP Server voor AI-connectiviteit."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr ""
"Ondersteuning voor complexe teamhiërarchieën en afzonderlijke "
"suborganisaties."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Onbeperkte opslag"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
-msgstr "Beheer uw abonnement"
+msgstr "Abonnement beheren"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Betalingsgegevens toevoegen"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Voeg nu je betalingsgegevens toe om je abonnement na de proefperiode soepel "
"te laten verlopen en ons open-sourceproject te blijven ondersteunen. Er "
"worden nog geen kosten in rekening gebracht."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Nu overslaan en proefperiode starten"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Help ons groeien en maak je proefperiode eenvoudiger"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Momenteel heb je % s persoon in je teams die kan bewerken."
msgstr[1] "Momenteel heb je % s persoen in je teams die kunnen bewerken."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Let op: overstappen naar een lager abonnement betekent minder opslagruimte "
"en kortere back-ups en versiegeschiedenis."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editors"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(Eigenaren, beheerder en redacteuren. Kijkers tellen niet als Editors)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Je kunt niet minder editors instellen dan nu. Wijzig de rol (editor/admin "
"naar viewer) voor mensen die bestanden niet daadwerkelijk bewerken in de "
"teaminstellingen."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Berekend na proefperiode. Nu geen creditcard nodig."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s** per maand"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "%s toepassen op je teams"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Tip: Je kunt het aantal gebruikers nu verhogen om uitnodigingen te blijven "
"doen. Bij 25+ editors van verschillende teams geniet je van een vaste prijs "
"van $175/maand."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
-msgstr "Lid van Penpot sinds: %s"
+msgstr "Lid van Penpot sinds: %s."
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Meer informatie"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "org deelnemer / maand"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Overige Penpot-abonnementen"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organisatie per maand"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "gebruiker / maand"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-dagen automatische versies en bestandsherstel"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "Alle ontwerp- en prototypingfuncties met ondersteuning door de gemeenschap."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Volledige controle over data en infrastructuur."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Onbeperkte gebruikers, teams en bestanden."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB opslag"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Onbeperkte teams. Maximaal 8 editors in je eigen teams."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Aanbevolen"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Jouw abonnement"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Start gratis proefperiode"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Neem een abonnement"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Je bent op het %s-plan sinds %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Je kunt je abonnement op elk gewenst moment aanpassen via de pagina "
"'Abonnement' in je accountgegevens."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Veel plezier met je abonnement!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Bedankt voor het kiezen van het Penpot %s-abonnement!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Je bent %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Probeer het 14 dagen gratis"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (proef)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-dagen automatisch opgeslagen versies en bestandsherstel"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Maandelijkse rekening van max. $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB opslag"
@@ -5934,45 +5942,45 @@ msgstr ""
"Als je deze limiet wilt verhogen, [pas dan je abonnement "
"aan|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 uitnodiging geselecteerd"
msgstr[1] "%s uitnodigingen geselecteerd"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Lettertypeaanbieders - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Lettertypen - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projecten - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Zoeken - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Gedeelde bibliotheken - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Ontwerpvrijheid voor teams"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Feedback geven - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Integraties - Penpot"
@@ -5980,7 +5988,7 @@ msgstr "Integraties - Penpot"
msgid "title.settings.notifications"
msgstr "Meldingen - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Instellingen - Penpot"
@@ -5988,27 +5996,27 @@ msgstr "Instellingen - Penpot"
msgid "title.settings.password"
msgstr "Wachtwoord - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profiel - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Uitnodigingen - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Leden - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Instellingen - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Weergavemodus - Penpot"
@@ -6020,51 +6028,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Token loskoppelen"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Geen borden gevonden op de pagina."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Bord niet gevonden."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Commentaar (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Interacties niet tonen"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Volledig scherm"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspecteren (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interacties"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interacties (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Link kopiëren"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Interacties tonen"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Interacties tonen bij aanklikken"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Sitemap"
@@ -6101,67 +6109,67 @@ msgstr "Volg onze "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL-gids voor probleemoplossing"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL-weergave uitgeschakeld"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL-weergave ingeschakeld"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL-context ging verloren"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL-context is hersteld"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "De laatste levering was succesvol."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Horizontaal centreren (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Horizontaal verdelen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Links uitlijnen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Rechts uitlijnen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Onderkant uitlijnen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Verticaal centreren (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Verticaal verdelen (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Bovenkant uitlijnen (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Bibliotheek toevoegen"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Alle activa"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Kleuren"
@@ -6173,7 +6181,7 @@ msgstr "Kleur toevoegen"
msgid "workspace.assets.component-group-options"
msgstr "Componentgroep opties"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componenten"
@@ -6181,7 +6189,7 @@ msgstr "Componenten"
msgid "workspace.assets.components.add-component"
msgstr "Component toevoegen"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s varianten"
@@ -6189,11 +6197,11 @@ msgstr "%s varianten"
msgid "workspace.assets.create-group"
msgstr "Groep aanmaken"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "Je items krijgen automatisch de naam \"groepsnaam / itemnaam\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Verwijderen"
@@ -6201,11 +6209,11 @@ msgstr "Verwijderen"
msgid "workspace.assets.delete-group"
msgstr "Groep verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Pagina's verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Dupliceren"
@@ -6213,39 +6221,39 @@ msgstr "Dupliceren"
msgid "workspace.assets.duplicate-main"
msgstr "Hoofdcomponent dupliceren"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Bewerken"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filteren"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Rasterweergave"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Groeperen"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Groepsnaam"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Lijstweergave"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "Lokale bibliotheek"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Bibliotheek beheren"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Geen activa gevonden"
@@ -6253,7 +6261,7 @@ msgstr "Geen activa gevonden"
msgid "workspace.assets.open-library"
msgstr "Open Bibliotheek-bestand"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Hernoemen"
@@ -6261,11 +6269,11 @@ msgstr "Hernoemen"
msgid "workspace.assets.rename-group"
msgstr "Groep hernoemen"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Activa zoeken"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Gedeelde bibliotheek"
@@ -6275,43 +6283,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 component"
msgstr[1] "%s componenten"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sorteren"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typografie"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Typografie toevoegen"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Grootte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Lettertype-stijl"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Letterafstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Regelafstand"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Tekst transformeren"
@@ -6319,101 +6327,105 @@ msgstr "Tekst transformeren"
msgid "workspace.assets.ungroup"
msgstr "Groep opheffen"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Afbeelding kopiëren…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Afbeelding gekopieerd naar het klembord"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Fout bij kopiëren van afbeelding"
+#: src/app/main/ui/workspace/colorpicker.cljs:447
+msgid "workspace.colorpicker.color-picker"
+msgstr "Kies kleur van scherm"
+
#: src/app/main/ui/workspace/colorpicker.cljs:439, src/app/main/ui/workspace/colorpicker.cljs:454
msgid "workspace.colorpicker.color-tokens"
msgstr "Kleurtokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Componenten kunnen niet in zichzelf worden genest."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Sommige exemplaren konden niet worden verwisseld. Componenten kunnen niet "
"in zichzelf worden genest."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Gebied aanmaken"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Kolommen kopiëren"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Rijen kopiëren"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Bord aanmaken"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Cellen samenvoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Plakken"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Rechts 1 kolom toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Links 1 kolom toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Kolom verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Kolom en vormen verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Kolom dupliceren"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Onder 1 rij toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Boven 1 rij toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Rij verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Rij en vormen verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Rij dupliceren"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Hulplijnkleur"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Hulplijn verwijderen"
@@ -6421,15 +6433,15 @@ msgstr "Hulplijn verwijderen"
msgid "workspace.debug.title"
msgstr "Hulpmiddelen voor foutopsporing"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Focusmodus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Focus uit"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Focus aan"
@@ -6441,243 +6453,247 @@ msgstr "Lineair verloop"
msgid "workspace.gradients.radial"
msgstr "Radiaal verloop"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Dynamische uitlijning uitschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Proportionele schaal uitschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Uitlijnen op hulplijnen uitschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Uitlijnen op pixel uitschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Uitlijnen op liniaal-hulplijnen deactiveren"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "WebGL-weergave (bèta) uitschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Dynamische uitlijning inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Proportionele schaal inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Uitlijnen op hulplijnen"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Uitlijnen op pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Uitlijnen op liniaal-hulplijnen"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "WebGL-weergave (bèta) inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Zoeken"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Zoeken en Vervangen"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Bordnamen verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Commentaar verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Hulplijnen verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Kleurenpalet verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Pixelraster verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Linialen verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Lettertype-palet verbergen"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Hulplijnen vergrendelen"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Verbinding maken"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Verbinding verbreken"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Beheren (status: uitgeschakeld)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Beheren (status: ingeschakeld)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Bewerken"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Bestand"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Hulp & informatie"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP-server"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Voorkeuren"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Beeld"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Opnieuw doen"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Alles selecteren"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Bordnamen tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Commentaar weergeven"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Hulplijnen weergeven"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Kleurenpalet tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Pixelraster tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Linialen tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Lettertype-palet tonen"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Donker thema inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Licht thema inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Systeemthema inschakelen"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Ongedaan maken"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Hulplijnen ontgrendelen"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Herstellen"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:133
+msgid "workspace.header.retrying"
+msgstr "Opnieuw proberen op te slaan"
+
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Fout tijdens opslaan"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Opgeslagen"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Opslaan"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Delen"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Weergavemodus (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoomen"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Vullen - Schalen om te vullen"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Passend maken - Verkleinen om te passen"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Passend zoomen"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Volledig scherm"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Naar selectie zoomen"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Raster bewerken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Sluiten"
@@ -6685,7 +6701,7 @@ msgstr "Sluiten"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Vulling aan de onderkant"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4-zijdige opvulopties weergeven"
@@ -6721,37 +6737,37 @@ msgstr "Klaar"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Lokaliseren"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Raster-layout tonen"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 kleur"
msgstr[1] "%s kleuren"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Kleur toevoegen aan bilbliotheek"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Er zijn nog geen kleurstijlen in je bibliotheek"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Er zijn nog geen recente kleuren"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Er zijn nog geen typografiestijlen in je bibliotheek"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Bestandsbibliotheek"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Recente kleuren"
@@ -6763,75 +6779,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Kleurstijl opslaan"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Kleurenpalet wisselen"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 component"
msgstr[1] "%s componenten"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:864
+msgid "workspace.libraries.connected-libraries"
+msgstr "Verbonden bibliotheek"
+
+#: src/app/main/ui/workspace/libraries.cljs:235
+msgid "workspace.libraries.connected-through"
+msgstr "Verbinden door"
+
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Verbonden met"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Of voeg er enkele toe om te proberen:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:834
+msgid "workspace.libraries.empty.no-assets"
+msgstr "Nog geen activa"
+
+#: src/app/main/ui/workspace/libraries.cljs:918
+msgid "workspace.libraries.empty.no-connected-libraries"
+msgstr "Nog geen verbonden bibliotheken."
+
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "enkele sjablonen hier"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Bestandsbibliotheek"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 afbeelding"
msgstr[1] "%s afbeeldingen"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTHEKEN IN DIT BESTAND"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTHEKEN"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "BIBLIOTHEEK-UPDATES"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Laden…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Er zijn geen gedeelde bibliotheken die moeten worden bijgewerkt"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Geen resultaten gevonden voor “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Gedeelde bibliotheken zoeken"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
+msgid "workspace.libraries.set-as-tokens-source"
+msgstr "Instellen als tokensbron"
+
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "GEDEELDE BIBLIOTHEKEN"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:674
+msgid "workspace.libraries.shared-library-added"
+msgstr "Toegevoegd"
+
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Bibliotheek verbinden"
@@ -6855,25 +6895,47 @@ msgstr "Alle activa ontkoppelen"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Alle tokens loskoppelen"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
+msgid "workspace.libraries.token-sets"
+msgid_plural "workspace.libraries.token-sets"
+msgstr[0] "1 set"
+msgstr[1] "%s sets"
+
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
+msgid "workspace.libraries.token-themes"
+msgid_plural "workspace.libraries.token-themes"
+msgstr[0] "1 thema"
+msgstr[1] "%s thema's"
+
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
+msgid "workspace.libraries.tokens"
+msgid_plural "workspace.libraries.tokens"
+msgstr[0] "1 token"
+msgstr[1] "%s tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
+msgid "workspace.libraries.tokens-source"
+msgstr "Tokensbron"
+
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 typografie"
msgstr[1] "%s typografiën"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Bibliotheekverbinding verbreken"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Bijwerken"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "alle wijzigingen bekijken"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "UPDATES"
@@ -6935,121 +6997,125 @@ msgstr "Vervaging wisselen"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Meer opties tonen/verbergen"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Annuleren"
#: src/app/main/ui/workspace/sidebar/options/page.cljs:78, src/app/main/ui/workspace/sidebar/options/page.cljs:86
msgid "workspace.options.canvas-background"
-msgstr "Canvasachtergrond"
+msgstr "Doekachtergrond"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:75
+msgid "workspace.options.canvas-background-section"
+msgstr "Doekachtergrond-sectie"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Content bijsnijden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Component"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Aantekening"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopiëren"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Aantekening maken"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Aantekening bewerken"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Hoofd"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Component uitwisselen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Er zijn nog geen activa in deze bibliotheek"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Niet gekoppeld"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Ga naar het hoofdonderdeel"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Dit onderdeel kent conflicterende varianten. Zorg ervoor dat elke variatie "
"een unieke set eigenschapswaarden heeft."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Gedupliceerde varianten lokaliseren"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Sommige varianten hebben identieke eigenschappen en waarden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "Deze varianten hebben identieke eigenschappen en waarden."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Deze variant heeft identieke eigenschappen en waarden als een andere "
"variant."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "Sommige van deze varianten hebben identieke eigenschappen en waarden."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Dit onderdeel heeft varianten met ongeldige namen. Zorg ervoor dat elke "
"variant de juiste structuur volgt."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Ongeldige varianten localiseren"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Sommigen varianten hebben een ongeldige naam"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Ongeldige varianten zoeken"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Deze varianten hebben een ongeldige naam."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Deze variant heeft een ongeldige naam."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Sommige van deze varianten hebben een ongeldige naam."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[eigenschap]=[waarde], [eigenschap]=[waarde]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Gebruik de volgende structuur:"
@@ -7088,7 +7154,7 @@ msgstr "Heben hetzelfde hiërarchieniveau."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Groepen, borden en lay-outs worden als gelijkwaardig beschouwd."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Hoe varianten verbonden blijven"
@@ -7136,11 +7202,11 @@ msgstr "Boven- en onderkant"
msgid "workspace.options.convert-to-typography"
msgstr "Typografiestijl maken"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Ontwerp"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exporteren"
@@ -7148,53 +7214,53 @@ msgstr "Exporteren"
msgid "workspace.options.export-multiple"
msgstr "Selectie exporteren"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Export toevoegen"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Export verwijderen"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Achtervoegsel"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Exportservice is druk, probeer het later opnieuw"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Export geannuleerd"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Annuleren…"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Export klaar"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exporteren…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export mislukt"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Export onverwacht traag"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Wachten…"
@@ -7214,7 +7280,7 @@ msgstr "Vulling verwijderen"
msgid "workspace.options.fill.section"
msgstr "Sectie vullen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Grootte van bord aanpassen aan inhoud"
@@ -7234,71 +7300,77 @@ msgstr "Stroomdiagram-startpunt"
msgid "workspace.options.flows.flow-starts"
msgstr "Stroomdiagram-startpunten"
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+msgid "workspace.options.font-not-available"
+msgstr ""
+"Het lettertype dat door deze tekst wordt gebruikt (%s) is niet langer "
+"beschikbaar. Upload het lettertype opnieuw om een typografiestijl te maken"
+
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:34
msgid "workspace.options.grid.auto"
msgstr "Automatisch"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Kolommen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Kleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Tussenruimte"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Hoogte"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marge"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Als standaard instellen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Onderkant"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Midden"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Links"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Rechts"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Uitrekken"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Bovenkant"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Standaard gebruiken"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Breedte"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rijen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Vierkant"
@@ -7310,7 +7382,7 @@ msgstr "Groep vullen"
msgid "workspace.options.group-stroke"
msgstr "Groep-streek"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Hulplijn toevoegen"
@@ -7318,19 +7390,19 @@ msgstr "Hulplijn toevoegen"
msgid "workspace.options.guides.remove-guide"
msgstr "Hulplijn verwijderen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Hulplijnen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Hulplijn wisselen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Hoogte"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspecteren"
@@ -7546,115 +7618,119 @@ msgstr "Interacties"
msgid "workspace.options.interactions.add-interaction"
msgstr "Interactie toevoegen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Kleur"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Kleur versterken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Kleur verminderen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Donkerder maken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Verschil"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Uitsluiting"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Hard licht"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Tint"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Lichter maken"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Helderheid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Vermenigvuldigen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normaal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Overlay"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Verzadiging"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Scherm"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Zacht licht"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Menusectie laag"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Laagzichtbaarheid wisselen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max.Hoogte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max.Breedte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.Hoogte"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.Breedte"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Meer kleuren"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Meer bibliotheekkleuren"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Met kleurtokens"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Geen overeenkomende maatvoorinstelling"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Dekking"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:99, src/app/main/ui/workspace/sidebar/options/page.cljs:106
+msgid "workspace.options.pixel-grid-color"
+msgstr "Pixelrasterkleur"
+
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototype"
@@ -7690,23 +7766,23 @@ msgstr "Randradius van sectie"
msgid "workspace.options.radius.show-single-corners"
msgstr "Onafhankelijke radius weergeven"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recent"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Opnieuw proberen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotatie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Lettertype zoeken"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Groottevoorinstelling zoeken"
@@ -7716,11 +7792,11 @@ 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Geselecteerde kleuren"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Kleurselectie van sectie"
@@ -7788,55 +7864,55 @@ msgstr "Schaduw wisselen"
msgid "workspace.options.show-fill-on-export"
msgstr "In exports tonen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "In weergavemodus tonen"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Grootte"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Groottevoorinstellingen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Vaste verhoudingen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Vrije verhoudingen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cirkel"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Ruit"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Pijl"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Geen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Rond"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Vierkant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rechthoek"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Driehoek"
@@ -7844,31 +7920,31 @@ msgstr "Driehoek"
msgid "workspace.options.stroke-color"
msgstr "Streekkleur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Streepjes"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Ruimte"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Streekdikte"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Onder (blok-einde)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Links (inline-start)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Links (inline-einde)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Boven (blok-start)"
@@ -7876,49 +7952,49 @@ msgstr "Boven (blok-start)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Streekkleur toevoegen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Gecentreerd"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Gestreept"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Gestippeld"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Binnen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Gemengd"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Buiten"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Streken per zijde"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"De functie Streken per zijde is alleen beschikbaar in de nieuwe render. "
"Wissel de Render om het te gebruiken."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Streek verwijderen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solide"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Streek wisselen"
@@ -7954,11 +8030,11 @@ msgstr "Automatische breedte"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Vast"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Letterafstand"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Regelafstand"
@@ -8006,150 +8082,154 @@ msgstr "Onderstrepen (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Breedte"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X-as"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y-as"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Knooppunten tekenen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Uitgelijnd"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Onafhankelijk"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Gelijk"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Handlergedrag"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Knooppunten verbinden (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Naar hoek (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Naar kromme (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Knooppunten samenvoegen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Knooppunten verplaatsen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Knooppunten loskoppelen (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Uitlijnen op knooppunten (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Openen"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Ontdekken [meer plug-ins](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Nog geen plug-ins geïnstalleerd"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Het plug-in-manifest is onjuist."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Je moet een redacteur zijn om deze plug-in te gebruiken"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/data/plugins.cljs:160
+msgid "workspace.plugins.error.unreachable"
+msgstr "De URL van de plugin kon niet worden bereikt."
+
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "De plug-in bestaat niet of de URL is niet correct."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installeren"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Geïnstalleerde plug-ins"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Plug-in-beheer"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plug-ins"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "DEZE PLUGIN UPDATEN"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"De plug-in is gewijzigd sinds je hem voor het laatst hebt geopend. Het wil "
"nu ook toegang krijgen tot:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Bestandsdownloads starten."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Gegevens opslaan in de browser."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Lees de inhoud van je klembord."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Lees en schrijf naar je klembord."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Jouw opmerkingen en antwoorden lezen."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Lees en wijzig jouw opmerkingen en antwoord in jouw naam."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Lees de inhoud van bestanden waartoe gebruikers toegang hebben."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Lees en wijzig de inhoud van bestanden waartoe gebruikers toegang hebben."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Houd er rekening mee dat deze plug-in is gemaakt door een externe partij, "
@@ -8157,74 +8237,74 @@ msgstr ""
"van jouw gegevens en beveiliging zijn belangrijk voor ons. Als je je zorgen "
"maakt, neem dan contact op met ondersteuning."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Jouw bibliotheken en activa bekijken."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Jouw bibliotheken en activa lezen en aanpassen."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "PLUG-IN '%s' WIL TOEGANG TOT:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Lees de profielinformatie van de huidige gebruiker."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Plug-in-lijst"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Plug-in verwijderen"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "De URL van een plug-in invoeren"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plug-ins"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NIET NU"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Wil je even kijken? Het wordt geopend in een nieuw concept voor je huidige "
"team. (Zo niet, dan vindt je het altijd in de geïnstalleerde plug-ins van "
"elk bestand.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "PLUG-IN '%s' IS GEÏNSTALLEERD VOOR JE GEBRUIKER!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "PLUG-IN UITPROBEREN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Flex-indeling toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Rasterindeling toevoegen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Lay-out toevoegen"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Variant aanmaken"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Nieuwe eigenschap toevoegen"
@@ -8236,11 +8316,11 @@ msgstr "Naar achtergrond verplaatsen"
msgid "workspace.shape.menu.backward"
msgstr "Naar achteren verplaatsen"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Bordhulplijnen wissen"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combineren als varianten"
@@ -8248,7 +8328,7 @@ msgstr "Combineren als varianten"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Componenten moeten op dezelfde pagina staan"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopiëren"
@@ -8292,27 +8372,27 @@ msgstr "Kopiëren als tekst"
msgid "workspace.shape.menu.create-annotation"
msgstr "Aantekening maken"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Selectie naar bord"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Component aanmaken"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Meerdere componenten aanmaken"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Knippen"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Stroomdiagram-start verwijderen"
@@ -8324,7 +8404,7 @@ msgstr "Instantie losmaken"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Instanties losmaken"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Verschil"
@@ -8332,15 +8412,15 @@ msgstr "Verschil"
msgid "workspace.shape.menu.duplicate"
msgstr "Dupliceren"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Bewerken"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Uitsluiten"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Afvlakken"
@@ -8352,7 +8432,7 @@ msgstr "Horizontaal spiegelen"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Verticaal spiegelen"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Stroomdiagram-start"
@@ -8364,31 +8444,31 @@ msgstr "Naar voren brengen"
msgid "workspace.shape.menu.front"
msgstr "Naar voorgrond brengen"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Groep"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Verbergen"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Gebruikersinterface tonen/verbergen"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Doorsnede"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Vergrendelen"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Masker"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Plakken"
@@ -8396,27 +8476,27 @@ msgstr "Plakken"
msgid "workspace.shape.menu.paste-props"
msgstr "Eigenschappen plakken"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Pad"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Flex-indeling verwijderen"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Raster-layout verwijderen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Lay-out verwijderen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Eigenschap verwijderen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Variant moet ten minste één eigenschap hebben"
@@ -8440,11 +8520,11 @@ msgstr "Variant herstellen"
msgid "workspace.shape.menu.select-layer"
msgstr "Laag selecteren"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Tonen"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "In paneel Activa tonen"
@@ -8452,7 +8532,7 @@ msgstr "In paneel Activa tonen"
msgid "workspace.shape.menu.show-main"
msgstr "Hoofdcomponent tonen"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Streek naar pad"
@@ -8464,19 +8544,19 @@ msgstr "Miniatuur verwijderen"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Instellen als miniatuur"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Groep opheffen"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Vereniging"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Ontgrendelen"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Masker wegnemen"
@@ -8492,79 +8572,79 @@ msgstr "Zijbalk inklappen"
msgid "workspace.sidebar.expand"
msgstr "Zijbalk uitklappen"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Geschiedenis"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Lagen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componenten"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Borden"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Groepen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Afbeeldingen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maskers"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Geen overeenkomst"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Vervangen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Alles vervangen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Vervangen door…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Zoeken…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Zoeken en vervangen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Tekstinhoud"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Laagnamen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Vormen"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Teksten"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Geïmporteerde SVG-kenmerken"
@@ -8576,7 +8656,7 @@ msgstr "Pagina's"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Pagina toevoegen"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Sitemap"
@@ -8596,6 +8676,10 @@ msgstr "%s actieve thema's"
msgid "workspace.tokens.add-new-theme"
msgstr "Nieuw thema toevoegen"
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:106
+msgid "workspace.tokens.add-set"
+msgstr "Set toevoegen"
+
#: src/app/main/ui/workspace/tokens/sets/context_menu.cljs:62
msgid "workspace.tokens.add-set-to-group"
msgstr "Verzameling aan deze groep toevoegen"
@@ -8604,7 +8688,7 @@ msgstr "Verzameling aan deze groep toevoegen"
msgid "workspace.tokens.add-token"
msgstr "Token toevoegen: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Toegepast op"
@@ -8624,7 +8708,11 @@ msgstr "Basis lettergrootte"
msgid "workspace.tokens.base-font-size.error"
msgstr "De basislettergrootte moet een waarde zijn in pixels of zonder eenheid."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:98
+msgid "workspace.tokens.change-token-source"
+msgstr "Tokenbron wijzigen"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Kleur"
@@ -8636,7 +8724,7 @@ msgstr "Tokenpad kopiëren"
msgid "workspace.tokens.create-new-theme"
msgstr "Maak nu je eerste thema aan."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Maak er een aan."
@@ -8644,6 +8732,10 @@ msgstr "Maak er een aan."
msgid "workspace.tokens.create-token"
msgstr "Nieuw %s token aanmaken"
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:101
+msgid "workspace.tokens.current-tokens-source-tooltip"
+msgstr "Dit is de huidige tokensbron"
+
#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:437
msgid "workspace.tokens.delete"
msgstr "Token verwijderen"
@@ -8660,7 +8752,7 @@ msgstr "Token dupliceren"
msgid "workspace.tokens.duplicate-group"
msgstr "Tokensgroep dupliceren"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "kopie"
@@ -8684,7 +8776,7 @@ msgstr "%s token bewerken"
msgid "workspace.tokens.enter-token-name"
msgstr "Voer de tokennaam %s in"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr ""
"Tokens kunnen niet worden toegepast tijdens het bewerken van tekst. "
@@ -8714,7 +8806,7 @@ msgstr "Voorbeeld:"
msgid "workspace.tokens.export.single-file"
msgstr "Enkel bestand"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Lettergrootte of {alias}"
@@ -8724,7 +8816,7 @@ msgstr ""
"Fout bij instellen van lettertype gewicht/stijl. Deze lettertypestijl "
"bestaat niet in het huidige lettertype"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Voer een waarde in (300, vet, normaal cursief...) of een {alias}"
@@ -8762,7 +8854,7 @@ msgstr ""
"In één JSON-bestand moeten de sleutels op het eerste niveau de namen van de "
"tokenset zijn."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Tokens importeren"
@@ -8772,17 +8864,17 @@ msgstr ""
"Als je tokens importeert, worden al je huidige tokens, sets en thema's "
"overschreven."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Uitgeschakeld"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Deze verzameling is niet ingeschakeld. Verander het thema of activeer deze "
"verzameling om wijzigingen in de viewport te zien"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Individuele tokens gebruiken"
@@ -8802,11 +8894,11 @@ msgstr "Thema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Een thema toevoegen (bijv. Licht)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Letterafstand of {alias} toevoegen"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Voer de regelafstand in — vermenigvuldigingsfactor, px, % of {alias}"
@@ -8822,11 +8914,11 @@ msgstr "Max. grootte"
msgid "workspace.tokens.min-size"
msgstr "Min. grootte"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Ontbrekende verwijzing"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Klik met de rechtermuisknop om opties te zien"
@@ -8842,7 +8934,7 @@ msgstr "Geen thema actief"
msgid "workspace.tokens.no-permisions-set"
msgstr "Je moet een redacteur zijn om verzamelingen in/uit te schakelen"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Je moet een redacteur zijn om thema's te gebruiken"
@@ -8854,7 +8946,7 @@ msgstr "Er zijn nog geen verzamelingen gedefinieerd. Maak er eerst een aan."
msgid "workspace.tokens.no-sets-yet"
msgstr "Er zijn nog geen verzamelingen."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Er zijn geen thema's."
@@ -8866,11 +8958,25 @@ msgstr "Je hebt momenteel geen thema's."
msgid "workspace.tokens.not-remap"
msgstr "Niet opnieuw toewijzen"
+#: src/app/main/data/workspace/libraries.cljs:848
+msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
+msgstr "Tokensbronnensets of thema's zijn aangepast"
+
#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:132
msgid "workspace.tokens.num-active-sets"
msgstr "%s actieve verzamelingen"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
+msgid "workspace.tokens.only-first-fill-or-stroke"
+msgstr ""
+"Ontwerptokens kunnen alleen worden toegepast op de eerste vulling of streek "
+"in de lijst."
+
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:104
+msgid "workspace.tokens.open-source-new-tab"
+msgstr "Open de tokensbron in een nieuw tabblad"
+
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Oorspronkelijke waarde: %s"
@@ -8882,15 +8988,15 @@ msgstr "Vulling"
msgid "workspace.tokens.radius"
msgstr "Radius"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "Verwijzing in {%s} is niet geldig of staat niet in een actieve set."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Voer een alias voor tokentypografie in"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Voer een alias voor een schaduwtoken in"
@@ -8932,7 +9038,7 @@ msgstr "Tokensgroep hernoemen"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Je tokens worden automatisch hernoemd naar % s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Opgeloste waarde: %s"
@@ -8965,34 +9071,34 @@ msgstr "Thema bewerken en verzamelingen beheren"
#: src/app/main/ui/workspace/tokens/settings/menu.cljs:90
msgid "workspace.tokens.setting-description"
msgstr ""
-"Hier kunt u de basislettergrootte configureren, die de waarde van 1rem "
+"Hier kunt je de basislettergrootte configureren, die de waarde van 1rem "
"definieert:"
#: src/app/main/ui/workspace/tokens/settings/menu.cljs:83
msgid "workspace.tokens.settings"
msgstr "Instellingen voor tokens"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Schaduw toevoegen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Vervanging"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Inzet"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Schaduw verwijderen"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Spreiding"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Vervaging kan niet negatief zijn"
@@ -9000,11 +9106,11 @@ msgstr "Vervaging kan niet negatief zijn"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Spreiding kan niet negatief zijn"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -9012,11 +9118,19 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Grootte"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:75
+msgid "workspace.tokens.source"
+msgstr "Bron:"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:311, src/app/main/ui/workspace/tokens/management/context_menu.cljs:335
+msgid "workspace.tokens.stroke-width"
+msgstr "Streekdikte"
+
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize of {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through of {alias}"
@@ -9030,35 +9144,39 @@ msgstr ""
msgid "workspace.tokens.themes-list"
msgstr "Lijst met thema's"
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:80
+msgid "workspace.tokens.this-file"
+msgstr "Dit bestand"
+
#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:334, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:335
msgid "workspace.tokens.token-description"
msgstr "Beschrijving"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Lettertypefamilie selecteren"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Lettertypefamilie"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Lettertypefamilie of lijst met lettertypen gescheiden door komma (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Naam"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Er bestaat al een token op het pad: %s of op een voorvoegsel daarvan."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Naam moet minimaal 1 teken zijn"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" is geen geldige tokennaam.\n"
@@ -9069,11 +9187,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Waarde"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Voer een waarde of alias in met {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENS - %s"
@@ -9092,15 +9210,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Typ '%s' wordt niet ondersteund (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Referentie gebruiken"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "De waarde is niet geldig"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Pijl (%s)"
@@ -9108,75 +9226,75 @@ msgstr "Pijl (%s)"
msgid "workspace.toolbar.assets"
msgstr "Activa"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Kleurenpalet (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Commentaar (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Kromme (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellips (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Bord (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Afbeelding (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
+msgid "workspace.toolbar.label"
+msgstr "Tekenhulpmiddelen"
+
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Lijn (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Hier verbinden"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP verbonden"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Verplaatsen (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Paletbalk"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Pad (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plug-ins (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rechthoek (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Tekst (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typografie (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Werkbalk wisselen"
@@ -9197,11 +9315,11 @@ msgstr "Weergave niet beschikbaar. Vernieuwen om de bewerking te herstellen."
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Vernieuwen"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Er zijn tot nu toe geen wijzigingen in de geschiedenis"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "door %s"
@@ -9341,19 +9459,19 @@ msgstr "typografie asset"
msgid "workspace.undo.entry.unknown"
msgstr "Voortgang van %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Afwijzen"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Meer info"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Er zijn updates in gedeelde bibliotheken"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Bijwerken"
@@ -9443,3 +9561,448 @@ msgstr ""
#: src/app/main/ui/workspace/sidebar/versions.cljs:462
msgid "workspace.versions.warning.text"
msgstr "Automatisch opgeslagen versies worden %s dagen bewaard."
+
+#: src/app/main/ui/dashboard/sidebar.cljs:228
+msgid "dashboard.clear-search"
+msgstr "Zoekopdracht wissen"
+
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
+msgid "dashboard.fonts.delete-variant"
+msgstr "Lettertypestijl verwijderen"
+
+#: src/app/main/ui/dashboard/import.cljs:625
+msgid "dashboard.import.check.message"
+msgstr "Zorgen dat elk bestand geïmporteerd kan worden. Dit kan even duren."
+
+#: src/app/main/ui/dashboard/import.cljs:624
+msgid "dashboard.import.check.title"
+msgstr "Bestanden controleren…"
+
+#: src/app/main/ui/dashboard/import.cljs:600
+msgid "dashboard.import.importing.done"
+msgid_plural "dashboard.import.importing.done"
+msgstr[0] "1 klaar"
+msgstr[1] "%s klaar"
+
+#: src/app/main/ui/dashboard/import.cljs:637
+msgid "dashboard.import.importing.message"
+msgstr "Opnieuw bouwen van pagina's, componenten en activa in jouw project."
+
+#: src/app/main/ui/dashboard/import.cljs:598
+msgid "dashboard.import.importing.title"
+msgid_plural "dashboard.import.importing.title"
+msgstr[0] "1 bestand importeren"
+msgstr[1] "%s bestanden importeren"
+
+#: src/app/main/ui/dashboard/import.cljs:634
+msgid "dashboard.import.queued.message"
+msgstr "Bestanden worden geüpload. De import start zodra een positie vrij is."
+
+#: src/app/main/ui/dashboard/import.cljs:328, src/app/main/ui/exports/files.cljs:103
+#, unused
+msgid "jobs.queued"
+msgstr "Wachtrijpositie"
+
+#: src/app/main/ui/dashboard/import.cljs:633
+msgid "dashboard.import.queued.title"
+msgstr "Wachten om te beginnen…"
+
+#: src/app/main/ui/dashboard/import.cljs:628
+msgid "dashboard.import.ready.message"
+msgstr "Bestanden kunnen worden geïmporteerd. Ga door met het uploaden ervan."
+
+#: src/app/main/ui/dashboard/import.cljs:627
+msgid "dashboard.import.ready.title"
+msgstr "Bestanden gereed"
+
+#: src/app/main/ui/dashboard/import.cljs:331
+msgid "dashboard.import.status.ready"
+msgstr "Gereed"
+
+#: src/app/main/ui/dashboard/import.cljs:568
+msgid "dashboard.import.steps.check"
+msgstr "Controleren"
+
+#: src/app/main/ui/dashboard/import.cljs:570
+msgid "dashboard.import.steps.import"
+msgstr "Importeren"
+
+#: src/app/main/ui/dashboard/import.cljs:573
+msgid "dashboard.import.steps.label"
+msgstr "Stappen importeren"
+
+#: src/app/main/ui/dashboard/import.cljs:569
+msgid "dashboard.import.steps.upload"
+msgstr "Uploaden"
+
+#: src/app/main/ui/dashboard/import.cljs:1130
+msgid "dashboard.import.title"
+msgstr "Bestand importeren"
+
+#: src/app/main/ui/dashboard/import.cljs:631
+msgid "dashboard.import.upload.message"
+msgstr ""
+"Bestanden verzenden. Houd dit dialoogvenster open totdat de uploaden "
+"voltooid is."
+
+#: src/app/main/ui/dashboard/import.cljs:630
+msgid "dashboard.import.upload.title"
+msgstr "Bestanden uploaden…"
+
+#: src/app/main/data/exports/assets.cljs:64, src/app/main/data/exports/assets.cljs:93
+msgid "errors.export-failed"
+msgstr "De export is mislukt. Probeer het zo nog eens."
+
+#: src/app/main/data/exports/assets.cljs:372
+msgid "errors.export-too-large"
+msgstr "Te groot om te exporteren, probeer een kleinere schaal"
+
+#: src/app/main/errors.cljs:886
+msgid "errors.profile-props-too-large"
+msgstr ""
+"Je profielinstellingen zijn te groot om op te slaan. Verwijder enkele "
+"plugins en probeer het opnieuw."
+
+#: src/app/main/errors.cljs:691
+msgid "errors.save-still-retrying"
+msgstr ""
+"Jouw wijzigingen worden nog niet opgeslagen omdat Penpot de server niet kan "
+"bereiken. Ze blijven behouden en Penpot blijft proberen ze op te slaan. Houd "
+"dit tabblad open totdat ze zijn opgeslagen."
+
+#: src/app/main/data/workspace/tokens/errors.cljs:62
+msgid "errors.tokens.division-by-zero"
+msgstr "Ongeldige tokenwaarde: deling door nul"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:74
+msgid "errors.tokens.function-argument-out-of-range"
+msgstr "Ongeldige tokenwaarde: het argument van %s() ligt buiten bereik"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:66
+msgid "errors.tokens.incompatible-units"
+msgstr "Ongeldige tokenwaarde: de eenheden %s kunnen niet worden gecombineerd"
+
+#: src/app/main/data/workspace/tokens/errors.cljs:70
+msgid "errors.tokens.unknown-function"
+msgstr "Ongeldige tokenwaarde: onbekende functie %s"
+
+#: src/app/main/ui/exports/files.cljs:392
+msgid "files-download-modal.unsaved-changes"
+msgstr ""
+"Sommige van uw laatste wijzigingen zijn nog niet opgeslagen, dus deze "
+"download bevat deze niet."
+
+#: src/app/main/ui/exports/files.cljs:467
+msgid "files-export-modal.cancel-export"
+msgstr "Export annuleren"
+
+#: src/app/main/ui/exports/files.cljs:471
+msgid "files-export-modal.done"
+msgstr "Klaar"
+
+#: src/app/main/ui/exports/files.cljs:210
+msgid "files-export-modal.export-error"
+msgstr "Kon niet exporteren: %s"
+
+#: src/app/main/ui/exports/files.cljs:246
+msgid "files-export-modal.exported.message"
+msgstr "Controleer je downloadmap."
+
+#: src/app/main/ui/exports/files.cljs:239
+msgid "files-export-modal.exported.title"
+msgid_plural "files-export-modal.exported.title"
+msgstr[0] "1 bestand geëxporteerd"
+msgstr[1] "%s bestanden geëxporteerd"
+
+#: src/app/main/ui/exports/files.cljs:245
+msgid "files-export-modal.exporting.message"
+msgstr "Elk bestand wordt gedownload zodra het klaar is."
+
+#: src/app/main/ui/exports/files.cljs:238
+msgid "files-export-modal.exporting.title"
+msgid_plural "files-export-modal.exporting.title"
+msgstr[0] "1 bestand exporteren"
+msgstr[1] "%s bestanden exporteren"
+
+#: src/app/main/ui/exports/files.cljs:179
+msgid "files-export-modal.status.exported"
+msgstr "Geëxporteerd"
+
+#: src/app/main/ui/exports/files.cljs:186
+msgid "files-export-modal.status.waiting"
+msgstr "Wachten…"
+
+#: src/app/main/ui/exports/files.cljs:381
+msgid "files-export-modal.title"
+msgstr "Bestand exporteren"
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:113
+msgid "import-shortcuts.imported"
+msgstr "Geïmporteerd"
+
+#: src/app/main/ui/settings/shortcuts.cljs:511, src/app/main/ui/settings/shortcuts.cljs:513
+msgid "import-shortcuts.invalid-file"
+msgstr "Dit bestand is geen geldige export van snelkoppelingen."
+
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:153
+msgid "import-shortcuts.skipped-entries"
+msgstr ""
+"Deze vermeldingen kunnen niet worden geïmporteerd: ze komen niet overeen met "
+"een Penpot-snelkoppeling en gebruiken geen gereserveerde sleutelcombinatie."
+
+#: src/app/main/ui/inspect/code.cljs:322, src/app/main/ui/inspect/code.cljs:365
+msgid "inspect.code.expand-panel"
+msgstr "Paneel uitbreiden"
+
+#: src/app/main/ui/exports/files.cljs:223
+msgid "jobs.export-cancelled"
+msgstr "Export geannuleerd"
+
+#: src/app/main/data/imports.cljs:376
+msgid "jobs.import-cancelled"
+msgstr "Import geannuleerd"
+
+#: src/app/main/ui/jobs/progress.cljs:26
+msgid "jobs.progress.stage.colors"
+msgstr "Kleuren verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:25
+msgid "jobs.progress.stage.components"
+msgstr "Componenten verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:21
+msgid "jobs.progress.stage.files"
+msgstr "Bestanden verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:32
+msgid "jobs.progress.stage.manifest"
+msgstr "Pakket lezen"
+
+#: src/app/main/ui/jobs/progress.cljs:23
+msgid "jobs.progress.stage.media"
+msgstr "Media verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:31
+msgid "jobs.progress.stage.metadata"
+msgstr "Metagegevens verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:22
+msgid "jobs.progress.stage.pages"
+msgstr "Pagina's verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:30
+msgid "jobs.progress.stage.relations"
+msgstr "Bibliotheekverwijzingen verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:29
+msgid "jobs.progress.stage.storage-objects"
+msgstr "Opslagobjecten verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:24
+msgid "jobs.progress.stage.thumbnails"
+msgstr "Miniaturen verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:28
+msgid "jobs.progress.stage.tokens"
+msgstr "Tokens verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:27
+msgid "jobs.progress.stage.typographies"
+msgstr "Typografieën verwerken"
+
+#: src/app/main/ui/jobs/progress.cljs:34
+msgid "jobs.progress.stage.unknown"
+msgstr "Aan het werk"
+
+#: src/app/main/ui/jobs/progress.cljs:33
+msgid "jobs.progress.stage.upload"
+msgstr "Bestand uploaden…"
+
+#: src/app/main/ui/viewer/thumbnails.cljs:96
+msgid "labels.expand"
+msgstr "Uitbreiden"
+
+#: src/app/main/ui/mcp_authorize.cljs:155
+msgid "mcp.oauth.access"
+msgstr ""
+"Deze client kan ontwerpen lezen en wijzigen via MCP-verbindingen die vanuit "
+"Penpot zijn opgezet."
+
+#: src/app/main/ui/mcp_authorize.cljs:153
+msgid "mcp.oauth.account"
+msgstr "Je bent aangemeld als %s."
+
+#: src/app/main/ui/mcp_authorize.cljs:162
+msgid "mcp.oauth.approve"
+msgstr "Toegang verlenen"
+
+#: src/app/main/ui/mcp_authorize.cljs:133
+msgid "mcp.oauth.cancelled"
+msgstr "Verbinding geannuleerd"
+
+#: src/app/main/ui/mcp_authorize.cljs:157
+msgid "mcp.oauth.enable"
+msgstr ""
+"Toegang verlenen maakt de MCP-integratie mogelijk en maakt indien nodig jouw "
+"MCP-token aan."
+
+#: src/app/main/ui/mcp_authorize.cljs:137
+msgid "mcp.oauth.failed"
+msgstr ""
+"Dit verzoek is verlopen, werd al gebruikt of kon niet worden voltooid. Start "
+"de verbinding opnieuw vanaf jouw MCP-client."
+
+#: src/app/main/ui/mcp_authorize.cljs:149
+msgid "mcp.oauth.request"
+msgstr "%s wil verbinding maken met Penpot."
+
+#: src/app/main/ui/mcp_authorize.cljs:129
+msgid "mcp.oauth.title"
+msgstr "Verbinding maken met Penpot MCP"
+
+#: src/app/main/ui/shortcuts.cljs:714
+msgid "shortcuts.edit"
+msgstr "%s bewerken"
+
+#: src/app/main/ui/shortcuts.cljs:771
+msgid "shortcuts.edit-modal.reserved"
+msgstr ""
+"Deze combinatie is gereserveerd door Penpot en kan niet worden toegewezen."
+
+#: src/app/main/ui/settings/shortcuts.cljs:53
+msgid "shortcuts.reset-all"
+msgstr "Alles herstellen"
+
+#: src/app/main/ui/settings/shortcuts.cljs:44, src/app/main/ui/workspace/sidebar/shortcuts.cljs:143
+msgid "shortcuts.search"
+msgstr "Sneltoetsen zoeken"
+
+#: src/app/main/ui/settings/subscription.cljs:724
+msgid "subscription.settings.trial-ends-on"
+msgstr "Je gratis proefperiode eindigt op %s."
+
+#: src/app/main/ui/viewer.cljs:127
+msgid "viewer.go-to-first-board"
+msgstr "Ga naar het eerste bord"
+
+#: src/app/main/ui/viewer/thumbnails.cljs:70
+msgid "viewer.thumbnails.scroll-left"
+msgstr "Links bladeren"
+
+#: src/app/main/ui/viewer/thumbnails.cljs:76
+msgid "viewer.thumbnails.scroll-right"
+msgstr "Rechts bladeren"
+
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:297
+msgid "workspace.assets.typography.multiple-texts-selected"
+msgstr "Selecteer één tekst om een typografiestijl aan te maken"
+
+#: src/app/main/data/exports/assets.cljs:47
+msgid "workspace.export.unsaved-changes"
+msgstr ""
+"Sommige laatste wijzigingen zijn nog niet opgeslagen en kunnen ontbreken aan "
+"deze export."
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1050
+msgid "workspace.layout-grid.editor.columns"
+msgstr "Kolommen"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1051
+msgid "workspace.layout-grid.editor.rows"
+msgstr "Rijen"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:994
+msgid "workspace.layout-grid.editor.select-column"
+msgstr "Kolom selecteren"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:995
+msgid "workspace.layout-grid.editor.select-row"
+msgstr "Rij selecteren"
+
+#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:926
+msgid "workspace.layout-grid.editor.track-options"
+msgstr "Opties voor bijhouden"
+
+#: src/app/main/ui/workspace/libraries.cljs:921
+msgid "workspace.libraries.add-shared-library"
+msgstr "Gedeelde bibliotheek toevoegen"
+
+#: src/app/main/ui/workspace/libraries.cljs:823
+msgid "workspace.libraries.assets-in-this-file"
+msgstr "ACTIVA IN DIT BESTAND"
+
+#: src/app/main/ui/workspace/libraries.cljs:1159
+msgid "workspace.libraries.this-file"
+msgstr "Dit bestand"
+
+#: src/app/main/data/workspace/notifications.cljs:282
+msgid "workspace.notifications.file-repaired"
+msgstr ""
+"We hebben een aantal problemen in dit bestand opgelost. In de "
+"versiegeschiedenis kun je een kopie van de originele versie vinden."
+
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:44
+msgid "workspace.options.grid.params.guide-defaults"
+msgstr "Standaardhulplijnen"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516
+msgid "workspace.options.no-font-results"
+msgstr "Geen overeenkomende lettertypen"
+
+#: src/app/main/ui/workspace/plugins.cljs:344
+msgid "workspace.plugins.permissions.allow-global"
+msgstr ""
+"Actief houden terwijl je tussen het dashboard en bestanden beweegt, en jouw "
+"projecten en bestanden doorzoeken en openen."
+
+#: src/app/main/ui/workspace/plugins.cljs:365
+msgid "workspace.plugins.permissions.manage-delete"
+msgstr "Jouw bestanden en projecten verwijderen."
+
+#: src/app/main/ui/workspace/plugins.cljs:351
+msgid "workspace.plugins.permissions.manage-projects"
+msgstr "Jouw projecten aanmaken, hernoemen, vastmaken en dupliceren."
+
+#: src/app/main/ui/workspace/plugins.cljs:358
+msgid "workspace.plugins.permissions.manage-teams"
+msgstr ""
+"Jouw teams weergeven, aanmaken en hernoemen, en projecten daartussen "
+"verplaatsen."
+
+#: src/app/main/ui/workspace/plugins.cljs:188
+msgid "workspace.plugins.remove-confirmation.message"
+msgstr ""
+"Weet je zeker dat je de plugin %s wilt verwijderen? Je kunt het op elk "
+"gewenst moment opnieuw installeren."
+
+#: src/app/main/ui/workspace/plugins.cljs:187
+msgid "workspace.plugins.remove-confirmation.title"
+msgstr "Plugin verwijderen"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:53
+msgid "workspace.sidebar.options.svg-attrs.remove"
+msgstr "Kenmerk verwijderen"
+
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:253, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:226
+msgid "workspace.tokens.detach-reference"
+msgstr "Verwijzing losmaken"
+
+#: src/app/main/ui/components/mcp_menu.cljs:136
+msgid "workspace.toolbar.mcp-copy-session-id"
+msgstr "Sessie-ID kopiëren"
+
+#: src/app/main/ui/components/mcp_menu.cljs:33
+msgid "workspace.toolbar.mcp-session-copied"
+msgstr "Sessie-ID gekopieerd"
+
+#: src/app/main/ui/components/mcp_menu.cljs:132
+msgid "workspace.toolbar.mcp-session-id"
+msgstr "Sessie-ID: %s"
+
+#: src/app/main/ui/workspace/palette.cljs:211
+msgid "workspace.toolbar.palette-options"
+msgstr "Opties voor het palet"
+
+#: src/app/main/ui/workspace/sidebar/history.cljs:371
+msgid "workspace.undo.entry.show-details"
+msgstr "Details weergeven"
diff --git a/frontend/translations/pl.po b/frontend/translations/pl.po
index 352c7e9eec..fc538a9f05 100644
--- a/frontend/translations/pl.po
+++ b/frontend/translations/pl.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: Radek Sawicki \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Polish "
" \n"
"Language: pl\n"
@@ -10,9 +10,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Posiadasz już konto?"
@@ -30,7 +30,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Zapomniałeś hasła?"
@@ -38,27 +38,27 @@ msgstr "Zapomniałeś hasła?"
msgid "auth.fullname"
msgstr "Imię i nazwisko"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Zaloguj się tutaj"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "Gitlab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -78,7 +78,7 @@ msgstr "Profil nie został zweryfikowany, zweryfikuj profil przed kontynuacją."
msgid "auth.notifications.recovery-token-sent"
msgstr "Link do odzyskiwania hasła został wysłany na Twój email."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Pomyślnie dołączyłeś do zespołu"
@@ -110,11 +110,11 @@ msgstr "Zapomniałeś hasła?"
msgid "auth.recovery-submit"
msgstr "Zmień hasło"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Nie masz jeszcze konta?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Utwórz konto"
@@ -122,114 +122,114 @@ msgstr "Utwórz konto"
msgid "auth.register-title"
msgstr "Utwórz konto"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Warunki świadczenia usług"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Opublikuj"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Wszyscy użytkownicy Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Czy na pewno chcesz usunąć ten link? Jeśli to zrobisz, nie będzie już "
"dostępny dla nikogo"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(aktualne)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Usuń link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Uzyskaj link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link skopiowano pomyślnie"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Zarządzaj uprawnieniami"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 udostępniona strona"
msgstr[1] "%s udostępnione strony"
msgstr[2] "%s udostępnionych stron"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Może komentować"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Może sprawdzać kod"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Każdy, kto ma link, będzie miał dostęp"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Udostępnione strony"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Tutaj pojawi się link do udostępniania"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Tylko członkowie zespołu"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Udostępnij prototypy"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Wybierz wszystko"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Cofnij publikację"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Zarządzanie zespołem"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot jest przeznaczony dla zespołów. Zaproś członków do wspólnej pracy "
"nad projektami i plikami"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Połącz siły!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Dodaj jako Udostępnioną Bibliotekę"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Zmień email"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(skopiuj)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Utwórz nowy zespół"
@@ -237,11 +237,11 @@ msgstr "Utwórz nowy zespół"
msgid "dashboard.default-team-name"
msgstr "Twój Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Usuń zespół"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Pobierz plik Penpot (.penpot)"
@@ -257,60 +257,60 @@ msgstr "Zduplikuj %s pliki"
msgid "dashboard.export-binary-multi"
msgstr "Pobierz %s plików Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Eksportuj obszary kompozycji jako PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Eksportuj jako PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s z %s elementów wybranych"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Eksportuj"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Możesz dodać ustawienia eksportu do elementów z właściwości projektu (na "
"dole prawego paska bocznego)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informacje jak ustawić eksport w Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Nie ma elementów z ustawieniami eksportu."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Eksportuj wybrane"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Czcionka usunięta"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Odrzuć wszystko"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Niestandardowe czcionki, które prześlesz, pojawią się tutaj."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -320,7 +320,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -330,75 +330,47 @@ msgstr ""
"Możesz też przeczytać o [licencjonowaniu "
"czcionek](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Prześlij wszystko"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importuj pliki Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Kurza stopa! Nie udało się zaimportować tego pliku"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s plików zostało pomyślnie zaimportowanych."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Niektóre pliki zawierały nieprawidłowe obiekty, które zostały usunięte."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Przetwarzanie kolorów"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Przetwarzanie komponentów"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Przetwarzanie mediów"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Przetwarzanie strony: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Przetwarzanie typografii"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Przesyłanie danych na serwer (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Przesyłanie pliku: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Zaproś ludzi"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Opuść zespół"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Biblioteki i szablony"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Biblioteki współdzielone"
@@ -406,7 +378,7 @@ msgstr "Biblioteki współdzielone"
msgid "dashboard.loading-files"
msgstr "wczytywanie Twoich plików…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "wczytywanie Twoich czcionek…"
@@ -422,35 +394,35 @@ msgstr "Przenieś %s pliki do"
msgid "dashboard.move-to-other-team"
msgstr "Przenieś do innego zespołu"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Nowy plik"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Nowy plik"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nowy projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nowy projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nie znaleziono dopasowań dla “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Tutaj pojawią się przypięte projekty"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Twój adres email został pomyślnie zaktualizowany"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Twój adres email został pomyślnie zweryfikowany"
@@ -458,7 +430,7 @@ msgstr "Twój adres email został pomyślnie zweryfikowany"
msgid "dashboard.notifications.password-saved"
msgstr "Hasło zostało pomyślnie zapisane!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s członków"
@@ -466,7 +438,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/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opcje"
@@ -474,39 +446,39 @@ msgstr "Opcje"
msgid "dashboard.password-change"
msgstr "Zmień hasło"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Przypnij/Odepnij"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekty"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Czy chesz usunąć swoje konto?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Zapisz ustawienia"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Szukaj…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Wyszukiwanie “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Wybierz język interfejsu"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Wybierz temat"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Pokaż wszystkie pliki"
@@ -518,7 +490,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Twój plik został pomyślnie przeniesiony"
@@ -530,82 +502,82 @@ msgstr "Twoje pliki został pomyślnie przeniesione"
msgid "dashboard.success-move-project"
msgstr "Twój projekt został pomyślnie przeniesiony"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informacje o zespole"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Członkowie zespołu"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projekty zespołu"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Temat interfejsu"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Wyniki wyszukiwania"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Wpisz, aby wyszukać wyniki"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Cofnij publikację biblioteki"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Aktualizuj ustawienia"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Jest aktywny"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Po wywołaniu tego haka zostaną dostarczone szczegóły zdarzenia"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Typ treści"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Utwórz webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Pomyślnie utworzono webhook."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhook to prosty sposób na powiadamianie innych stron internetowych i "
"aplikacji o określonych zdarzeniach w Penpot. Wyślemy żądanie POST do "
"każdego podanego przez Ciebie adresu URL."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Naciśnij przycisk „Dodaj webhook”, aby go dodać."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Do tej pory nie utworzono żadnych webhooków."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Twoje konto"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Email"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Twoje imię"
@@ -621,7 +593,7 @@ msgstr "Uwaga"
msgid "ds.component-subtitle"
msgstr "Komponenty do aktualizacji:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Anuluj"
@@ -637,27 +609,27 @@ msgstr "Jesteś pewien?"
msgid "errors.auth-provider-not-configured"
msgstr "Dostawca uwierzytelniania nie został skonfigurowany."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Nie można załadować czcionki %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Nie można załadować czcionek %s"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Twoja przeglądarka nie może wykonać tej operacji"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Email jest już używany"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail został już zweryfikowany."
@@ -665,25 +637,25 @@ msgstr "E-mail został już zweryfikowany."
msgid "errors.email-as-password"
msgstr "Nie możesz użyć swojego adresu email jako hasła"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Email «%s» zawiera wiele stałych raportów o odrzuceniu."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Email «%s» został zgłoszony jako spam lub trwale odrzucony."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Wygląda na to, że otwierasz plik, który ma włączoną funkcję '%s'. Twój "
"interfejs użytkownika penpota jej nie obsługuje lub ma ją wyłączoną."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Funkcja '%s' nie jest obsługiwana."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Coś poszło nie tak."
@@ -695,7 +667,7 @@ msgstr "Nieprawidłowy kolor"
msgid "errors.invalid-email"
msgstr "Podaj prawidłowy adres e-mail"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "E-mail potwierdzający musi być zgodny"
@@ -715,7 +687,7 @@ msgstr "To zaproszenie może być anulowane lub wygasło."
msgid "errors.ldap-disabled"
msgstr "Uwierzytelnianie LDAP jest wyłączone."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Osiągnąłeś limit '%s'. Skontaktuj się z pomocą techniczną."
@@ -731,7 +703,7 @@ msgstr "Wygląda na to, że zawartość obrazu nie pasuje do rozszerzenia pliku.
msgid "errors.media-type-not-allowed"
msgstr "Wygląda, że to nie jest prawidłowy obraz."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"W zapraszanym profilu powiadomienia email są wyciszone (zgłoszenia spamu "
@@ -749,7 +721,7 @@ msgstr "Hasło powinno zawierać co najmniej 8 znaków"
msgid "errors.profile-blocked"
msgstr "Profil jest zablokowany"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Twój profil ma wyciszone powiadomienia email (zgłoszenia spamu lub wysokie "
@@ -759,17 +731,17 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Rejestracja jest obecnie wyłączona."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Niewystarczająca liczba członków, aby opuścić zespół, prawdopodobnie chcesz "
"go usunąć."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Członek, którego próbujesz przypisać, nie istnieje."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Właściciel nie może opuścić zespołu, musisz ponownie przypisać rolę "
@@ -779,35 +751,35 @@ msgstr ""
msgid "errors.unexpected-error"
msgstr "Wystąpił nieoczekiwany błąd."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Nieznany token"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Błąd połączenia, adres URL nieosiągalny"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "Adres URL nie przechodzi weryfikacji."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Ostatnia wysyłka nie powiodła się."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Błąd podczas sprawdzania poprawności SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Koniec czasu"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Nieoczekiwany błąd podczas sprawdzania poprawności"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Nieoczekiwany status %s"
@@ -823,13 +795,13 @@ msgstr "Stare hasło jest nieprawidłowe"
msgid "feedback.description"
msgstr "Opis"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Cieszymy się, że tu jesteś. Jeśli potrzebujesz pomocy, poszukaj jej zanim "
"napiszesz."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Społeczność Penpot"
@@ -843,11 +815,11 @@ msgstr ""
"Opisz powód swojego e-maila, określając, czy jest to problem, pomysł czy "
"wątpliwość. Członek naszego zespołu odpowie tak szybko, jak to możliwe."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Służymy pomocą w kwestiach technicznych."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Konto wsparcia na Xze"
@@ -879,7 +851,7 @@ msgstr "Pobierz obraz źródłowy"
msgid "inspect.attributes.shadow"
msgstr "Cień"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Rozmiar i położenie"
@@ -887,39 +859,27 @@ msgstr "Rozmiar i położenie"
msgid "inspect.attributes.stroke"
msgstr "Obrys"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Środek"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Wewnątrz"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Zewnątrz"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Rodzina czcionek"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Rozmiar czcionki"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Styl czcionki"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Rozstaw liter"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Wysokość linii"
@@ -931,11 +891,11 @@ msgstr "Brak"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Podkreślenie"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Kapitaliki"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "małe litery"
@@ -943,7 +903,7 @@ msgstr "małe litery"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "Brak"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "DUŻE LITERY"
@@ -1005,27 +965,27 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Tekst"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Skróty"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Akceptuj"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktywny"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Dodaj niestandardową czcionkę"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Wszystko"
@@ -1033,25 +993,25 @@ msgstr "Wszystko"
msgid "labels.and"
msgstr "i"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Cofnij"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Wygląda na to, że musisz trochę poczekać i spróbować ponownie; wykonujemy "
"drobne prace konserwacyjne naszych serwerów."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Anuluj"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Zamknij"
@@ -1059,11 +1019,11 @@ msgstr "Zamknij"
msgid "labels.code"
msgstr "Kod"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Komentarze"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Społeczność"
@@ -1071,35 +1031,35 @@ msgstr "Społeczność"
msgid "labels.confirm-password"
msgstr "Potwierdź hasło"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Kontynuuj"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Możesz kontynuować z kontem Penpot"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopiuj link"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Stwórz"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Stwórz nowy zespół"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Wprowadź nazwę nowego zespołu"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Kokpit"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Usuń"
@@ -1111,7 +1071,7 @@ msgstr "Usuń komentarz"
msgid "labels.delete-comment-thread"
msgstr "Usuń wątek"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Usuń zaproszenie"
@@ -1119,23 +1079,23 @@ msgstr "Usuń zaproszenie"
msgid "labels.delete-multi-files"
msgstr "Usuń %s plików"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Szkice"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Edytuj"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Edytor"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Wygasły"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Eksportuj"
@@ -1147,39 +1107,39 @@ msgstr "Opinie wyłączone"
msgid "labels.feedback-sent"
msgstr "Opinia wysłana"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Rodzina czcionek"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Style"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Czcionki"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repozytorium Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Dodaj opinię"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Wróć"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centrum Pomocy"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ukryj rozwiązane komentarze"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Nieaktywny"
@@ -1187,39 +1147,39 @@ msgstr "Nieaktywny"
msgid "labels.info"
msgstr "Informacje"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Zainstalowane czcionki"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Błąd wewnętrzny"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Zaproszenia"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Język"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Biblioteki i szablony"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Zaloguj się lub zarejestruj"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Wyloguj"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Członek"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Członkowie"
@@ -1227,35 +1187,35 @@ msgstr "Członkowie"
msgid "labels.new-password"
msgstr "Nowe hasło"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr ""
"Wszyscy jesteście na bieżąco! Tutaj będą pojawiać się powiadomienia o "
"nowych komentarzach."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Brak oczekujących zaproszeń."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Kurza stopa!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 plik"
msgstr[1] "%s pliki"
msgstr[2] "%s plików"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 artboard"
msgstr[1] "%s artboardy"
msgstr[2] "%s artboardów"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projekt"
@@ -1266,107 +1226,107 @@ msgstr[2] "%s projektów"
msgid "labels.old-password"
msgstr "Stare hasło"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Właściciel"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Hasło"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Oczekiwanie"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekty"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Uwagi do wydania"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Usuń"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Usuń członka zespołu"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Zmień nazwę"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Zmień nazwę zespołu"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Wyślij ponownie zaproszenie"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Ponów"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rola"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Zapisz"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Szukaj czcionki"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Wyślij"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Wysyłanie…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Zajmujemy się planowaną konserwacją naszych systemów."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Serwis niedostępny"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Ustawienia"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Biblioteki Współdzielone"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Pokaż wszystkie komentarze"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Pokaż listę komentarzy"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Pokaż tylko swoje komentarze"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Samouczki"
@@ -1374,23 +1334,23 @@ msgstr "Samouczki"
msgid "labels.unpublish-multi-files"
msgstr "Cofnij publikację plików %s"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Aktualizuj"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Zaktualizuj zespół"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Wgraj"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Wgraj niestandardowe czcionki"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Wgrywanie…"
@@ -1398,11 +1358,11 @@ msgstr "Wgrywanie…"
msgid "labels.view-only"
msgstr "TYLKO PODGLĄD"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Widz"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooki"
@@ -1410,11 +1370,11 @@ msgstr "Webhooki"
msgid "labels.write-new-comment"
msgstr "Napisz nowy komentarz"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(Ty)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Twoje konto"
@@ -1436,61 +1396,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Dodaj “%s” jako Bibliotekę Współdzieloną"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Duże przesunięcie"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Zweryfikuj nowy email"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Wyślemy Ci wiadomość na Twój aktualny adres email “%s”, żeby zweryfikować "
"Twoją tożsamość."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Nowy email"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Zmień email"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Zmień swój email"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Utwórz webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Utwórz webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Ładowność URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Anuluj i zachowaj moje konto"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Tak, usuń moje konto"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Usuwając konto, stracisz wszystkie swoje bieżące i archiwalne projekty."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Czy na pewno chcesz usunąć swoje konto?"
@@ -1532,31 +1492,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Usuwanie stylu czcionki"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Usuwanie czcionki"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Czy na pewno chcesz usunąć tę stronę?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Usuń stronę"
@@ -1572,21 +1532,21 @@ msgstr "Czy na pewno chcesz usunąć ten projekt?"
msgid "modals.delete-project-confirm.title"
msgstr "Usuń projekt"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Usuń plik"
msgstr[1] "Usuń pliki"
msgstr[2] "Usuń pliki"
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Czy na pewno chcesz usunąć ten plik?"
msgstr[1] "Czy na pewno chcesz usunąć te pliki?"
msgstr[2] "Czy na pewno chcesz usunąć te pliki?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Usuwanie pliku"
@@ -1607,139 +1567,139 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Usuwanie zespołu"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Usuń członka"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Czy na pewno chcesz usunąć tego członka z zespołu?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Usuń członka zespołu"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Usuń webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Czy na pewno chcesz usunąć ten webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Usuwanie webhooka"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Edytuj webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Edytuj webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Wyślij zaproszenie"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Emaile, oddzielone przecinkami"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Zaproś członków do zespołu"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Ponieważ jesteś jedynym członkiem tego zespołu, zespół zostanie usunięty "
"wraz z projektami i plikami."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Czy na pewno chcesz opuścić zespół %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Nie możesz opuścić zespołu, jeśli nie ma innego członka, którego można by "
"awansować na właściciela. Możesz chcieć usunąć zespół."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Jesteś właścicielem tego zespołu. Wybierz innego członka, którego chcesz "
"awansować na właściciela, zanim odejdziesz."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Awansuj i odejdź"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Wybierz członka do awansu"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Zanim opuścisz"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Opuść zespół"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Czy na pewno chcesz opuścić ten zespół?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Opusczanie zespołu"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Ilość przesunięcia"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Przeniesienie własności"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Jeśli przeniesiesz własność, zmienisz swoją rolę na administratora, tracąc "
"niektóre uprawnienia w tym zespole. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Jesteś obecnym właścicielem tego zespołu. Czy na pewno chcesz, aby %s "
"został nowym właścicielem zespołu?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Nowy właściciel zespołu"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Małe przesunięcie"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Cofnij publikację"
msgstr[1] "Cofnij publikacje"
msgstr[2] "Cofnij publikacje"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Czy na pewno chcesz cofnąć publikację tej biblioteki?"
msgstr[1] "Czy na pewno chcesz cofnąć publikację tych bibliotek?"
msgstr[2] "Czy na pewno chcesz cofnąć publikację tych bibliotek?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Cofnij publikację biblioteki"
@@ -1764,25 +1724,25 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Zaktualizuj komponent w bibliotece współdzielonej"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Zaproszenie wysłane pomyślnie"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Link do zaproszenia został skopiowany"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Nie możesz usunąć swojego profilu. Zmień przypisanie swoich zespołów, zanim "
"przejdziesz dalej."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil został pomyślnie zapisany!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Email weryfikacyjny został wysłany do %s. Sprawdź swój email!"
@@ -1798,11 +1758,11 @@ msgstr "Witamy w Penpot!"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "Po nazwaniu swojego zespołu będziesz mógł zapraszać osoby do dołączenia."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Zaproś członków"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Zaproś z rolą:"
@@ -1848,79 +1808,79 @@ msgstr "Zacznij projektować"
msgid "profile.recovery.go-to-login"
msgstr "Przejdź do logowania"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mieszane"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Komentarze"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Wyrównaj do dołu"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Wyrównaj do środka w poziomie"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Wyrównaj do lewej"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Wyrównaj do prawej"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Wyrównaj do góry"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Wyrównaj do środka w pionie"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Utwórz obszar kompozycji z wybranych"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Różnica logiczna"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Wykluczenie logiczne"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Logiczny punkt przecięcia"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Związek logiczny"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Przesuń na spód"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Przesuń niżej"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Przesuń wyżej"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Przesuń na wierzch"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Wyczyść cofnięcia"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopiuj"
@@ -1928,35 +1888,35 @@ msgstr "Kopiuj"
msgid "shortcuts.create-new-project"
msgstr "Stwórz nowy"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Wytnij"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Oddal"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Usuń"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Usuń węzeł"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Odłącz komponent"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Krzywa"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipsa"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Obszar kompozycji"
@@ -1964,39 +1924,39 @@ msgstr "Obszar kompozycji"
msgid "shortcuts.draw-nodes"
msgstr "Rysuj ścieżkę"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Ścieżka"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Prostokąt"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Tekst"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplikuj"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Anuluj"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Eksportuj kształty"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Powiększ, aby dopasować wszystko"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Obróć poziomo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Obróć pionowo"
@@ -2012,63 +1972,63 @@ msgstr "Idź do bibliotek współdzielonych"
msgid "shortcuts.go-to-search"
msgstr "Szukaj"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grupa"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Rozłóż w poziomie"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Pokaż/ukryj UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Przybliż"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Wstaw obraz"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Połącz węzły"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Zrób narożnik"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Zrób krzywą"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maska"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Scal węzły"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Przesuń"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Szybko w dół"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Szybko w lewo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Szybko w prawo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Szybko w górę"
@@ -2076,329 +2036,329 @@ msgstr "Szybko w górę"
msgid "shortcuts.move-nodes"
msgstr "Przesuń węzeł"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "W dół"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "W lewo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "W prawo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "W górę"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Następny obszar kompozycji"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nie znaleziono skrótów"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Ustaw krycie na 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Ustaw krycie na 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Ustaw krycie na 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Ustaw krycie na 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Ustaw krycie na 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Ustaw krycie na 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Ustaw krycie na 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Ustaw krycie na 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Ustaw krycie na 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Ustaw krycie na 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Próbnik kolorów"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Przejdź do sekcji komentarzy widzów"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Idź do kokpitu"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Przejdź do sekcji kontroli widzów"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Idź do sekcji interakcji widza"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Idż do sekcji interakcji widza"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Idż do obszaru roboczego"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " lub "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Wklej"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Poprzedni artboard"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Ponów"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Resetuj powiększenie"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Podstawy"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Kokpit"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Widz"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Obszar roboczy"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Wybierz wszystko"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Oddziel węzły"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Pokaż/ukryj siatkę pikseli"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Pokaż/ukryj skróty"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Przyciągaj do węzłów"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Przyciągaj do siatki pikseli"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Rozpocznij edycję"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Wyrównanie"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Edytuj"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Ogólny"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu główne"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modyfikuj warstwy"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Nawigacja"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Nawigacja"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Nawigacja"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panele"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Ścieżki"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Kształty"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Narzędzia"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Przybliżenie"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Przybliżenie"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Ustaw miniaturki"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Skróty klawiaturowe"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Przełącz dynamiczne wyrównanie"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Przełącz zasoby"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Przełącz paletę kolorów"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Przełącz tryb skupienia"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Przełącz tryb pełnoekranowy"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Przełącz historię"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Przełącz warstwy"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Dodaj/usuń flex układu"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Zablokuj wybrane"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Zablokuj proporcje"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Przełącz paletę tekstu"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Przełącz sposób powiększania"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Cofnij"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Rozgrupuj"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Usuń maskę"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Rozłóż w pionie"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Przybliż wybrane"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Dostawcy Czcionek - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Czcionki - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekty - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Szukaj - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Biblioteki Współdzielone - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot — swoboda projektowania dla zespołów"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Przekaż opinię - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Ustawienia - Penpot"
@@ -2406,27 +2366,27 @@ msgstr "Ustawienia - Penpot"
msgid "title.settings.password"
msgstr "Hasło - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Zaproszenia - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Członkowie - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Ustawienia - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooki - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Tryb wyświetlania - Penpot"
@@ -2434,99 +2394,99 @@ msgstr "%s - Tryb wyświetlania - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Na stronie nie znaleziono obszarów kompozycji."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Obszar kompozycji nie znaleziony."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Komentarze (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Nie pokazuj interakcji"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Pełny ekran"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Sprawdź (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interakcje"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interakcje (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopiuj link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Pokaż interakcje"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Pokaż interakcje po kliknięciu"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa strony"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Ostatnia wysyłka przebiegła pomyślnie."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Wyrównaj do środka w poziomie (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Rozłóż odstępy w poziomie (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Wyrównaj do lewej (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Wyrównaj do prawej (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Wyrównaj do dołu (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Wyrównaj do środka w pionie (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Rozłóż odstępy w pionie (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Wyrównaj do góry (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Wszystkie zasoby"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Kolory"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponenty"
@@ -2534,41 +2494,41 @@ msgstr "Komponenty"
msgid "workspace.assets.create-group"
msgstr "Utwórz grupę"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Twoje elementy zostaną automatycznie nazwane jako „nazwa grupy / nazwa "
"elementu”"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Usuń"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplikuj"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Edytuj"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grupa"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nazwa grupy"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "lokalna biblioteka"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nie znaleziono zasobów"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Zmień nazwę"
@@ -2576,43 +2536,43 @@ msgstr "Zmień nazwę"
msgid "workspace.assets.rename-group"
msgstr "Zmień nazwę grupy"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Szukaj zasobów"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typografia"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr ""
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Rozmiar"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Styl czcionki"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Odstępy między literami"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Wysokość Linii"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformacja tekstu"
@@ -2620,15 +2580,15 @@ msgstr "Transformacja tekstu"
msgid "workspace.assets.ungroup"
msgstr "Rozgrupuj"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Tryb skupienia"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Tryb skupienia wyłączony"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Tryb skupienia włączony"
@@ -2640,139 +2600,139 @@ msgstr "Gradient liniowy"
msgid "workspace.gradients.radial"
msgstr "Gradient radialny"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Wyłącz wyrównanie dynamiczne"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Wyłącz przyciąganie do prowadnic"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Wyłącz przyciąganie do piksela"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Włącz dynamiczne wyrównanie"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Przyciągaj do prowadnic"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Włącz przyciąganie do piksela"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Ukryj nazwy obszarów kompozycji"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Ukryj paletę kolorów"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ukryj siatkę pikseli"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ukryj linijki"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ukryj paletę czcionek"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Edytuj"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Plik"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Pomoc i info"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Ustawienia"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Widok"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Zaznacz wszystko"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Pokaz nazwy obszarów kompozycji"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Pokaż paletę kolorów"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Pokaż siatkę pikseli"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Pokaż linijki"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
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:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Resetuj"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Błąd przy zapisywaniu"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Zapisano"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Zapisywanie"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Tryb widoku (%s)"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Wypełnij — skaluj, aby wypełnić"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Dopasuj — zmniejsz, aby dopasować"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Powiększ, aby dopasować wszystko"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Pełny ekran"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Powiększ wybrane"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteka plików"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Bieżące kolory"
@@ -2784,39 +2744,39 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Zapisz styl koloru"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteka plików"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTEKI W TYM PLIKU"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTEKI"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Nie ma Bibliotek Współdzielonych, które wymagają aktualizacji"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Nie znaleziono dopasowań dla “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Przeszukaj Biblioteki Współdzielone"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTEKI WSPÓŁDZIELONE"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Aktualizuj"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "AKTUALIZACJE"
@@ -2836,11 +2796,11 @@ msgstr "Rozmycie zaznaczenia"
msgid "workspace.options.canvas-background"
msgstr "Tło płótna"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Przytnij treść"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponent"
@@ -2884,11 +2844,11 @@ msgstr "Góra"
msgid "workspace.options.constraints.topbottom"
msgstr "Góra i dół"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Projektowanie"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Eksport"
@@ -2896,30 +2856,30 @@ msgstr "Eksport"
msgid "workspace.options.export-multiple"
msgstr "Eksportuj zaznaczone"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Przyrostek"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Eksportowanie zakończone"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Eksportowanie…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Eksport nie powiódł się"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Eksportowanie niespodziewanie powolne"
@@ -2943,67 +2903,67 @@ msgstr "Początek flow"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Kolumny"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Kolor"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Rowek"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Wysokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margines"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Ustaw jako domyślne"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Dół"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Środek"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Lewo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Prawo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Rozciągnij"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Góra"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Użyj domyślnych"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Szerokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rzędy"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kwadrat"
@@ -3015,11 +2975,11 @@ msgstr "Wypełnienie grupy"
msgid "workspace.options.group-stroke"
msgstr "Obrys grupy"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Wysokość"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Sprawdź"
@@ -3231,99 +3191,99 @@ msgstr "Przy naciśnięciu"
msgid "workspace.options.interactions"
msgstr "Interakcje"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Kolor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Ściemnianie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Rozjaśnienie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Ciemniej"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Różnica"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Wykluczenie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Ostre światło"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Barwa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Jaśniej"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Jasność"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Mnożenie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normalny"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Nakładka"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Nasycenie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Ekran"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Łagodne światło"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Maks.Wysokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Maks.Szerokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.Wysokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.Szerokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Więcej kolorów"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Więcej kolorów z biblioteki"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Nieprzezroczystość"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototyp"
@@ -3347,19 +3307,19 @@ msgstr "Górne lewo"
msgid "workspace.options.radius-top-right"
msgstr "Górne prawo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Bieżące"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Ponów"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Obrót"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Szukaj czcionki"
@@ -3369,7 +3329,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Wybrane kolory"
@@ -3425,27 +3385,27 @@ msgstr "Cień zaznaczenia"
msgid "workspace.options.show-fill-on-export"
msgstr "Pokaż przy eksporcie"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Pokaż w trybie przeglądania"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Rozmiar"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Wstępne ustawienia rozmiaru"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Brak"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Okrągły"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kwadratowy"
@@ -3453,35 +3413,35 @@ msgstr "Kwadratowy"
msgid "workspace.options.stroke-color"
msgstr "Kolor obrysu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Szerokość obrysu"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Środek"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Przerywany"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Kropkowany"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "W środku"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mieszany"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Na zewnątrz"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Ciągły"
@@ -3517,11 +3477,11 @@ msgstr "Automatyczna szerokość"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Stały"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Odstępy między literami"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Wysokość linii"
@@ -3565,51 +3525,51 @@ msgstr "Podkreślenie (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Szerokość"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Oś X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Oś Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Rysuj węzły (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Połącz węzły (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Do rogu (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Do krzywej (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Połącz węzły (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Przenieś węzły (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Rozłącz węzły (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Przyciągnij węzły (%s)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Dodaj układ flex"
@@ -3621,27 +3581,27 @@ msgstr "Przesuń na spód"
msgid "workspace.shape.menu.backward"
msgstr "Przesuń do tyłu"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopiuj"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Zaznaczone do obszaru kompozycji"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Utwórz komponent"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Wytnij"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Usuń"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Usuń początek flow"
@@ -3653,7 +3613,7 @@ msgstr "Odłącz instancję"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Odłącz instancje"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Różnica"
@@ -3661,15 +3621,15 @@ msgstr "Różnica"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplikuj"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Edytuj"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Wyklucz"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Spłaszcz"
@@ -3681,7 +3641,7 @@ msgstr "Odwróć w poziomie"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Odwróć w pionie"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Początek flow"
@@ -3693,39 +3653,39 @@ msgstr "Przesuń do góry"
msgid "workspace.shape.menu.front"
msgstr "Przesuń na wierzch"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grupuj"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ukryj"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Pokaż/Ukryj UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Przecięcie"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Zablokuj"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maskuj"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Wklej"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Ścieżka"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Usuń układ flex"
@@ -3741,11 +3701,11 @@ msgstr "Przywróć główny komponent"
msgid "workspace.shape.menu.select-layer"
msgstr "Zaznacz warstwę"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Pokaż"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Pokaż w panelu zasobów"
@@ -3761,19 +3721,19 @@ msgstr "Usuń miniaturę"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Ustaw jako miniaturę"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Rozgrupuj"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Złącz"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Odblokuj"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Odmaskuj"
@@ -3789,47 +3749,47 @@ msgstr "Zwiń pasek boczny"
msgid "workspace.sidebar.expand"
msgstr "Rozwiń pasek boczny"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historia"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Warstwy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponenty"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Obszary kompozycji"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Obrazy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maski"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Przeszukaj warstwy"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Kształty"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Teksty"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Importowane atrybuty SVG"
@@ -3837,7 +3797,7 @@ msgstr "Importowane atrybuty SVG"
msgid "workspace.sidebar.sitemap"
msgstr "Strony"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa strony"
@@ -3845,51 +3805,51 @@ msgstr "Mapa strony"
msgid "workspace.toolbar.assets"
msgstr "Zasoby"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Palety kolorów (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Komentarze (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Krzywa (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipsa (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Obszar kompozycji (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Obraz (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Przenieś (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Ścieżka (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Prostokąt (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Tekst (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typografie (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Jak dotąd nie ma zmian w historii"
@@ -4029,14 +3989,14 @@ msgstr "zasób typograficzny"
msgid "workspace.undo.entry.unknown"
msgstr "Operacja ponad %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Odrzuć"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "W bibliotekach współdzielonych są aktualizacje"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Aktualizuj"
diff --git a/frontend/translations/pt.po b/frontend/translations/pt.po
index 03e6cb88a7..8d4d4a3223 100644
--- a/frontend/translations/pt.po
+++ b/frontend/translations/pt.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 2026.6.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Já tem uma conta?"
@@ -29,7 +29,7 @@ msgstr ""
"Este é um serviço DEMONSTRAÇÃO, NÃO USE para trabalho real, os projetos "
"serão apagados periodicamente."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Esqueceu sua senha?"
@@ -37,37 +37,37 @@ msgstr "Esqueceu sua senha?"
msgid "auth.fullname"
msgstr "Nome completo"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Entrar na minha conta"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Faça login aqui."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot é a ferramenta de design de código aberto e gratuita para "
"colaboração em design e código"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -89,7 +89,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Link de recuperação de senha enviado para o seu e-mail."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Entrou para a equipe com sucesso"
@@ -121,7 +121,7 @@ msgstr "Esqueceu sua senha?"
msgid "auth.recovery-submit"
msgstr "Altere sua senha"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ainda não tem uma conta?"
@@ -133,7 +133,7 @@ msgstr "Informe como deseja ser chamado no painel e nos e-mails."
msgid "auth.register-account-title"
msgstr "Seu nome"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Criar uma conta"
@@ -146,7 +146,7 @@ msgstr "Criar uma conta"
msgid "auth.terms-and-privacy-agreement"
msgstr "Concordo com os [termos de serviço](%s) e a [política de privacidade](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Termos de serviço"
@@ -158,93 +158,93 @@ msgstr "E-mail profissional"
msgid "comments.mentions.not-found"
msgstr "Nenhuma pessoa encontrada para @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todos os usuários do Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Tem certeza de que deseja remover este link? Se fizer isso, ele não estará "
"mais disponível para ninguém"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(atual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Excluir link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obter link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copiado com sucesso"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gerenciar permissões"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "Página compartilhada"
msgstr[1] "%s páginas compartilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Pode comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Pode inspecionar o código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Qualquer pessoa com o link terá acesso"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páginas compartilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "O link compartilhável aparecerá aqui"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Somente membros da equipe"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartilhar protótipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Selecionar tudo"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Despublicar"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestão da equipe"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"O Penpot foi feito para equipes. Convide membros para trabalharem juntos em "
"projetos e arquivos"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Monte sua equipe!"
@@ -252,18 +252,18 @@ msgstr "Monte sua equipe!"
msgid "dashboard.add-file"
msgstr "Adicionar arquivo"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Adicionar como Biblioteca Compartilhada"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Alterar e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copiar)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Criar nova equipe"
diff --git a/frontend/translations/pt_BR.po b/frontend/translations/pt_BR.po
index 0847bf55bf..4690e87f8f 100644
--- a/frontend/translations/pt_BR.po
+++ b/frontend/translations/pt_BR.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:17+0000\n"
-"Last-Translator: Renan Mayrinck \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Portuguese (Brazil) "
" \n"
"Language: pt_BR\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Já tem uma conta?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Esqueceu sua senha?"
@@ -37,37 +37,37 @@ msgstr "Esqueceu sua senha?"
msgid "auth.fullname"
msgstr "Nome completo"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Entrar na minha conta"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Fazer Login."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -87,7 +87,7 @@ msgstr "Perfil não verificado. Por favor, verifique o perfil antes de continuar
msgid "auth.notifications.recovery-token-sent"
msgstr "Link de recuperação de senha foi enviado para sua caixa de entrada."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Entrou para a equipe com sucesso"
@@ -119,7 +119,7 @@ msgstr "Esqueceu sua senha?"
msgid "auth.recovery-submit"
msgstr "Mudar a sua senha"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ainda não tem uma conta?"
@@ -131,7 +131,7 @@ msgstr "Informe-nos sobre como devemos te chamar no painel e nos e-mails."
msgid "auth.register-account-title"
msgstr "Seu nome"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Criar uma conta"
@@ -144,7 +144,7 @@ msgstr "Criar uma conta"
msgid "auth.terms-and-privacy-agreement"
msgstr "Concordo com os [termos de serviço](%s) e as [políticas de privacidade](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Termos de serviço"
@@ -162,93 +162,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Ninguém encontrado com @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todos os usuários do Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Tem certeza de que deseja remover este link? Se você fizer isso, ele não "
"estará mais disponível para ninguém"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(atual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Destruir link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obter link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copiado com sucesso"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gerenciar Permissões"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 página compartilhada"
msgstr[1] "%s páginas compartilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Pode comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Pode inspecionar o código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Qualquer pessoa com o link terá acesso"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páginas compartilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "O link compartilhável aparecerá aqui"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Apenas membros da equipe"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Compartilhar protótipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Selecionar todos"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Cancelar publicação"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gerenciamento de equipe"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"O Penpot é destinado a equipes. Convide pessoas para trabalhar junto com "
"você em projetos e arquivos"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Junte o time!"
@@ -256,23 +256,23 @@ msgstr "Junte o time!"
msgid "dashboard.add-file"
msgstr "Adicionar arquivo"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Adicionar a biblioteca compartilhada"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Alterar e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copiar)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Criar nova equipe"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Fixar esta versão"
@@ -280,11 +280,11 @@ msgstr "Fixar esta versão"
msgid "dashboard.default-team-name"
msgstr "Seu Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Deletar equipe"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Baixar arquivo Penpot (.penpot)"
@@ -296,19 +296,19 @@ msgstr "Duplicar"
msgid "dashboard.duplicate-multi"
msgstr "Duplicar %s arquivos"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Quando um membro do projeto criar um rascunho, ele será exibido aqui."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Nenhum rascunho ainda."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Quando um membro do projeto criar um arquivo, ele será exibido aqui."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Não há arquivos ainda."
@@ -360,69 +360,69 @@ msgstr "Comece a criar coisas incríveis"
msgid "dashboard.export-binary-multi"
msgstr "Baixar %s arquivos Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportar boards em PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportar como arquivo PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s elementos selecionados"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Você pode adicionar configurações de exportação em elementos nas "
"propriedades de design (na parte inferior da barra lateral direita)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informações sobre como configurar exportações no Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Não há elementos com configurações de exportação."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportar seleção"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Fonte deletada"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Retirar todas"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Fontes customizadas que você adicionar vão aparecer aqui."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Ainda não há fontes personalizadas."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Assim que um membro do projeto enviar uma fonte personalizada, ela será "
"exibida aqui."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -432,7 +432,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -441,11 +441,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Enviar tudo"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -456,11 +456,11 @@ msgstr ""
"utilizar o [Transfonter](https://transfonter.org/) para gerar webfonts e "
"corrigir erros. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importar arquivos"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ops! Não conseguimos importar este arquivo"
@@ -468,23 +468,23 @@ msgstr "Ops! Não conseguimos importar este arquivo"
msgid "dashboard.import.bad-url"
msgstr "Falhou ao importar. A URL do modelo está incorreta"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Nem todos os arquivos foram importados"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Os seguintes arquivos apresentam erros:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Arquivos com erros não puderam ser enviados."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "%s arquivos foram importados com sucesso."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Alguns arquivos continham objetos inválidos que foram removidos."
@@ -492,77 +492,49 @@ msgstr "Alguns arquivos continham objetos inválidos que foram removidos."
msgid "dashboard.import.no-perms"
msgstr "Você não tem permissão para importar para esta equipe"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Processando as cores"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Processando os componentes"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Processando as mídias"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Processando página: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Processando as fontes"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Carregando dados para o servidor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Enviando arquivo: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Você vai excluir os convites para:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Você vai reenviar os convites para:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Exclua convites"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Reenviar convites"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Convidar pessoas"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Sair da equipe"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotecas e Modelos"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Aqui você tem algumas bibliotecas e modelos que você pode adicionar ao seu "
"projeto"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explore mais e aprenda como contribuir"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotecas de ativos"
@@ -570,7 +542,7 @@ msgstr "Bibliotecas de ativos"
msgid "dashboard.loading-files"
msgstr "carregando seus arquivos…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "carregando suas fontes …"
@@ -590,39 +562,39 @@ msgstr "Mover %s arquivos para"
msgid "dashboard.move-to-other-team"
msgstr "Mover para outra equipe"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Novo arquivo"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Novo arquivo"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Novo projeto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Novo projeto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Não achamos nada com “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Projetos fixados aparecerão aqui"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notificações"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Seu endereço de e-mail foi atualizado com sucesso"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Seu endereço de e-mail foi verificado com sucesso"
@@ -634,11 +606,11 @@ msgstr "As configurações de notificações foram atualizadas"
msgid "dashboard.notifications.password-saved"
msgstr "Senha salva com sucesso!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Ver notificações"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membros"
@@ -646,15 +618,15 @@ msgstr "%s membros"
msgid "dashboard.open-in-new-tab"
msgstr "Abrir arquivo em uma nova guia"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opções"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Ordenar por função"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Ordenar por status"
@@ -678,7 +650,7 @@ msgstr "Agora você é o proprietário desta equipe."
msgid "dashboard.permissions-change.viewer"
msgstr "Agora você é um espectador desta equipe."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Fixar/Desafixar"
@@ -694,11 +666,11 @@ msgstr "Não é possível avaliar o manifesto do plugin"
msgid "dashboard.plugins.try-plugin"
msgstr "Experimente o plugin: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projetos"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Quer remover sua conta?"
@@ -706,31 +678,31 @@ msgstr "Quer remover sua conta?"
msgid "dashboard.removed-from-team"
msgstr "Você não faz mais parte do time \"%s\"."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Salvar configurações"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Pesquisar…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Pesquisando por “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Selecionar idioma da Interface"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Selecionar tema"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Dark (padrão)"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Tema do sistema"
@@ -794,11 +766,11 @@ msgstr "Atualizar configurações"
msgid "dashboard.settings.notifications.title"
msgstr "Notificações"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Mostrar todos os arquivos"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Histórico de versões"
@@ -822,7 +794,7 @@ msgstr[1] "Seus arquivos foram duplicados com sucesso"
msgid "dashboard.success-duplicate-project"
msgstr "Seu projeto foi duplicado com sucesso"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Seu arquivo foi movido com sucesso"
@@ -834,90 +806,90 @@ msgstr "Seus arquivos foram movidos com sucesso"
msgid "dashboard.success-move-project"
msgstr "Seu projeto foi movido com sucesso"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informação da equipe"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membros da equipe"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projetos da equipe"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Adicionar ao seu projeto"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema da Interface"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Resultados da pesquisa"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Digite para pesquisar nos resultados"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Cancelar publicação da biblioteca"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Atualizar configurações"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Está ativo"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Quando esse hook é invocado detalhes de eventos vão ser enviados"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Você só pode excluir ou modificar os webhooks criados por você."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tipo de conteúdo"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook criado com sucesso."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks são uma forma simples de permitir que outros websites e "
"aplicativos sejam notificados quando certos eventos acontecem no Penpot. "
"Nós enviaremos uma solicitação POST para todas as URLs que você digite."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Clique em \"Adicionar Webhook\" para adicionar um Webhook."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Nenhum Webhook criado ainda."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Sua conta"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Seu nome"
@@ -933,11 +905,11 @@ msgstr "Atenção"
msgid "ds.component-subtitle"
msgstr "Componentes para atualizar:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permissão"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancelar"
@@ -957,7 +929,7 @@ msgstr "Nenhum token aplicável nos conjuntos ou temas ativos."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Nenhum resultado encontrado."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Abrir lista de tokens"
@@ -969,15 +941,15 @@ msgstr "Provedor de autenticação não permitido para este perfil"
msgid "errors.auth-provider-not-configured"
msgstr "Provedor de autenticação não configurado."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "A fonte %s não pôde ser carregada"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "As fontes %s não puderam ser carregadas"
@@ -989,43 +961,43 @@ msgstr "Não é possível carregar o arquivo de mídia."
msgid "errors.character-limit-exceeded"
msgstr "Limite de caracteres excedido"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Seu navegador não pode fazer esta operação"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Houve um erro com o comentário"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Desculpe! Este é um arquivo antigo que utiliza um tipo obsoleto de recursos "
"do Penpot e você não pode abri-lo."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "para que possamos ajudar você."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr ""
"Embora o Penpot não seja mais compatível com este tipo de recurso, você "
"pode"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "contate-nos"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Não é possível remover a definição principal dentro de um caminho filho."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-mail já utilizado"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail já validado."
@@ -1037,30 +1009,30 @@ msgstr "Você não pode usar seu e-mail como senha"
msgid "errors.email-does-not-match-invitation"
msgstr "O e-mail não corresponde ao convite."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domínio não permitido"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "O e-mail «%s» tem muitos relatórios de devolução permanentes."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "O e-mail «%s» foi denunciado como spam ou devolvido permanentemente."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Parece que você está abrindo um arquivo que tem a funcionalidade '%s' "
"habilitada, mas o seu frontend no penpot não a suporta ou ela está "
"desabilitada."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Recurso '%s' não é suportado."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Deve conter no máximo %s caracteres."
@@ -1068,7 +1040,7 @@ msgstr "Deve conter no máximo %s caracteres."
msgid "errors.field-min-length"
msgstr "Deve conter pelo menos 1 caractere."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Campo vazio"
@@ -1076,18 +1048,18 @@ msgstr "Campo vazio"
msgid "errors.field-not-all-whitespace"
msgstr "O nome deve conter algum caractere diferente de espaço."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Parece que há uma incompatibilidade entre os recursos habilitados e os "
"recursos do arquivo que você está tentando abrir. Migrações para '%s' "
"precisam ser aplicadas antes que o arquivo possa ser aberto."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Algo errado aconteceu."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Algo de errado aconteceu com o web worker."
@@ -1103,7 +1075,7 @@ msgstr "Data inválida"
msgid "errors.invalid-email"
msgstr "Por favor, insira um email válido"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "E-mail de confirmação deve ser o mesmo"
@@ -1127,11 +1099,11 @@ msgstr "Este convite pode ter sido cancelado ou expirou."
msgid "errors.ldap-disabled"
msgstr "Autenticação por LDAP está desativada."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Você atingiu a cota de '%s'. Entre em contato com o suporte."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"O número máximo (%s) de e-mails que podem ser convidados em uma única "
@@ -1149,21 +1121,21 @@ msgstr "Parece que o conteúdo da imagem não corresponde a extensão do arquivo
msgid "errors.media-type-not-allowed"
msgstr "Parece que esta não é uma imagem válida."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"O perfil que você está convidando tem e-mails silenciados (relatos de spam "
"ou altas devoluções)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migração em progresso"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Somente o criador da versão pode bloqueá-la"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Somente o criador da versão pode desbloqueá-la"
@@ -1175,7 +1147,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/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Dados inválidos na área de transferência"
@@ -1183,7 +1155,7 @@ msgstr "Dados inválidos na área de transferência"
msgid "errors.profile-blocked"
msgstr "O perfil está bloqueado"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Seu perfil tem e-mails silenciados (relatos de spam ou altas devoluções)."
@@ -1191,25 +1163,25 @@ msgstr "Seu perfil tem e-mails silenciados (relatos de spam ou altas devoluçõe
msgid "errors.registration-disabled"
msgstr "O registro de contas está desativado no momento."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG inválido ou malformado"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Recurso incompatível '%s' detectado"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Membros insuficientes para deixar a equipe, você provavelmente deseja "
"excluí-la."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "O membro que você tentou atribuir não existe."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"O proprietário não pode sair da equipe, você deve reatribuir a função de "
@@ -1219,13 +1191,13 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Já existe uma definição com o mesmo nome"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Não é possível concluir a remoção, uma definição com o mesmo nome já existe "
"no caminho."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Existe uma opção de tema com o mesmo nome"
@@ -1233,47 +1205,47 @@ msgstr "Existe uma opção de tema com o mesmo nome"
msgid "errors.unexpected-error"
msgstr "Um erro inesperado ocorreu."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token desconhecido"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Esta versão já está bloqueada"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Esta versão está bloqueada e não pode ser excluída por outras pessoas"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "O arquivo tem um número de versão incompatível"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Erro de conexão, URL não acessível"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "A URL não passa na validação."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "O último envio não foi bem-sucedido."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Erro na validação SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "O tempo se esgotou"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Erro inesperado durante a validação"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Status inesperado %s"
@@ -1289,13 +1261,13 @@ msgstr "A senha antiga está incorreta"
msgid "feedback.description"
msgstr "Descrição"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Estamos felizes em ter você aqui. Se precisar de ajuda com algo, pesquise "
"antes de postar."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Comunidade do Penpot"
@@ -1310,11 +1282,11 @@ msgstr ""
"uma ideia ou uma dúvida. Um membro de nossa equipe responderá o mais rápido "
"possível."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Precisa de ajuda com dúvidas mais técnicas? Veja o nosso X."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Conta de suporte no X"
@@ -1350,7 +1322,7 @@ msgstr "Baixar imagem original"
msgid "inspect.attributes.shadow"
msgstr "Sombra"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Tamanho e posição"
@@ -1358,39 +1330,27 @@ msgstr "Tamanho e posição"
msgid "inspect.attributes.stroke"
msgstr "Traçado"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centro"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Dentro"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Fora"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Família tipográfica"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Tamanho da fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Estilo da fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Espaçamento entre letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Altura da linha"
@@ -1402,11 +1362,11 @@ msgstr "Nenhum"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Sublinhado"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Iniciais em maiúsculas"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minúsculo"
@@ -1418,7 +1378,7 @@ msgstr "Nenhuma"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Não definido"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Maiúsculo"
@@ -1530,43 +1490,43 @@ msgstr "Valor resolvido:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Propriedades da variante"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Marcar todos como lidos"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Atalhos"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Sobre o Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Aceitar"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Ativo"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Adicionar"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Adicionar fonte personalizada"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Adicionando..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administrador"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Todos"
@@ -1574,17 +1534,17 @@ msgstr "Todos"
msgid "labels.and"
msgstr "e"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Voltar"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Parece que você precisa esperar um pouco e tentar de novo; estamos "
"realizando pequenas manutenções em nossos servidores."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Erro do servidor (Bad Gateway)"
@@ -1592,11 +1552,11 @@ msgstr "Erro do servidor (Bad Gateway)"
msgid "labels.blur"
msgstr "Desfoque"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancelar"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Fechar"
@@ -1604,7 +1564,7 @@ msgstr "Fechar"
msgid "labels.code"
msgstr "Código"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Recolher"
@@ -1616,15 +1576,15 @@ msgstr "Cor"
msgid "labels.comment"
msgstr "Comentário"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentários"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Comunidade"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Comunidade e contribuições"
@@ -1636,11 +1596,11 @@ msgstr "Calculado"
msgid "labels.confirm-password"
msgstr "Confirmar senha"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuar"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Você pode continuar com uma conta do Penpot"
@@ -1652,27 +1612,27 @@ msgstr "Copiar"
msgid "labels.copy-color"
msgstr "Copiar cor"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copiar link"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Criar"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Criar nova equipe"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Insira o nome da nova equipe"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Painel"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Excluir"
@@ -1684,7 +1644,7 @@ msgstr "Excluir comentário"
msgid "labels.delete-comment-thread"
msgstr "Excluir tópico"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Excluir convite"
@@ -1692,23 +1652,23 @@ msgstr "Excluir convite"
msgid "labels.delete-multi-files"
msgstr "Excluir %s arquivos"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Rascunhos"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editar"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expirado"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportar"
@@ -1720,39 +1680,39 @@ msgstr "Feedback desativado"
msgid "labels.feedback-sent"
msgstr "Feedback enviado"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Família tipográfica"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Estilos"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fontes"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositório do Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Enviar feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Voltar"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Central de Ajuda"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ocultar comentários resolvidos"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inativo"
@@ -1760,43 +1720,43 @@ msgstr "Inativo"
msgid "labels.info"
msgstr "Informação"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fontes instaladas"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Erro interno"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Convites"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Linguagem"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotecas & Modelos"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Entre ou cadastre-se"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Sair"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membro"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membros"
@@ -1808,39 +1768,39 @@ msgstr "Menção"
msgid "labels.new-password"
msgstr "Nova senha"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Próximo"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Nada de novo por aqui! Novas notificações de comentários irão aparecer aqui."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Não há convites pendentes."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ops!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notificações"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 arquivo"
msgstr[1] "%s arquivos"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tela"
msgstr[1] "%s telas"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projeto"
@@ -1850,31 +1810,31 @@ msgstr[1] "% projetos"
msgid "labels.old-password"
msgstr "Senha antiga"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opções"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Outra (específica)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Outra"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Proprietário"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Senha"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pendente"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Projetos fixados"
@@ -1882,23 +1842,23 @@ msgstr "Projetos fixados"
msgid "labels.post"
msgstr "Publicar"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Anterior"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Produto ou UX Design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Gestão de Produtos"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Perfil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projetos"
@@ -1906,23 +1866,23 @@ msgstr "Projetos"
msgid "labels.refresh"
msgstr "Recarregar"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notas de atualização"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Remover"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Remover membro"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Renomear"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Renomear equipe"
@@ -1946,7 +1906,7 @@ msgstr "nova resposta"
msgid "labels.reply.thread"
msgstr "Resposta"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Reenviar convite"
@@ -1954,75 +1914,75 @@ msgstr "Reenviar convite"
msgid "labels.restore"
msgstr "Restaurar"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Tentar novamente"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Cargo"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Salvar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Buscar"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Buscar fonte"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Selecione uma opção"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Enviar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Enviando…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Estamos em manutenção programada de nossos sistemas."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Serviço indisponível"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Configurações"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotecas"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Mostrar todos os comentários"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Mostrar lista de comentários"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Mostrar apenas seus comentários"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Recursos"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutorial"
@@ -2030,23 +1990,23 @@ msgstr "Tutorial"
msgid "labels.unpublish-multi-files"
msgstr "Despublicar arquivos %s"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Atualizar"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Atualizar equipe"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Carregar"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Enviar fontes personalizadas"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Enviando…"
@@ -2054,11 +2014,11 @@ msgstr "Enviando…"
msgid "labels.view-only"
msgstr "SOMENTE VISUALIZAÇÃO"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visualizador"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -2066,11 +2026,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Escrever um novo comentário"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(você)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Sua conta"
@@ -2097,61 +2057,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Adicionar “%s” na Biblioteca Compartilhada"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grande deslocamento"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verificar o novo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Enviaremos a você um e-mail para seu e-mail atual “%s” para verificar sua "
"identidade."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Novo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Alterar e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Alterar seu e-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL do payload"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://exemplo.com.br/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Cancelar e manter minha conta"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Sim, exclua minha conta"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Ao excluir sua conta, você perderá todos os seus projetos e arquivos atuais."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Tem certeza que deseja excluir sua conta?"
@@ -2193,31 +2153,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Excluindo estilo de fonte"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Excluindo fonte"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Tem certeza de que deseja excluir esta página?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Excluir página"
@@ -2233,19 +2193,19 @@ msgstr "Tem certeza de que deseja excluir este projeto?"
msgid "modals.delete-project-confirm.title"
msgstr "Excluir projeto"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Excluir arquivo"
msgstr[1] "Excluir arquivos"
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Tem certeza de que deseja excluir este arquivo?"
msgstr[1] "Tem certeza de que deseja excluir estes arquivos?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Excluindo arquivo"
@@ -2265,135 +2225,135 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Excluindo equipe"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Excluir membro"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Tem certeza de que deseja excluir este membro da equipe?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Excluir membro da equipe"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Excluir webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Tem certeza que deseja excluir este webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Excluindo webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Editar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Editar webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Enviar convite"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mails, separados por vírgulas"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Convide membros para a equipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Como você é o único membro desta equipe, a equipe será excluída junto com "
"seus projetos e arquivos."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Tem certeza de que deseja sair da equipe %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Você não pode deixar a equipe se não houver outro membro para promover a "
"proprietário. Você talvez queira excluir a equipe."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "Você é o proprietário de %s."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promover e sair"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Selecione um membro para promover"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Selecione um membro para promover"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Sair da equipe"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Tem certeza de que deseja sair da equipe?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Saindo da equipe"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Quantidade de deslocamento"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transferir equipe"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Se você transferir a propriedade, mudará sua função para Admin, perdendo "
"algumas permissões sobre essa equipe. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Você é o atual proprietário da equipe. Tem certeza de que deseja promover "
"este usuário a proprietário?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Novo proprietário da equipe"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Pequeno deslocamento"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Despublicar"
msgstr[1] "Despublicar"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Tem certeza de que deseja cancelar a publicação desta biblioteca?"
msgstr[1] "Tem certeza de que deseja cancelar a publicação dessas bibliotecas?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Cancelar publicação da biblioteca"
@@ -2417,25 +2377,25 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Atualizar componente em uma biblioteca compartilhada"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Convite enviado com sucesso"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Link do convite copiado"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Você não pode deletar seu perfil. Determine um novo proprietário para suas "
"equipes antes de continuar."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Perfil salvo com sucesso!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "E-mail de verificação enviado para %s. Verifique seu e-mail!"
@@ -2453,11 +2413,11 @@ msgstr "Bem-vindo ao Penpot!"
msgid "onboarding.choice.team-up.create-team-desc"
msgstr "Depois de nomear sua equipe, você poderá convidar pessoas para participar."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Convide membros"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Convide com a função:"
@@ -2503,79 +2463,79 @@ msgstr "Começar a criar"
msgid "profile.recovery.go-to-login"
msgstr "Ir para a página de login"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Misto"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comentários"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Alinhar a base"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Centralizar horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Alinhar a esquerda"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Alinhar a direita"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Alinhar ao topo"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Centralizar verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Criar tela a partir da seleção"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Subtrair"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusão"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Interseccionar"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "União"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Mover ao fundo"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Mover para trás"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Mover para a frente"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Mover ao topo"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Limpar desfazer"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copiar"
@@ -2583,35 +2543,35 @@ msgstr "Copiar"
msgid "shortcuts.create-new-project"
msgstr "Criar novo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Recortar"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Reduzir zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Apagar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Apagar ponto"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Quebrar componente"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tela"
@@ -2619,39 +2579,39 @@ msgstr "Tela"
msgid "shortcuts.draw-nodes"
msgstr "Desenhar caminho"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Caminho"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Retângulo"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicar"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancelar"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportar formas"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Ajustar para ver tudo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Refletir horizontalmente"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Refletir verticalmente"
@@ -2667,63 +2627,63 @@ msgstr "Ir para as bibliotecas compartilhadas"
msgid "shortcuts.go-to-search"
msgstr "Pesquisar"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Agrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuir horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Mostrar/ocultar interface"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Mais zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Inserir imagem"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Unir pontos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Arredondar canto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Criar curva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Máscara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Unir pontos"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mover"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mover para baixo rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mover para a esquerda rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mover para a direita rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mover para cima rápido"
@@ -2731,293 +2691,293 @@ msgstr "Mover para cima rápido"
msgid "shortcuts.move-nodes"
msgstr "Mover ponto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mover para baixo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mover para a esquerda"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mover para a direita"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mover para cima"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Próximo quadro"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Não foram encontrados atalhos"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Definir opacidade para 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Definir opacidade para 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Definir opacidade para 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Definir opacidade para 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Definir opacidade para 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Definir opacidade para 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Definir opacidade para 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Definir opacidade para 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Definir opacidade para 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Definir opacidade para 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Seletor de Cores"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Ir para seção de comentários"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Ir para o dashboard"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ir para seção de inspeção"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Ir para seção de interação"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Ir para seção de interação"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Ir para o workspace"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ou "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Colar"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tela anterior"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Refazer"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Redefinir zoom"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Fundamentos"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Painel"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Espectador"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Espaço de trabalho"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Selecionar todos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separar pontos"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Mostrar/ocultar grade de pixels"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Mostrar/ocultar atalhos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Aderir aos pontos"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Ajustar a grade de Pixels"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Começar a editar"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alinhamento"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editar"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Geral"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modificar camadas"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Painéis"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Curvas"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formas"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Ferramentas"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Definir como miniatura"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Atalhos do teclado"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Alternar alinhamento dinâmico"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Mostrar/Esconder ativos"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Mostrar/Esconder paleta de cores"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Entrar/Sair do modo de foco"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Entrar/Sair da tela cheia"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Mostrar/Esconder histórico"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Mostrar/Esconder camadas"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Adicionar/remover Flex Layout"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Bloquear selecionado"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Fixar proporções"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Mostrar/Esconder paleta de tipografias"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Alternar estilo de zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Desfazer"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Desagrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Retirar máscara"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuir verticalmente"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Ajustar zoom a seleção"
@@ -3101,125 +3061,125 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Convidando pessoas enquanto estiver no plano Ilimitado"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Assinatura"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Adicione um método de pagamento para continuar após o seu teste"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Todos os benefícios do plano Profissional e:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Todos os benefícios do plano Ilimitado e:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editores)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Empresarial"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Empresarial (teste)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Versões salvas automaticamente e recuperação de arquivos por 90 dias"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Fatura mensal fixa"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Armazenamento ilimitado"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gerencie sua assinatura"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Atualmente, você tem %s pessoa em suas equipes que pode editar."
msgstr[1] "Atualmente, você tem %s pessoas em suas equipes que podem editar."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Atenção: mudar para um plano inferior significa menos armazenamento e "
"backups e histórico de versões mais curtos."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editores"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Proprietários, Administradores e Editores. Visualizadores não contam como "
"Editores)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Você não pode definir menos editores do que tem agora. Altere o papel "
"(editor/administrador para visualizador) para pessoas que realmente não "
"editam arquivos nas configurações da equipe."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Cobrado após o período de teste. Nenhum cartão de crédito necessário agora."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/mês"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Aplicado %s às suas equipes"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Provedores de fonte - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fontes - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projetos - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Pesquisar - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Bibliotecas Compartilhadas - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Liberdade de design para equipes"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Dê sua opinião - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Configurações - Penpot"
@@ -3227,27 +3187,27 @@ msgstr "Configurações - Penpot"
msgid "title.settings.password"
msgstr "Senha - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Perfil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Convites - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membros - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Configurações - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Modo protótipo - Penpot"
@@ -3259,99 +3219,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Desvincular token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Não foram encontradas telas nesta página."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Tela não encontrada."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comentários (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Não mostrar interações"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Tela cheia"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspeção (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interações"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interações (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copiar link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Mostrar interações"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Mostrar interações ao clicar"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa do site"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "O último envio foi bem-sucedido."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Centralizar horizontalmente (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuir espaçamento horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Alinhar a esquerda (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Alinhar a direita (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Alinhar a base (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Centralizar verticalmente (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuir espaçamento vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Alinhar ao topo (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Todos os ativos"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Cores"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componentes"
@@ -3359,41 +3319,41 @@ msgstr "Componentes"
msgid "workspace.assets.create-group"
msgstr "Criar grupo"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Seus itens serão nomeados automaticamente como \"nome do grupo / nome do "
"item\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Excluir"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nome do grupo"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "biblioteca local"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nenhum ativo encontrado"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Renomear"
@@ -3401,39 +3361,39 @@ msgstr "Renomear"
msgid "workspace.assets.rename-group"
msgstr "Renomear grupo"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Procurar nos ativos"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografias"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Tamanho"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Estilo da fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Espaçamento de letra"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Altura da linha"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformações de texto"
@@ -3441,15 +3401,15 @@ msgstr "Transformações de texto"
msgid "workspace.assets.ungroup"
msgstr "Desagrupar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Modo de foco"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Foco desligado"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Foco ligado"
@@ -3461,139 +3421,139 @@ msgstr "Gradiente linear"
msgid "workspace.gradients.radial"
msgstr "Gradiente radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Desabilitar alinhamento dinâmico"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Desativar aderência as réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Desativar aderência a grade de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Habilitar alinhamento dinâmico"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Aderir as réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Habilitar aderência a grade de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Esconder nomes das telas"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Esconder paleta de cores"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ocultar grade de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ocultar réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ocultar paleta de tipografias"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Arquivo"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Ajuda e informações"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferências"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Visualizar"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Selecionar tudo"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Mostrar nomes das telas"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Mostrar paleta de cores"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Mostrar grade de pixels"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Mostrar réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
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:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Redefinir"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Erro ao salvar"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Salvo"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Salvando"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Ver protótipo (%s)"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Ajustar até preencher"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ajustar até encaixar"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Ajustar a janela"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Tela cheia"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom na seleção"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteca do arquivo"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Cores recentes"
@@ -3605,39 +3565,39 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Salvar estilo de cor"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteca de arquivos"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTECAS NESTE ARQUIVO"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Não há bibliotecas compartilhadas para atualizar"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Não foram encontrados resultados para “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Procurar bibliotecas compartilhadas"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTECAS COMPARTILHADAS"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Atualizar"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ATUALIZAÇÔES"
@@ -3657,11 +3617,11 @@ msgstr "Desfoque da seleção"
msgid "workspace.options.canvas-background"
msgstr "Fundo da tela"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Cortar conteúdo"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Componente"
@@ -3705,11 +3665,11 @@ msgstr "Cima"
msgid "workspace.options.constraints.topbottom"
msgstr "Cima e Baixo"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportar"
@@ -3717,23 +3677,23 @@ msgstr "Exportar"
msgid "workspace.options.export-multiple"
msgstr "Exportar seleção"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufixo"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportação completa"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exportando…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Exportação falhou"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "A exportação está inesperadamente lenta"
@@ -3757,67 +3717,67 @@ msgstr "Início de fluxo"
msgid "workspace.options.grid.auto"
msgstr "Automático"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Colunas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Espaçamento"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margem"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Definir como padrão"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Inferior"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Esquerda"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Direita"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Esticar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Superior"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Usar padrão"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Largura"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Linhas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Quadrado"
@@ -3829,11 +3789,11 @@ msgstr "Preenchimento do grupo"
msgid "workspace.options.group-stroke"
msgstr "Traçado do grupo"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspecionar"
@@ -4045,99 +4005,99 @@ msgstr "Enquanto clica"
msgid "workspace.options.interactions"
msgstr "Interações"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Queimar cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Subexposição de cores"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Escurecer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Diferença"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusão"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Luz direta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Matiz"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Clarear"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminusidade"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplicação"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Sobreposição"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturação"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Tela"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Luz difusa"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Altura Máx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Largura Máx."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Altura Min."
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Altura Min."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Mais cores"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Mais cores da biblioteca"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacidade"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Protótipo"
@@ -4161,19 +4121,19 @@ msgstr "Superior (a esquerda)"
msgid "workspace.options.radius-top-right"
msgstr "Superior (a direita)"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recente"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Repetir"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotação"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Procurar fonte"
@@ -4183,7 +4143,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Cores selecionadas"
@@ -4239,27 +4199,27 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Mostrar no modo protótipo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Tamanho"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Padrões de tamanho"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nenhum"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Redonda"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Quadrada"
@@ -4267,35 +4227,35 @@ msgstr "Quadrada"
msgid "workspace.options.stroke-color"
msgstr "Cor do traçado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Largura do traçado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tracejada"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Pontilhada"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Dentro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Misturado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Fora"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Sólido"
@@ -4331,11 +4291,11 @@ msgstr "Largura automática"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fixo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Espaçamento entre letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Altura de linha"
@@ -4379,51 +4339,51 @@ msgstr "Sublinhado (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Largura"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "eixo X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "eixo Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Desenhar ponto (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Unir pontos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Transformar em retas (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Transformar em Curvas (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Juntar pontos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mover pontos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separar pontos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Aderir aos pontos (%s)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Adicionar Flex Layout"
@@ -4435,27 +4395,27 @@ msgstr "Enviar para o fundo"
msgid "workspace.shape.menu.backward"
msgstr "Enviar para trás"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copiar"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Agrupar em uma tela"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Criar componente"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Cortar"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Remover"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Remover início de fluxo"
@@ -4467,7 +4427,7 @@ msgstr "Quebrar instância"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Quebrar instâncias"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferença"
@@ -4475,15 +4435,15 @@ msgstr "Diferença"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Excluir"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Achatar"
@@ -4495,7 +4455,7 @@ msgstr "Inverter horizontalmente"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Inverter verticalmente"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Início do fluxo"
@@ -4507,39 +4467,39 @@ msgstr "Trazer para a frente"
msgid "workspace.shape.menu.front"
msgstr "Trazer para o topo"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Esconder"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Mostrar/ocultar Interface"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Interseção"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Bloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Máscara"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Colar"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Caminho"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Excluir Flex Layout"
@@ -4555,11 +4515,11 @@ msgstr "Restaurar componente principal"
msgid "workspace.shape.menu.select-layer"
msgstr "Selecionar camada"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Mostrar"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Mostrar no painel de ativos"
@@ -4575,19 +4535,19 @@ msgstr "Remover miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Definir como miniatura"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Desagrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Unir"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Desbloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Remover máscara"
@@ -4603,47 +4563,47 @@ msgstr "Recolher a barra lateral"
msgid "workspace.sidebar.expand"
msgstr "Expandir a barra lateral"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Histórico"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Camadas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componentes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Telas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupos"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Imagens"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Máscaras"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Pesquisar nas camadas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textos"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Atributos SVG importados"
@@ -4655,7 +4615,7 @@ msgstr "Páginas"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Adicionar página"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa do site"
@@ -4667,7 +4627,7 @@ msgstr "Voltar a listagem de temas"
msgid "workspace.tokens.create-new-theme"
msgstr "Crie seu primeiro tema agora."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Criar um."
@@ -4695,7 +4655,7 @@ msgstr "Editar token"
msgid "workspace.tokens.token-description"
msgstr "Descrição"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nome"
@@ -4703,7 +4663,7 @@ msgstr "Nome"
msgid "workspace.tokens.token-value"
msgstr "Valor"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr ""
@@ -4711,7 +4671,7 @@ msgstr ""
msgid "workspace.tokens.tools"
msgstr "Ferramentas"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "O valor não é válido"
@@ -4719,51 +4679,51 @@ msgstr "O valor não é válido"
msgid "workspace.toolbar.assets"
msgstr "Ativos"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta de cores (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comentários (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Ferramenta Curvas (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ferramenta Elipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Ferramenta Tela (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Importar Imagem (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Ferramenta Seleção/Mover (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Ferramenta Caneta (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Ferramenta Retângulo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Ferramenta Texto (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografias (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Não há mudanças no histórico até agora"
@@ -4903,19 +4863,19 @@ msgstr "ativo de tipografia"
msgid "workspace.undo.entry.unknown"
msgstr "Operação em %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Dispensar"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Mais informações"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Existem atualizações nas bibliotecas compartilhadas"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Atualizar"
diff --git a/frontend/translations/pt_PT.po b/frontend/translations/pt_PT.po
index 57f7cbd423..296cab8bc6 100644
--- a/frontend/translations/pt_PT.po
+++ b/frontend/translations/pt_PT.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: TheScientistPT \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Portuguese (Portugal) "
" \n"
"Language: pt_PT\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Já tens uma conta?"
@@ -29,7 +29,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Esqueceste a tua palavra-passe?"
@@ -37,37 +37,37 @@ msgstr "Esqueceste a tua palavra-passe?"
msgid "auth.fullname"
msgstr "Nome completo"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Entrar na minha conta"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Inicia a sessão aqui."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID Connect"
@@ -87,7 +87,7 @@ msgstr "O perfil não está verificado, por favor valida-o antes de continuar."
msgid "auth.notifications.recovery-token-sent"
msgstr "Link de recuperação da palavra-passe enviado para o teu e-mail."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Entraste na equipa com sucesso"
@@ -119,7 +119,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:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Não tens conta?"
@@ -131,7 +131,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Criar conta"
@@ -144,7 +144,7 @@ msgstr "Cria uma conta"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Termos de serviço"
@@ -152,93 +152,93 @@ msgstr "Termos de serviço"
msgid "auth.work-email"
msgstr "Email profissional"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicar"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Todos os utilizadores Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Tens a certeza de que queres remover este link? Se o fizeres, deixa de "
"ficar disponível para ninguém"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(atual)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Eliminar link"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obter link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copiado com sucesso"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gerir permissões"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 página partilhada"
msgstr[1] "%s páginas partilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Pode comentar"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Pode inspecionar o código"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Qualquer pessoa com o link terá acesso"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Páginas partilhadas"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "O link partilhável será apresentado aqui"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Apenas membros da equipa"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Partilha protótipos"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Seleciona tudo"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Cancelar publicação"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Gestão da equipa"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"O Penpot é destinado a equipas. Convida colegas para colaborarem em "
"projetos e ficheiros"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Trabalho de equipa!"
@@ -246,23 +246,23 @@ msgstr "Trabalho de equipa!"
msgid "dashboard.add-file"
msgstr "Adicionar ficheiro"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Adicionar como biblioteca partilhada"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Alterar e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copiar)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "+ Criar nova equipa"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Afixar esta versão"
@@ -270,11 +270,11 @@ msgstr "Afixar esta versão"
msgid "dashboard.default-team-name"
msgstr "O teu Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Eliminar equipa"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Descarregar ficheiro Penpot (.penpot)"
@@ -286,19 +286,19 @@ msgstr "Duplicar"
msgid "dashboard.duplicate-multi"
msgstr "Duplicar %s ficheiros"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Ainda não existem rascunhos."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Assim que um membro do projeto criar um ficheiro, será apresentado aqui."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Ainda não existem ficheiros."
@@ -346,59 +346,59 @@ msgstr "Começa a criar coisas incríveis"
msgid "dashboard.export-binary-multi"
msgstr "Descarrega %s ficheiros Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportar pranchetas para PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportar para PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s de %s elementos selecionados"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Podes adicionar definições de exportação em elementos a partir das "
"propriedades de design (na parte inferior da barra lateral direita)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informações sobre como definir exportações no Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Não existem elementos com definições de exportação."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportar seleção"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Tipo de letra eliminado"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Ignorar todas"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Ainda não tens tipos de letra personalizados instalados."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -408,7 +408,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -417,11 +417,11 @@ msgstr ""
"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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Carregar tudo"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -431,81 +431,53 @@ 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:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importar ficheiros Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oops! Não conseguimos importar este ficheiro"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Alguns ficheiros continham objetos inválidos que foram removidos."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Processando cores"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Processando componentes"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Processando media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Processando página: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Processando tipografias"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "A carregar dados para o servidor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "A carregar ficheiro: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Convidar para a equipa"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Sair da equipa"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotecas e Templates"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Aqui estão algumas Bibliotecas e templates que podes adicionar ao teu "
"projeto"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explora mais e sabe como contribuir"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotecas"
@@ -513,7 +485,7 @@ msgstr "Bibliotecas"
msgid "dashboard.loading-files"
msgstr "a carregar os teus ficheiros …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "a carregar as tuas fontes …"
@@ -533,39 +505,39 @@ msgstr "Mover %s ficheiros para"
msgid "dashboard.move-to-other-team"
msgstr "Mover para outra equipa"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Novo Ficheiro"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Novo Ficheiro"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Novo projeto"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Novo Projeto"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Não há resultados para \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Projetos afixados aparecerão aqui"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notificações"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "O teu endereço de e-mail foi atualizado com sucesso"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "O teu endereço de e-mail foi verificado com sucesso"
@@ -577,11 +549,11 @@ msgstr "Definições de notificação atualizadas"
msgid "dashboard.notifications.password-saved"
msgstr "Palavra-passe guardada com sucesso!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Ver notificações"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membros"
@@ -589,7 +561,7 @@ msgstr "%s membros"
msgid "dashboard.open-in-new-tab"
msgstr "Abrir ficheiro num novo separador"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opções"
@@ -609,7 +581,7 @@ msgstr "Passaste a ser editor(a) nesta equipa."
msgid "dashboard.permissions-change.owner"
msgstr "Passaste a ser dono(a) nesta equipa."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Afixar/Desafixar"
@@ -625,11 +597,11 @@ msgstr "Não foi possível analisar as definições do plugin"
msgid "dashboard.plugins.try-plugin"
msgstr "Experimentar o plugin: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projetos"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Queres remover a tua conta?"
@@ -637,23 +609,23 @@ msgstr "Queres remover a tua conta?"
msgid "dashboard.removed-from-team"
msgstr "Já não pertences à equipa “%s“."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Guardar definições"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Pesquisar…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Pesquisar por \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Selecionar idioma da Interface"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Selecionar tema"
@@ -709,11 +681,11 @@ msgstr "Atualizar definições"
msgid "dashboard.settings.notifications.title"
msgstr "Notificações"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Mostrar todos os ficheiros"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Histórico de versões"
@@ -737,7 +709,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "O teu ficheiro foi movido com sucesso"
@@ -749,90 +721,90 @@ msgstr "Os teus ficheiros foram movidos com sucesso"
msgid "dashboard.success-move-project"
msgstr "O teu projeto foi movido com sucesso"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informação da equipa"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membros da equipa"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Projetos da equipa"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Adicionar ao teu projeto"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema da interface"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Resultados da pesquisa"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Escreve para pesquisar resultados"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Cancelar publicação da Biblioteca"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Atualizar definições"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Ativo"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Quando este webhook for ativado serão enviados detalhes do evento"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Só podes apagar ou modificar webhooks que criaste."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tipo de conteúdo"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook criado com sucesso."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Os webhooks são uma forma simples de permitir a outros sites e aplicações "
"serem notificados quando acontecem certas ações no Penpot. Enviaremos um "
"pedido POST para cada um dos URLs que forneceres."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Clica no botão \"Criar webhook\" para adicionar um."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Ainda não há nenhum webhook criado."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "A tua conta"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-mail"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "O teu nome"
@@ -848,11 +820,11 @@ msgstr "Atenção"
msgid "ds.component-subtitle"
msgstr "Componentes para atualizar:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permitir"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Cancelar"
@@ -872,15 +844,15 @@ msgstr "O provedor de autenticação não é permitido neste perfil"
msgid "errors.auth-provider-not-configured"
msgstr "Provedor de autenticação não configurado."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "A fonte %s não pôde ser carregada"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "As fontes %s não puderam ser carregadas"
@@ -892,15 +864,15 @@ msgstr "Não foi possível carregar o ficheiro."
msgid "errors.character-limit-exceeded"
msgstr "Limite de caracteres excedido"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "O teu browser não pode fazer esta operação"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-mail já utilizado"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-mail já validado."
@@ -908,40 +880,40 @@ msgstr "E-mail já validado."
msgid "errors.email-as-password"
msgstr "Não podes utilizar o teu e-mail como palavra-passe"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domínio não permitido"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "O e-mail «%s» tem muitos relatórios de rejeição permanentes."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "O e-mail «%s» foi denunciado como spam ou devolvido permanentemente."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Parece que estás a abrir um ficheiro que tem a funcionalidade '%s' ativada, "
"mas a versão do teu Penpot não a suporta, ou está desativada."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "A funcionalidade '%s' não é suportada."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Campo vazio"
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Parece que existem discrepâncias entre as funcionalidades ativadas e as "
"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:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Ocorreu algo inesperado."
@@ -957,7 +929,7 @@ msgstr "Dados inválidos"
msgid "errors.invalid-email"
msgstr "Por favor introduz um email válido"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "O e-mail de confirmação deve combinar"
@@ -981,7 +953,7 @@ msgstr "Este convite pode ter sido cancelado ou expirado."
msgid "errors.ldap-disabled"
msgstr "Autenticação LDAP está desativada."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Alcançou o máximo da quota '%s'. Contacte o suporte técnico."
@@ -997,13 +969,13 @@ msgstr "Parece que o conteúdo da imagem não corresponde à extensão do fichei
msgid "errors.media-type-not-allowed"
msgstr "Parece que esta não é uma imagem válida."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
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:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migração em progresso"
@@ -1015,7 +987,7 @@ msgstr "A palavra-passe de confirmação tem de corresponder"
msgid "errors.password-too-short"
msgstr "A palavra-passe deverá conter no mínimo 8 caracteres"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Dados inválidos na área de transferência"
@@ -1023,7 +995,7 @@ msgstr "Dados inválidos na área de transferência"
msgid "errors.profile-blocked"
msgstr "O perfil está bloqueado"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"O teu perfil tem e-mails silenciados (relatórios de spam ou devoluções "
@@ -1033,19 +1005,19 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "A criação de contas está atualmente desativada."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Funcionalidade incompatível '%s' detetada"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Membros insuficientes para deixar a equipa, provavelmente queres eliminá-la."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "O membro que tentas atribuir não existe."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"O proprietário não pode sair da equipa, deverás retribuir a função de "
@@ -1055,39 +1027,39 @@ msgstr ""
msgid "errors.unexpected-error"
msgstr "Ocorreu um erro inesperado."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Token desconhecido"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "O ficheiro tem um número de versão incompatível"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Erro de conexão, não foi possível alcançar o URL"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "O URL não passou na validação."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Último envio sem sucesso."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Erro na validação SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Erro inesperado ao validar"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Estado inesperado %s"
@@ -1103,13 +1075,13 @@ msgstr "Palavra-passe antiga está incorreta"
msgid "feedback.description"
msgstr "Descrição"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Estamos felizes em ter-te aqui. Se precisares de ajuda, por favor pesquisa "
"antes de publicar."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Comunidade Penpot"
@@ -1124,11 +1096,11 @@ msgstr ""
"uma ideia, ou uma dúvida. Um membro da nossa equipa tentará responder o "
"mais rápido possível."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Aqui para ajudar com as tuas dúvidas técnicas."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Conta de suporte no X"
@@ -1160,7 +1132,7 @@ msgstr "Descarregar imagem original"
msgid "inspect.attributes.shadow"
msgstr "Sombra"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Tamanho e posição"
@@ -1168,39 +1140,27 @@ msgstr "Tamanho e posição"
msgid "inspect.attributes.stroke"
msgstr "Traço"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centro"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Interior"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Exterior"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Família da Fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Tamanho da Fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Estilo da Fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Espaço entre caracteres"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Altura da Linha"
@@ -1212,11 +1172,11 @@ msgstr "Nenhum"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Sublinhado"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Capitalização de Título"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minúsculas"
@@ -1228,7 +1188,7 @@ msgstr "Nenhum"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Sem atribuição"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Maiúsculas"
@@ -1294,43 +1254,43 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Texto"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Marcar todas como lidas"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Atalhos"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Aceitar"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Ativo"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Adicionar"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Adicionar fonte personalizada"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "A adicionar..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administração"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Todos"
@@ -1338,29 +1298,29 @@ msgstr "Todos"
msgid "labels.and"
msgstr "e"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Voltar"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Parece que tens de aguardar um pouco e tentar novamente; estamos a realizar "
"pequenas manutenções nos nossos servidores."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Error de Servidor (Bad Gateway)"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Cancelar"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Fechar"
@@ -1368,7 +1328,7 @@ msgstr "Fechar"
msgid "labels.code"
msgstr "Código"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Colapsar"
@@ -1376,11 +1336,11 @@ msgstr "Colapsar"
msgid "labels.comment"
msgstr "Comentário"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentários"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Comunidade"
@@ -1388,11 +1348,11 @@ msgstr "Comunidade"
msgid "labels.confirm-password"
msgstr "Confirmar palavra-passe"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuar"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Podes continuar com uma conta Penpot"
@@ -1400,27 +1360,27 @@ msgstr "Podes continuar com uma conta Penpot"
msgid "labels.copy-color"
msgstr "Copiar cor"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copiar link"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Criar"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Criar equipa nova"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Introduz o nome da nova equipa"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Painel"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Eliminar"
@@ -1432,7 +1392,7 @@ msgstr "Eliminar comentário"
msgid "labels.delete-comment-thread"
msgstr "Eliminar tópico"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Eliminar convite"
@@ -1440,31 +1400,31 @@ msgstr "Eliminar convite"
msgid "labels.delete-multi-files"
msgstr "Eliminar %s ficheiros"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Desenvolvimento"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Descartar"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Rascunhos"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editar"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expirado"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportar"
@@ -1476,55 +1436,55 @@ msgstr "Feedback desativado"
msgid "labels.feedback-sent"
msgstr "Feedback enviado"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Família da Fonte"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Variantes"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fontes"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repositório Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Dá feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Voltar atrás"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Design gráfico"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centro de Ajuda"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Ocultar"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ocultar comentários resolvidos"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importar"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inativo"
@@ -1532,35 +1492,35 @@ msgstr "Inativo"
msgid "labels.info"
msgstr "Informação"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fontes instaladas"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Erro interno"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Convites"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Idioma"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotecas e Templates"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "A carregar…"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Iniciar sessão ou registar"
@@ -1568,19 +1528,19 @@ msgstr "Iniciar sessão ou registar"
msgid "labels.login"
msgstr "Iniciar sessão"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Terminar sessão"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membro"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membros"
@@ -1588,39 +1548,39 @@ msgstr "Membros"
msgid "labels.new-password"
msgstr "Palavra-passe nova"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Seguinte"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Não tens notificações de comentários pendentes."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Não há convites."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ups!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notificações"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 ficheiro"
msgstr[1] "%s ficheiros"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 prancheta"
msgstr[1] "%s pranchetas"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projeto"
@@ -1630,67 +1590,67 @@ msgstr[1] "%s projetos"
msgid "labels.old-password"
msgstr "Palavra-passe antiga"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opções"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Outra (especificar)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Outra"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Proprietário"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Palavra-passe"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pendente"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Anterior"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Design de produtos ou UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Product Management"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Perfil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projetos"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Notas de versões"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Remover"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Remover membro"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Renomear"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Renomear equipa"
@@ -1714,7 +1674,7 @@ msgstr "nova resposta"
msgid "labels.reply.thread"
msgstr "Responder"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Reenviar convite"
@@ -1722,99 +1682,99 @@ msgstr "Reenviar convite"
msgid "labels.restore"
msgstr "Restaurar"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Tentar novamente"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Cargo"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Salvar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Pesquisar"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Pesquisar font"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Escolhe uma opção"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Enviar"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Enviando…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Estamos numa manutenção programada dos nossos sistemas."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Serviço Indisponível"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Definições"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Partilhar"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotecas"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Mostrar todos os comentários"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Mostrar lista de comentários"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Mostrar apenas as tuas menções"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Mostrar apenas os teus comentários"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Começar"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Estado"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Estudante ou professor(a)"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Temas"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriais"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Erro desconhecido"
@@ -1822,23 +1782,23 @@ msgstr "Erro desconhecido"
msgid "labels.unpublish-multi-files"
msgstr "Despublicar %s ficheiros"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Atualizar"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Atualizar equipa"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Carregar"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Carregar fontes personalizadas"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Carregando…"
@@ -1846,11 +1806,11 @@ msgstr "Carregando…"
msgid "labels.view-only"
msgstr "Somente leitura"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visualizador"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -1858,11 +1818,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Escrever novo comentário"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(tu)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "A tua conta"
@@ -1992,61 +1952,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Adicionar \"%s\" como Biblioteca Partilhada"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Grande deslocamento"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verificar o novo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Vamos enviar um e‑mail para o teu endereço atual \"%s\" para verificar a "
"tua identidade."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Novo e-mail"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Alterar e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Altera o teu e-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Criar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL do payload"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Cancelar e manter a minha conta"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Sim, elimina a minha conta"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Ao remover a tua conta vais perder todos os projetos e ficheiros."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Tens a certeza de que queres eliminar a tua conta?"
@@ -2096,31 +2056,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Eliminando estilo de fonte"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Eliminando fonte"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Tens a certeza de que pretendes eliminar esta página?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Eliminar página"
@@ -2136,31 +2096,31 @@ msgstr "Tens a certeza de que pretendes eliminar este projeto?"
msgid "modals.delete-project-confirm.title"
msgstr "Eliminar projeto"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Eliminar ficheiro"
msgstr[1] "Eliminar ficheiros"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Não está ativa em nenhum ficheiro."
msgstr[1] "Não estão ativas em nenhum ficheiro."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Esta biblioteca está ativa aqui: "
msgstr[1] "Estas bibliotecas estão ativas aqui: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Tens a certeza de que pretendes eliminar este ficheiro?"
msgstr[1] "Tens a certeza de que pretendes eliminar estes ficheiros?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Eliminando ficheiro"
@@ -2180,19 +2140,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Eliminando equipa"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Eliminar membro"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Tens a certeza de que pretendes eliminar este membro da equipa?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Eliminar membro da equipa"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2202,167 +2162,167 @@ msgstr[1] ""
"Os recursos que estiverem a ser usados nestes ficheiros continuarão "
"presentes (nenhum design será afetado)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Apagar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Tens a certeza que queres apagar este webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "A apagar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Editar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Editar webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Enviar convite"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mails, separados por vírgulas"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
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:278
+#: src/app/main/ui/dashboard/team.cljs:262
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/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Convidar membros para a equipa"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Como és o único membro desta equipa, a equipa será eliminado juntamente com "
"os projetos e ficheiros."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Tens a certeza de que pretendes sair da equipa %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Não pode deixar a equipa se não houver outro membro a promover a dono. Pode "
"querer eliminar a equipa."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"És o proprietário desta equipa. Por favor seleciona outro membro para "
"promover para proprietário antes de saíres."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promover e sair"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Seleciona um membro para promover"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Antes de saires"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Sair da equipa"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Tens a certeza de que pretendes sair desta equipa?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Saindo da equipa"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Mover"
msgstr[1] "Mover"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Tens a certeza que queres mover esta biblioteca?"
msgstr[1] "Tens a certeza que queres mover estas bibliotecas?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Mover biblioteca"
msgstr[1] "Mover bibliotecas"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Montante de deslocamento"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Transferir propriedade"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Se transferires a propriedade, vais alterar a tua função para "
"Administrador, perdendo algumas permissões sobre esta equipa. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"És o proprietário atual desta equipa. Tens a certeza de que pretendes "
"promover %s a proprietário da equipa?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Novo proprietário de equipa"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publicar"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publicar biblioteca vazia"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Pequeno deslocamento"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Cancelar publicação"
msgstr[1] "Cancelar publicações"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Tens a certeza de que queres cancelar a publicação desta biblioteca?"
msgstr[1] "Tens a certeza de que queres cancelar a publicação destas bibliotecas?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Cancelar publicação da biblioteca"
@@ -2386,11 +2346,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Atualizar componente numa biblioteca partilhada"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Esta página não existe"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Erro 404"
@@ -2408,11 +2368,11 @@ msgstr "Enviámos um email de recuperação para"
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:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Inscreve-te gratuitamente"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "E começa a usar o Penpot em poucos segundos!"
@@ -2420,41 +2380,41 @@ msgstr "E começa a usar o Penpot em poucos segundos!"
msgid "not-found.made-with-love"
msgstr "Feito com AMOR e código aberto"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Já solicitaste acesso a este ficheiro."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
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:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Já solicitaste acesso a este projeto."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "PEDIR ACESSO"
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "O teu pedido foi enviado com sucesso!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Não tens acesso a este ficheiro."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Ir para o teu Penpot"
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Ficheiro do Penpot"
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJETO"
@@ -2468,25 +2428,25 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Está disponível uma nova versão."
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Convite enviado com sucesso"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Link de convite copiado"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Não podes eliminar o teu perfil. Atribui um proprietário às tuas equipas "
"antes de avançar."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Perfil salvo com sucesso!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "E-mail de verificação enviado para %s. Verifica o teu e-mail!"
@@ -2516,78 +2476,78 @@ msgstr "Depois de nomeares a tua equipa, poderás convidar pessoas para entrar."
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Criar equipa"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Convida membros"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Convidar com a função:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Vamos começar!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Gerar código a partir de designs"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Criar sistemas de design"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipagem"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Desenhar o UI/UX de uma aplicação"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Para que fim vais usar o Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Conta-nos um pouco sobre ti para que possamos fazer com que o Penpot se "
"adapte a ti. As tuas respostas ajudar-nos-ão a priorizar novas "
"funcionalidades e indicar-te o melhor caminho para começar."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Ajuda-nos a conhecer-te"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Qual destas ferramentas usas mais?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Que tipo de trabalho fazes?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Fala-nos do teu trabalho"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Por onde é que gostarias de começar?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Educação"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Uso pessoal"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Trabalho"
@@ -2637,11 +2597,11 @@ msgstr "Começa a desenhar"
msgid "profile.recovery.go-to-login"
msgstr "Ir para login"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Desacoplar"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Misturado"
@@ -2653,35 +2613,35 @@ msgstr "Remover cor"
msgid "settings.select-this-color"
msgstr "Selecionar itens que usem este estilo"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comentários"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Alinhar abaixo"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Alinhar ao centro horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Alinhar à esquerda"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Alinhar à direita"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Alinhar topo"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Alinhar ao centro verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Criar prancheta a partir da seleção"
@@ -2689,47 +2649,47 @@ msgstr "Criar prancheta a partir da seleção"
msgid "shortcuts.bold"
msgstr "Alternar negrito"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Diferença booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclusão Booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Intersecção Booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "União Booleana"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Enviar para trás"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Mover para trás"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Mover para a frente"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Enviar para a frente"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Limpar historial"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copiar"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copiar ligação para a área de transferência"
@@ -2737,35 +2697,35 @@ msgstr "Copiar ligação para a área de transferência"
msgid "shortcuts.create-new-project"
msgstr "Criar novo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Recortar"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Menos zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Eliminar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Eliminar nó"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Desanexar componente"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipse"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Quadro"
@@ -2773,39 +2733,39 @@ msgstr "Quadro"
msgid "shortcuts.draw-nodes"
msgstr "Desenhar caminho"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Caminho"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rectângulo"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Texto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicar"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Cancelar"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportar formas"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Ajustar tudo à janela"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Virar horizontalmente"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Virar verticalmente"
@@ -2829,23 +2789,23 @@ msgstr "Ir para bibliotecas partilhadas"
msgid "shortcuts.go-to-search"
msgstr "Pesquisa"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grupo"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuir horizontalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Mostrar/ocultar interface"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Mais zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Inserir imagem"
@@ -2853,7 +2813,7 @@ msgstr "Inserir imagem"
msgid "shortcuts.italic"
msgstr "Alternar itálico"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Unir nós"
@@ -2861,39 +2821,39 @@ msgstr "Unir nós"
msgid "shortcuts.line-through"
msgstr "Alternar texto rasurado"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Fazer canto"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Fazer curva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Máscara"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Fundir nós"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mover"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mover para baixo rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mover para a esquerda rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mover para a direita rápido"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mover para cima rápido"
@@ -2901,325 +2861,325 @@ msgstr "Mover para cima rápido"
msgid "shortcuts.move-nodes"
msgstr "Mover nó"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mover para baixo"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mover para a esquerda"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mover para a direita"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mover para cima"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Próximo quadro"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nenhum atalho encontrado"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Definir opacidade a 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Definir opacidade a 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Definir opacidade a 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Definir opacidade a 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Definir opacidade a 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Definir opacidade a 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Definir opacidade a 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Definir opacidade a 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Definir opacidade a 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Definir opacidade a 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Selector de cores"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Ir para secção de comentários"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Ir para painel"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Ir para secção de inspeção"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Ir para secção de interações"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Ir para secção de interações"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Ir para a área de trabalho"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " ou "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Colar"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Quadro anterior"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Refazer"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Renomear"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Redefinir zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Redimensionar"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Básicos"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Painel"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visualizador"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Área de Trabalho"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Selecionar tudo"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Selecionar camada seguinte"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Selecionar camada pai"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Selecionar camada anterior"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separar nós"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Mostrar/ocultar grade de píxeis"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Mostrar/ocultar atalhos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Ajustar aos nós"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Ajustar à grade de píxeis"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Iniciar edição"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Alinhamento"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editar"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Genérico"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Menu Principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modificar camadas"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navegação"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Painéis"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Caminhos"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Formas"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Textos"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Ferramentas"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Definir imagem destaque"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Atalhos do teclado"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Alternar alinhamento dinâmico"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Alternar recursos"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Alternar selector de cores"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Alternar modo de foco"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Alternar tela cheia"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Mostrar / Ocultar guias"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Alternar histórico"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Alternar camadas"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Adicionar / Remover layout flex"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Adicionar/remover layout em grelha"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Bloquear selecionado"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Bloquear proporções"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Mostrar / Ocultar réguas"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Ajustar às guias"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Ajustar às guias de régua"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Alternar paleta de texto"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Mudar tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Mostrar / Ocultar"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Alternar estilo de zoom"
@@ -3227,63 +3187,63 @@ msgstr "Alternar estilo de zoom"
msgid "shortcuts.underline"
msgstr "Alternar sublinhado"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Desfazer"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Desagrupar"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Retirar máscara"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuir verticalmente"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Reduzir zoom na lupa"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Aumentar zoom na lupa"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zoom para selecionados"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Provedores de fonte - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fontes - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projetos - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Pesquisa - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Bibliotecas partilhadas - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Liberdade de Design para Equipas"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Dá feedback - Penpot"
@@ -3291,7 +3251,7 @@ msgstr "Dá feedback - Penpot"
msgid "title.settings.notifications"
msgstr "Notificações - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Definições - Penpot"
@@ -3299,27 +3259,27 @@ msgstr "Definições - Penpot"
msgid "title.settings.password"
msgstr "Palavra-passe - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Perfil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Convites - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membros - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Definições - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Modo visualizador - Penpot"
@@ -3327,99 +3287,99 @@ msgstr "%s - Modo visualizador - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Não foram encontrados quadros na página."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Quadro não encontrado."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comentários (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Não mostrar interações"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Tela Cheia"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspecionar (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interações"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interações (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copiar link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Mostrar interações"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Mostrar interações com click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Mapa do site"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Último envio com sucesso."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Alinhar horizontal ao centro (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuir espaçamento horizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Alinhar à esquerda (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Alinhar à direita (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Alinhar abaixo (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Alinhar ao centro verticalmente (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuir espaçamento vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Alinhar ao topo (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Adicionar biblioteca"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Todos os recursos"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Cores"
@@ -3427,7 +3387,7 @@ msgstr "Cores"
msgid "workspace.assets.colors.add-color"
msgstr "Adicionar cor"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componentes"
@@ -3439,17 +3399,17 @@ msgstr "Adicionar componente"
msgid "workspace.assets.create-group"
msgstr "Criar grupo"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Os teus itens serão nomeados automaticamente como \"nome do grupo / nome do "
"item\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Eliminar"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicar"
@@ -3457,27 +3417,27 @@ msgstr "Duplicar"
msgid "workspace.assets.duplicate-main"
msgstr "Duplicar principal"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtrar"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nome do grupo"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "biblioteca local"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Recursos não encontrados"
@@ -3485,7 +3445,7 @@ msgstr "Recursos não encontrados"
msgid "workspace.assets.open-library"
msgstr "Abrir ficheiro de biblioteca"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Renomear"
@@ -3493,11 +3453,11 @@ msgstr "Renomear"
msgid "workspace.assets.rename-group"
msgstr "Renomear grupo"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Pesquisar recursos"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Biblioteca partilhada"
@@ -3507,43 +3467,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 componente"
msgstr[1] "%s componentes"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Ordenar"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografias"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Adicionar tipografia"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Tamanho"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Estilo da Fonte"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Espaço entre letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Altura da Linha"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformar Texto"
@@ -3551,67 +3511,67 @@ msgstr "Transformar Texto"
msgid "workspace.assets.ungroup"
msgstr "Desagrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Criar área"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Criar prancheta"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Unir células"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Adicionar 1 coluna à direita"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Adicionar 1 coluna à esquerda"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Eliminar coluna"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Apagar coluna e conteúdos"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplicar coluna"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Adicionar 1 fila abaixo"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Adicionar 1 fila acima"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Apagar fila"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Apagar fila e conteúdos"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplicar fila"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Modo de foco"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Foco desativado"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Foco ativo"
@@ -3623,191 +3583,191 @@ msgstr "Gradiente linear"
msgid "workspace.gradients.radial"
msgstr "Gradiente radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Desativar alinhamento dinâmico"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Desativar escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Desativar ajuste às guias"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Desativar ajuste ao pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Desativar ajuste às guias de régua"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Ativar alinhamento dinâmico"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Ativar escala proporcional"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Ajustar às guias"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Ativar ajuste ao pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Ajustar às guias de régua"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Ocultar nome das pranchetas"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Ocultar guias"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Ocultar paleta de cor"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ocultar grade de píxeis"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ocultar réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ocultar paleta de texto"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Ficheiro"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Ajuda e Informações"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferências"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Visualização"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Refazer"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Selecionar tudo"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Mostrar nomes das pranchetas"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Mostrar guias"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Mostrar paleta de cor"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Mostrar grade de píxeis"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Mostrar réguas"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Mostrar paleta de texto"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Alterar para tema escuro"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Mudar para tema claro"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Desfazer"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Ampliar em 100%"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Erro ao salvar"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Guardado"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "A salvar"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Partilhar"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Ajustar para preencher"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Ajustar para encaixar"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Ajustar para mostrar tudo"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Tela cheia"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Aumentar para seleção"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Editar grelha"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Sair"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Mostrar 4 opções de preenchimento de lados"
@@ -3823,23 +3783,23 @@ msgstr "Feito"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Localizar"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Localizar layout em grelha"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Ainda não existem estilos de cor na tua biblioteca"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Ainda não existem tipografias na tua biblioteca"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Biblioteca de ficheiros"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Cores recentes"
@@ -3851,59 +3811,59 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Guardar estilo de cor"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Biblioteca de ficheiros"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTECAS NESTE FICHEIRO"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ATUALIZAÇÕES DE BIBLIOTECAS"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "A carregar…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Não há resultados para \"%s\""
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Pesquisar bibliotecas partilhadas"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTECAS PARTILHADAS"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Conectar biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Desconectar biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Atualizar"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "ver todas as alterações"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ATUALIZAÇÕES"
@@ -3931,39 +3891,39 @@ msgstr "Desfoque de seleção"
msgid "workspace.options.canvas-background"
msgstr "Plano de fundo"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Recorte do conteúdo"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Componente"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Cópia"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Criar uma nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Editar uma nota"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principal"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Trocar de componente"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Ainda não existem recursos nesta biblioteca"
@@ -4007,11 +3967,11 @@ msgstr "Topo"
msgid "workspace.options.constraints.topbottom"
msgstr "Topo e Abaixo"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportar"
@@ -4019,33 +3979,33 @@ msgstr "Exportar"
msgid "workspace.options.export-multiple"
msgstr "Exportar seleção"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Eliminar exportação"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufixo"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exportação completa"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "A exportar…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "A exportação falhou"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Exportação inesperadamente lenta"
@@ -4061,7 +4021,7 @@ msgstr "Adicionar cor de preenchimento"
msgid "workspace.options.fill.remove-fill"
msgstr "Remover preenchimento"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Redimensionar para ajustar ao conteúdo"
@@ -4085,67 +4045,67 @@ msgstr "Início de fluxo"
msgid "workspace.options.grid.auto"
msgstr "Automático"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Colunas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Espaço"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margem"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Definir como padrão"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Abaixo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Esquerda"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Direita"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Esticar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Topo"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Utilizar padrão"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Largura"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Linhas"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Quadrado"
@@ -4157,7 +4117,7 @@ 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:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Adicionar guia"
@@ -4165,15 +4125,15 @@ msgstr "Adicionar guia"
msgid "workspace.options.guides.remove-guide"
msgstr "Remover guia"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guias"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Altura"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspecionar"
@@ -4389,99 +4349,99 @@ msgstr "Interações"
msgid "workspace.options.interactions.add-interaction"
msgstr "Adicionar interação"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Superexposição de cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Subexposição Linear (Adicionar)"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Escurecer"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Diferença"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Exclusão"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Luz direta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Matiz"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Clarear"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminosidade"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplicação"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Sobrepor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturação"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Tela"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Luz indireta"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Altura.Máx"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Largura.Máx"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Altura.Min"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Largura.Min"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Mais cores"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Mais bibliotecas de cor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacidade"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Protótipo"
@@ -4505,19 +4465,19 @@ msgstr "Superior esquerdo"
msgid "workspace.options.radius-top-right"
msgstr "Superior direito"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recente"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Repetir"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotação"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Pesquisar fonte"
@@ -4527,7 +4487,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Cores selecionadas"
@@ -4591,47 +4551,47 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Mostrar no modo de visualização"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Tamanho"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Tamanho pré-definido"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Círculo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamante"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Seta"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nenhum"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Arredondado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Quadrado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Retângulo"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triângulo"
@@ -4639,7 +4599,7 @@ msgstr "Triângulo"
msgid "workspace.options.stroke-color"
msgstr "Cor do traço"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Largura do traço"
@@ -4647,35 +4607,35 @@ msgstr "Largura do traço"
msgid "workspace.options.stroke.add-stroke"
msgstr "Adicionar cor de traço"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centro"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tracejado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Pontilhado"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Interior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Misto"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Exterior"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Remover traço"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Sólido"
@@ -4711,11 +4671,11 @@ msgstr "Largura automática"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fixo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Espaço entre letras"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Altura entre linhas"
@@ -4761,152 +4721,152 @@ 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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Largura"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Eixo X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Desenhar nós (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Unir nós (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Em cantos (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Em curvas (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Fundir nós (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mover nós (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separar nós (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Ajustar nós (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Abrir"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Descobre [mais plugins](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Sem plugins instalados"
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
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:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "O plugin não existe ou o URL está incorreto."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instalar"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Plugins instalados"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Gestor de plugins"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ATUALIZAR ESTE PLUGIN"
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Ler os teus comentários e respostas."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
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:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Ler informações sobre as tuas bibliotecas e recursos."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Ler e modificar as tuas bibliotecas e recursos."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "O PLUGIN '%s' SOLICITA ACESSO A:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Ler as informações de perfil do utilizador atual."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Lista de plugins"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Remover plugin"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Introduz um URL de plugin"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "AGORA NÃO"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "O PLUGIN '%s' FOI INSTALADO PARA O TEU UTILIZADOR!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "TESTAR PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Adicionar layout flex"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Adicionar layout em grelha"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Adicionar layout"
@@ -4918,7 +4878,7 @@ msgstr "Enviar para trás"
msgid "workspace.shape.menu.backward"
msgstr "Mover para trás"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copiar"
@@ -4946,27 +4906,27 @@ msgstr "Copiar como texto"
msgid "workspace.shape.menu.create-annotation"
msgstr "Criar nota"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Seleção para a prancheta"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Criar componente"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Criar múltiplos componentes"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Recortar"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Eliminar"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Eliminar início de fluxo"
@@ -4978,7 +4938,7 @@ msgstr "Desprender instância"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Desprender instâncias"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferença"
@@ -4986,15 +4946,15 @@ msgstr "Diferença"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplicar"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editar"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Excluir"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Achatar"
@@ -5006,7 +4966,7 @@ msgstr "Virar na horizontal"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Virar na vertical"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Início de fluxo"
@@ -5018,31 +4978,31 @@ msgstr "Mover para a frente"
msgid "workspace.shape.menu.front"
msgstr "Enviar para a frente"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Agrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ocultar"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Mostrar/Ocultar interface"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Interseção"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Bloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Máscara"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Colar"
@@ -5050,19 +5010,19 @@ msgstr "Colar"
msgid "workspace.shape.menu.paste-props"
msgstr "Colar propriedades"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Curvas"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Remover layout flex"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Remover layout em grelha"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Remover layout"
@@ -5082,11 +5042,11 @@ msgstr "Restaurar componente principal"
msgid "workspace.shape.menu.select-layer"
msgstr "Selecionar camada"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Mostrar"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Mostrar recursos no painel"
@@ -5102,19 +5062,19 @@ msgstr "Remover miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Definir como miniatura"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Desagrupar"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "União"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Desbloquear"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Retirar máscara"
@@ -5130,47 +5090,47 @@ msgstr "Fechar barra lateral"
msgid "workspace.sidebar.expand"
msgstr "Expandir barra lateral"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Histórico"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Camadas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componentes"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Pranchetas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupos"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Imagens"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Máscaras"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Pesquisar camadas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Formas"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Textos"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Importar atributos do SVG"
@@ -5182,7 +5142,7 @@ msgstr "Páginas"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Adicionar página"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Mapa do site"
@@ -5190,7 +5150,7 @@ msgstr "Mapa do site"
msgid "workspace.tokens.active-themes"
msgstr "%s temas ativos"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Aplicado a"
@@ -5198,7 +5158,7 @@ msgstr "Aplicado a"
msgid "workspace.tokens.back-to-themes"
msgstr "Voltar à lista de temas"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Cor"
@@ -5230,7 +5190,7 @@ msgstr "Tamanho máx."
msgid "workspace.tokens.min-size"
msgstr "Tamanho mín."
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valor original: %s"
@@ -5254,7 +5214,7 @@ msgstr "Lista de temas"
msgid "workspace.tokens.token-description"
msgstr "Descrição"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nome"
@@ -5266,7 +5226,7 @@ msgstr "Valor"
msgid "workspace.tokens.tools"
msgstr "Ferramentas"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "O valor não é válido"
@@ -5274,55 +5234,55 @@ msgstr "O valor não é válido"
msgid "workspace.toolbar.assets"
msgstr "Recursos"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paleta de cores (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comentários (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Curvas (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipse (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Prancheta (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Imagem (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Mover (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Caminho (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugins (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rectângulo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Texto (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografias (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Alternar barra de ferramentas"
@@ -5335,7 +5295,7 @@ msgstr "Feito"
msgid "workspace.top-bar.view-only"
msgstr "**A inspecionar código** (Somente leitura)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Não há histórico de mudanças até agora"
@@ -5475,19 +5435,19 @@ msgstr "recurso tipográfico"
msgid "workspace.undo.entry.unknown"
msgstr "Operação sobre %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ignorar"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Mais informações"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Existem atualizações nas bibliotecas partilhadas"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Atualizar"
diff --git a/frontend/translations/ro.po b/frontend/translations/ro.po
index 2581de553f..6bfc49ace1 100644
--- a/frontend/translations/ro.po
+++ b/frontend/translations/ro.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:18+0000\n"
-"Last-Translator: AlexTECPlayz \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Romanian "
" \n"
"Language: ro\n"
@@ -10,9 +10,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Ai deja un cont?"
@@ -30,7 +30,7 @@ msgstr ""
"Acesta este un serviciu DEMO, NU ÎL UTILIZA pentru lucrări reale, întrucât "
"proiectele vor fi șterse periodic."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Ai uitat parola?"
@@ -38,37 +38,37 @@ msgstr "Ai uitat parola?"
msgid "auth.fullname"
msgstr "Numele complet"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Intru în contul meu"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Intră în cont aici."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -90,7 +90,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "Un link de recuperare a parolei s-a trimis pe e-mail."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Te-ai alăturat echipei cu success"
@@ -122,7 +122,7 @@ msgstr "Ai uitat parola?"
msgid "auth.recovery-submit"
msgstr "Schimbă parola"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Nu ai încă un cont?"
@@ -136,7 +136,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Numele dvs."
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Creează un cont"
@@ -151,7 +151,7 @@ msgstr ""
"Sunt de acord cu [termenii și condițiile](%s) și [politica de "
"confidențialitate](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Termenii serviciului"
@@ -169,94 +169,94 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Nicio persoană găsită pentru @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publică"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Toți utilizatorii Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Sigur dorești să elimini acest link? Dacă o faci, nu mai este disponibil "
"pentru nimeni"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(curent)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Distruge linkul"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Obține link"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Link copiat cu succes"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Gestionează permisiunile"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 pagină partajată"
msgstr[1] "%s pagini partajate"
msgstr[2] "%s de pagini partajate"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Poate comenta"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Poate inspecta codul"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Oricine cu linkul va avea acces"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Pagini partajate"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Linkul care poate fi partajat va apărea aici"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Doar membrii echipei"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Distribuie prototipuri"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Selectează Tot"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Anulează publicarea"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Managementul echipei"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot este destinat echipelor. Invită membrii să lucrați împreună la "
"proiecte și fișiere"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Faceți echipă!"
@@ -264,23 +264,23 @@ msgstr "Faceți echipă!"
msgid "dashboard.add-file"
msgstr "Adaugă filă"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Adaugă ca bibliotecă partajată"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Schimbă adresa de e-mail"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(copiază)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Creează o nouă echipă"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Fixează această versiune"
@@ -288,11 +288,11 @@ msgstr "Fixează această versiune"
msgid "dashboard.default-team-name"
msgstr "Contul Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Șterge echipa"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Descarcă fișierul Penpot (.penpot)"
@@ -304,19 +304,19 @@ msgstr "Duplicat"
msgid "dashboard.duplicate-multi"
msgstr "Duplică %s fișiere"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Nu ai încă ciorne."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
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/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Nu ai încă fișiere."
@@ -368,70 +368,70 @@ msgstr "Începe să creezi lucruri uimitoare"
msgid "dashboard.export-binary-multi"
msgstr "Descarcă %s fișiere Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportă table ca PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportă ca PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s din %s elemente selectate"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportă"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Poți adăuga setări de export la elemente din proprietățile designului (în "
"partea de jos a barei laterale din dreapta)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Informații despre cum să setezi exporturile în Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Nu există elemente cu setări de export."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportă selecția"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Font șters"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Anulează tot"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Fonturile personalizate pe care le încarci vor apărea aici."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Nu ai încă fonturi personalizate."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
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:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -440,7 +440,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -449,11 +449,11 @@ msgstr ""
"și Condițiile Penpot](%s). De asemenea, îți recomandăm să citești și despre "
"[licențierea fonturilor](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Încarcă toate"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -464,11 +464,11 @@ msgstr ""
"utilizezi [Transfonter](https://transfonter.org/) pentru a genera fonturi "
"web și a remedia erorile. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importă fișiere Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Hopa! Nu am putut importa acest fișier"
@@ -476,26 +476,26 @@ msgstr "Hopa! Nu am putut importa acest fișier"
msgid "dashboard.import.bad-url"
msgstr "Importarea a eșuat. URL-ul șablonului este incorect"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Nu toate fișierele au fost importate"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Următoarele fișiere au erori:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Fișierele cu erori nu vor fi încărcate."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Unele fișiere conțineau obiecte invalide care au fost eliminate."
@@ -503,77 +503,49 @@ msgstr "Unele fișiere conțineau obiecte invalide care au fost eliminate."
msgid "dashboard.import.no-perms"
msgstr "Nu ai permisiunea pentru a importa în această echipă"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Procesarea culorilor"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Procesarea componentelor"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Procesarea fișierelor media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Procesarea paginii: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Procesarea tipografiilor"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Încărcarea datelor pe server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Încărcarea fișierului: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Vei șterge invitațiile pentru:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Vei retrimite invitațiile pentru:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Șterge invitațiile"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Retrimite invitațiile"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Invită persoane"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Părăsește echipa"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Biblioteci & Șabloane"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Aici sunt unele dintre bibliotecile și modelele pe care le poți adăuga la "
"proiectul tău"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Explorează mai multe dintre ele și află cum să contribui"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Biblioteci Partajate"
@@ -581,7 +553,7 @@ msgstr "Biblioteci Partajate"
msgid "dashboard.loading-files"
msgstr "încărcarea fișierelor …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "se încarcă fonturile tale…"
@@ -601,39 +573,39 @@ msgstr "Mută %s fișiere la"
msgid "dashboard.move-to-other-team"
msgstr "Mută la o altă echipă"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Fișier nou"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Fișer nou"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Proiect nou"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Proiect nou"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Nu există rezultate pentru “%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Proiectele fixate vor apărea aici"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notificări"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Adresa ta de email a fost actualizată cu success"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Adresa ta de email este confirmată"
@@ -645,11 +617,11 @@ msgstr "Setările notificărilor au fost actualizate"
msgid "dashboard.notifications.password-saved"
msgstr "Parolă actualizată cu success!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Afișează notificările"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s membrii"
@@ -657,15 +629,15 @@ msgstr "%s membrii"
msgid "dashboard.open-in-new-tab"
msgstr "Deschide fișier într-o pagină nouă"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Opțiuni"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Sortează după rol"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Sortează după status"
@@ -689,7 +661,7 @@ msgstr "Deții acum această echipă."
msgid "dashboard.permissions-change.viewer"
msgstr "Ești acum un cititor în această echipă."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Prinde/Desprinde"
@@ -705,11 +677,11 @@ msgstr "Nu s-a putut citi registrul extensiei"
msgid "dashboard.plugins.try-plugin"
msgstr "Încearcă extensia: "
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Proiecte"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Dorești să îți ștergi contul?"
@@ -717,35 +689,35 @@ msgstr "Dorești să îți ștergi contul?"
msgid "dashboard.removed-from-team"
msgstr "Nu mai faci parte din echipa \"%s\"."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Salvează setările"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Căutare…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Căutare pentru “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Selectează limbajul interfeței"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Selectează o temă"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Întunecat (implicit)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Luminos"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Temă sistem"
@@ -809,11 +781,11 @@ msgstr "Actualizează setările"
msgid "dashboard.settings.notifications.title"
msgstr "Notificări"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Afișează toate fișierele"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Istoric versiuni"
@@ -839,7 +811,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Fișierul a fost mutat cu succes"
@@ -851,67 +823,67 @@ msgstr "Fișerele au fost mutate cu succes"
msgid "dashboard.success-move-project"
msgstr "Proiectul a fost mutat cu succes"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Informațiile echipei"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Membrii echipei"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Proiectele echipei"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Adaugă la proiectul tău"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Interfață temă"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Rezultatele căutării"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Scrie pentru a începe căutarea"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Anulează publicarea bibliotecii"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Actualizează setările"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Este activ"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Când acest hook este declanșat, se vor furniza detalii despre eveniment"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Poți șterge sau modifica doar webhook-urile create de tine."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Tip de conținut"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Creează webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook creat cu succes."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhook-urile sunt o modalitate simplă de a permite altor site-uri web și "
@@ -919,23 +891,23 @@ msgstr ""
"Penpot. Vom trimite o solicitare POST la fiecare dintre adresele URL pe "
"care le furnizezi."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Apasă butonul \"Adaugă webhook\" pentru a adăuga unul."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Niciun webhook creat până acum."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Contul tău"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Email"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Numele tău"
@@ -951,11 +923,11 @@ msgstr "Atenţie"
msgid "ds.component-subtitle"
msgstr "Componente de actualizat:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Permite"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Anulează"
@@ -975,7 +947,7 @@ msgstr "Nici un token nu este aplicabil în seturile active sau temele."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Nu a fost găsit nimic."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Deschide lista de token-uri"
@@ -987,15 +959,15 @@ msgstr "Furnizor de autentificare neautorizat pentru acest profil"
msgid "errors.auth-provider-not-configured"
msgstr "Furnizorul de autentificare nu este configurat."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Se pare că nu ești autentificat sau sesiunea a expirat."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Fontul %s nu a putut fi încărcat"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Fonturile %s nu au putut fi încărcate"
@@ -1007,41 +979,41 @@ msgstr "Fișierul media nu s-a putut încărca."
msgid "errors.character-limit-exceeded"
msgstr "Limită de caractere depășită"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Bowser-ul tău nu permite clipboard"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "A apărut o eroare în urma acestui comentariu"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Ne pare rău! Acesta este un fișier vechi care folosește un tip de obiecte "
"Penpot vechi și nu îl poți deschide."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "pentru a te putea ajuta."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Deși Penpot nu mai suportă acest tip de obiecte, poți"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "să ne contactezi"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Nu poți muta un set părinte în propria cale al unuia dintre copii."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Email deja trimis"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Adresa de email este deja validată."
@@ -1053,29 +1025,29 @@ msgstr "Nu poți folosi e-mailul ca parolă"
msgid "errors.email-does-not-match-invitation"
msgstr "Adresa de e-mail nu corespunde invitației."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domeniu neautorizat"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Adresa de email «%s» are multe rapoarte permanente de respingere."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "E-mailul «%s» a fost raportat ca spam sau respins permanent."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Se pare că vrei să deschizi un fișier care are activată funcția \"%s\", dar "
"versiunea curentă a Penpot nu o acceptă sau o are dezactivată."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Funcția \"%s\" nu este acceptată."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Necesită cel mult 1 caracter."
@@ -1083,7 +1055,7 @@ msgstr "Necesită cel mult 1 caracter."
msgid "errors.field-min-length"
msgstr "Necesită cel puțin 1 caracter."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Câmp gol"
@@ -1091,18 +1063,18 @@ msgstr "Câmp gol"
msgid "errors.field-not-all-whitespace"
msgstr "Numele necesită un alt caracter decât spațiu."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Se pare că există o discrepanță între caracteristicile activate și "
"caracteristicile fișierului pe care încerci să îl deschizi. Migrații pentru "
"'%s' trebuie să fie aplicate înainte ca fișierul să poată fi deschis."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "S-a întâmplat ceva în neregulă."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "A apărut o problemă cu web worker-ul."
@@ -1118,7 +1090,7 @@ msgstr "Date invalide"
msgid "errors.invalid-email"
msgstr "Te rugăm să introduci un e-mail valid"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "E-mailul de confirmare trebuie să se potrivească"
@@ -1142,11 +1114,11 @@ msgstr "Se poate ca această invitație să fie anulată sau expirată."
msgid "errors.ldap-disabled"
msgstr "Autentificarea cu LDAP este dezactivată."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Ai ajuns la cota \"%s\". Ia legătura cu serviciul de asistență."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Numărul maxim de e-mailuri (%s) care pot fi invitate într-o singură cerere "
@@ -1164,21 +1136,21 @@ msgstr "Se pare că conținutul imaginii nu se potrivește cu extensia de fișie
msgid "errors.media-type-not-allowed"
msgstr "Se pare că aceasta nu este o imagine validă."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Profilul pe care încerci să îl inviți este dezactivat (din cauza "
"rapoartelor spam sau inactivitate)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migrație în progres"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Doar creatorul versiunii poate bloca"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Doar creatorul versiunii poate debloca"
@@ -1190,7 +1162,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/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Date invalide în clipboard"
@@ -1198,7 +1170,7 @@ msgstr "Date invalide în clipboard"
msgid "errors.profile-blocked"
msgstr "Profilul este blocat"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Profilul tău conține adrese de email dezactivate (rapoarte spam sau "
@@ -1208,25 +1180,25 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Înregistrarea este dezactivată în prezent."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG este invalid sau malformat"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Funcție incompatibilă detectată '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Nu există suficienți membri pentru a părăsi echipa, probabil că dorești să "
"o ștergi."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Membrul pe care încerci să-l atribui nu există."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Proprietarul nu poate părăsi echipa, trebuie reatribuit rolul de proprietar."
@@ -1234,15 +1206,15 @@ msgstr "Proprietarul nu poate părăsi echipa, trebuie reatribuit rolul de propr
msgid "errors.token-set-already-exists"
msgstr "Un set cu același nume există deja"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "Nu se poate completa mutarea, un set cu același nume există deja în cale."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "O opțiune de temă cu același nume există deja"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"Înălțimea liniei depinde de dimensiunea fontului. Adaugă o dimensiune "
@@ -1264,7 +1236,7 @@ msgstr "Eroare import:"
msgid "errors.tokens.invalid-color"
msgstr "Valoare culoare invalidă: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Valoare greutate font invalidă: folosește valori numerice (100-950) sau "
@@ -1286,27 +1258,27 @@ msgstr ""
"Numele token-urilor trebuie să conțină doar litere și cifre separate de "
"caracterul . și nu trebuie să înceapă cu un semn $."
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Valoare token invalidă: doar none, Uppercase, Lowercase sau Capitalize sunt "
"acceptate"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "Valoare token invalidă: doar none, underline și strike-trough sunt acceptate"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr ""
"Valoare invalidă: trebuie să facă referință la un token de tipografie "
"compozită."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Valoare token invalidă: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Referințe token lipsă: "
@@ -1318,23 +1290,23 @@ msgstr "Nu s-au găsit token-uri, seturi sau teme în acest fișier."
msgid "errors.tokens.number-too-large"
msgstr "Valoare token invalidă. Valoarea rezultată este prea mare: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Opacitatea trebuie să fie între 0 și 100% sau 0 și 1 (ex: 50% sau 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token-ul își face referință singur"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Lățimea conturului trebuie să fie mai mare sau egală cu 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Valoare invalidă: % nu este permis."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Valoare invalidă: Unitățile nu sunt permise."
@@ -1342,47 +1314,47 @@ msgstr "Valoare invalidă: Unitățile nu sunt permise."
msgid "errors.unexpected-error"
msgstr "A apărut o eroare neașteptată."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Cod necunoscut"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Această versiune este blocată deja"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Această versiune este blocată și nu poate fi ștearsă de către alții"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Fișierul are un număr incompatibil de versiune"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Eroare de conexiune, URL-ul nu poate fi accesat"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL-ul nu a trecut validarea."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Ultima livrare nu a avut succes."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Eroare la validarea SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Eroare neașteptată la validare"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Stare neașteptată %s"
@@ -1398,13 +1370,13 @@ msgstr "Parola veche este incorectă"
msgid "feedback.description"
msgstr "Descriere"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Ne bucurăm să te avem aici. Dacă ai nevoie de ajutor, te rog să cauți "
"înainte de a posta."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Comunitatea Penpot"
@@ -1418,11 +1390,11 @@ msgstr ""
"Descrie motivul pentru care ne scrii, specificând eventuale probleme, idei "
"sau nelămuriri. Un membru al echipei noastre îți va răspunde în scurt timp."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Aici pentru a te ajuta cu întrebările tehnice."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Cont de asistență X"
@@ -1458,7 +1430,7 @@ msgstr "Descarcă imaginea sursă"
msgid "inspect.attributes.shadow"
msgstr "Umbră"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Dimensiune și poziție"
@@ -1466,39 +1438,27 @@ msgstr "Dimensiune și poziție"
msgid "inspect.attributes.stroke"
msgstr "Contur"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Centru"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Interior"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Exterior"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Familie de Fonturi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Dimensiune Font"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Stil Font"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Spațiere între litere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Înălțimea rândului"
@@ -1510,11 +1470,11 @@ msgstr "Niciunul"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Subliniat"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Majuscule Titlu"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Minuscule"
@@ -1526,7 +1486,7 @@ msgstr "Niciunul"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Ne-setează"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Majuscule"
@@ -1638,47 +1598,47 @@ msgstr "Valoare rezultată:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Proprietățile variantei"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Marchează tot ca fiind citit"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Comenzi rapide"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Despre Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Acceptă"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Activ"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Adaugă"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Adaugă font personalizat"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Adăugare..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Administrator"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Toate"
@@ -1686,15 +1646,15 @@ msgstr "Toate"
msgid "labels.and"
msgstr "și"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Înapoi"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "Momentan serverele noastre sunt în mentenanță. Revino în scurt timp."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Eroare de Server"
@@ -1702,15 +1662,15 @@ msgstr "Eroare de Server"
msgid "labels.blur"
msgstr "Estompare"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Anulează"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Închide"
@@ -1718,7 +1678,7 @@ msgstr "Închide"
msgid "labels.code"
msgstr "Cod"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Închidere"
@@ -1730,15 +1690,15 @@ msgstr "Culoare"
msgid "labels.comment"
msgstr "Comentariu"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Comentarii"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Comunitate"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Comunitate și contribuții"
@@ -1750,11 +1710,11 @@ msgstr "Calculat"
msgid "labels.confirm-password"
msgstr "Confirmă parola"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Continuă"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Poți continua cu un cont Penpot"
@@ -1766,27 +1726,27 @@ msgstr "Copiază"
msgid "labels.copy-color"
msgstr "Copiază culoarea"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Copiază link-ul"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Creează"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Creează o echipă"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Introdu noul nume al echipei"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Administrare"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Șterge"
@@ -1798,7 +1758,7 @@ msgstr "Șterge comentariu"
msgid "labels.delete-comment-thread"
msgstr "Șterge discuția"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Șterge invitația"
@@ -1806,15 +1766,15 @@ msgstr "Șterge invitația"
msgid "labels.delete-multi-files"
msgstr "Șterge %s fișiere"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Dezvoltare"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Anulează"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Drafturi"
@@ -1822,27 +1782,27 @@ msgstr "Drafturi"
msgid "labels.duplicate"
msgstr "Duplică"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Editează"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Editor"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Gol"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Eroare"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Expirat"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportă"
@@ -1854,7 +1814,7 @@ msgstr "Feedback dezactivat"
msgid "labels.feedback-sent"
msgstr "Feedback trimis"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -1862,55 +1822,55 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Umple"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Familie de Fonturi"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stiluri"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fonturi"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Repozitoriu Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Lasă un feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Întoarce-te"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Design grafic"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Centru Ajutor"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Ajutor și educație"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Ascunde"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Ascunde comentariile rezolvate"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importă"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inactiv"
@@ -1918,39 +1878,39 @@ msgstr "Inactiv"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fonturi instalate"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Eroare internă"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Invitații"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Limbă"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Aspect"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Centrul de învățare"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Biblioteci & Șabloane"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Se încarcă…"
@@ -1958,7 +1918,7 @@ msgstr "Se încarcă…"
msgid "labels.lock"
msgstr "Blochează"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Conectează-te sau înregistrează-te"
@@ -1966,19 +1926,19 @@ msgstr "Conectează-te sau înregistrează-te"
msgid "labels.login"
msgstr "Intră în cont"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Deconectare"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marketing"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Membru"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Membri"
@@ -1990,45 +1950,45 @@ msgstr "Mențiune"
msgid "labels.new-password"
msgstr "Parolă nouă"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Următor"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Ești la zi! Notificările de comentarii noi vor apărea aici."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Nu există invitații în așteptare."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Adună-ți echipa și construiți lucruri grozave împreună."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Opa!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notificări"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fişier"
msgstr[1] "%s fişiere"
msgstr[2] "%s fişiere"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 planșă"
msgstr[1] "%s planșe"
msgstr[2] "%s de planșe"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 proiecte"
@@ -2039,39 +1999,39 @@ msgstr[2] "%s proiecte"
msgid "labels.old-password"
msgstr "Parola veche"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Opțiuni"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Alta (specifică)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Altele"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Autor"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Parola"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "În curs"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Registrul de schimbări ale Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Hub-ul Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Proiecte fixate"
@@ -2079,27 +2039,27 @@ msgstr "Proiecte fixate"
msgid "labels.post"
msgstr "Postează"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Anterior"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Design produs sau UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Management de proiecte"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Proiecte"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referință"
@@ -2107,23 +2067,23 @@ msgstr "Referință"
msgid "labels.refresh"
msgstr "Actualizează"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Mențiuni"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Elimină"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Elimină membru"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Redenumire"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Modifică numele echipei"
@@ -2147,11 +2107,11 @@ msgstr "răspuns nou"
msgid "labels.reply.thread"
msgstr "Răspunde"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Retrimite"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Retrimite invitația"
@@ -2159,43 +2119,43 @@ msgstr "Retrimite invitația"
msgid "labels.restore"
msgstr "Restaurează"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Încearcă din nou"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Salvează"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Caută"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Caută font"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Selectează opțiunea"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Trimitere"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Se trimite…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Momentan suntem în mentenanță."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Serviciul nu este disponibil"
@@ -2203,55 +2163,55 @@ msgstr "Serviciul nu este disponibil"
msgid "labels.sets"
msgstr "Seturi"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Setări"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Umbră"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Partajează"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Biblioteci distribuite"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Afișează"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Afișează toate comentariile"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Arată lista de comentarii"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Afișează doar răspunsurile tale"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Afișează doar comentariile mele"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Surse"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Începeți"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Stare"
@@ -2259,7 +2219,7 @@ msgstr "Stare"
msgid "labels.stroke"
msgstr "Contur"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Student sau profesor"
@@ -2275,19 +2235,19 @@ msgstr "SVG"
msgid "labels.text"
msgstr "Text"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Teme"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Tutoriale"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Tipografie"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Eroare necunoscută"
@@ -2299,31 +2259,31 @@ msgstr "Deblochează"
msgid "labels.unpublish-multi-files"
msgstr "Anulează publicarea a %s fișiere"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Actualizare"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Actualizare echipă"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Încărcare"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Încarcă fonturi personalizate"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Se încarcă…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variantă"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Versiune note %s"
@@ -2331,7 +2291,7 @@ msgstr "Versiune note %s"
msgid "labels.view-only"
msgstr "NUMAI VIZUALIZARE"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Vizitator"
@@ -2339,7 +2299,7 @@ msgstr "Vizitator"
msgid "labels.visibility"
msgstr "Vizibilitate"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhook-uri"
@@ -2347,11 +2307,11 @@ msgstr "Webhook-uri"
msgid "labels.write-new-comment"
msgstr "Scrie un comentariu"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(tu)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Contul tău"
@@ -2488,59 +2448,59 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Adaugă “%s” la Colecții Distribuite"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Ghiont mare"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verifică-ți adresa de e-mail"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "Îți vom trimite un email pe adresa “%s” pentru identificare."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Mail nou"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Schimbă adresa de e-mail"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Schimbă-ți adresa de E-mail"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Creează webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Creează webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL a încărcăturii"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Anulează ștergerea contului"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Confirm ștergerea contului"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Prin ștergerea contului, se vor șterge toate proiectele și arhivele tale."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Ești sigur că dorești ștergerea contului?"
@@ -2590,31 +2550,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Ștergerea stilului fontului"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Ștergere font"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Ești sigur că dorești să ștergi această pagină?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Șterge pagină"
@@ -2630,35 +2590,35 @@ msgstr "Ești sigur că dorești să ștergi acest proiect?"
msgid "modals.delete-project-confirm.title"
msgstr "Șterge proiect"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Șterge fișier"
msgstr[1] "Șterge fișiere"
msgstr[2] "Șterge fișierele"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Nu este activat în niciun fișier."
msgstr[1] "Nu sunt activate în niciun fișier."
msgstr[2] "Nu sunt activate în niciun fișier."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Această librărie este activată aici: "
msgstr[1] "Aceste librării sunt activate aici: "
msgstr[2] "Aceste librării sunt activate aici: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Ești sigur că vrei sa ștergi acest fișier?"
msgstr[1] "Ești sigur că vrei sa ștergi aceste fișiere?"
msgstr[2] "Ești sigur că vrei sa ștergi aceste fișiere?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Se șterge fișierul"
@@ -2679,19 +2639,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Ștergere echipă în curs"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Elimină membru"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Ești sigur că dorești să elimini acest membru din echipă?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Elimină un membru al echipei"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -2704,168 +2664,168 @@ msgstr[2] ""
"Obiectele care au fost folosite deja în aceste fișiere vor rămâne acolo "
"(niciun design nu va fi stricat)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Ștergeți webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Ești sigur că vrei să ștergi acest webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Ștergerea webhook-ului"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Editează webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Editează webhook"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Trimite invitație"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-mailuri, separate prin virgulă"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Unele e-mailuri provin de la membri actuali ai echipei. Invitațiile lor nu "
"vor fi trimise."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Poți invita membri în echipă pentru a putea accesa acest fișier și toate "
"fișierele echipei."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Invită membri în echipă"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Deoarece ești singurul membru al acestei echipe, echipa va fi ștearsă "
"împreună cu proiectele și fișierele sale."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Sigur doriți să părăsiți echipa %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Nu puteţi părăsi echipa dacă nu există un alt membru care să devină "
"administrator. Aţi putea şterge echipa."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "Ești administratorul echipei %s."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Promovează şi părăseşte echipa"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Selectează un membru pentru promovare"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Selectează un membru pentru promovare"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Părăsește echipa"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Ești sigur că dorești să părăsești această echipă?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Părăsire echipă în curs"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Mută"
msgstr[1] "Mută"
msgstr[2] "Mută"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Ești sigur că vrei să muți această bibliotecă?"
msgstr[1] "Ești sigur că vrei să muți aceste biblioteci?"
msgstr[2] "Ești sigur că vrei să muți aceste biblioteci?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Mută biblioteca"
msgstr[1] "Mută bibliotecile"
msgstr[2] "Mută bibliotecile"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Suma înghiontului"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Promovează"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Dacă transferi dreptul de proprietate, îți vei schimba rolul în "
"Administrator, pierzând unele permisiuni asupra acestei echipe. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "Ești sigur că dorești să promovezi acest utilizator ca deținător al echipei?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Confirmare promovare"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publică"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Biblioteca ta este goală. Ești sigur că vrei să o publici?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publică o bibliotecă goală"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Înghiont mic"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Anulează publicarea"
msgstr[1] "Anulează publicarea"
msgstr[2] "Anulează publicarea"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Sigur dorești să anulezi publicarea acestei biblioteci?"
msgstr[1] "Sigur dorești să anulezi publicarea acestor biblioteci?"
msgstr[2] "Sigur dorești să anulezi publicarea acestor biblioteci?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Anulează publicarea bibliotecii"
@@ -2890,11 +2850,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Actualizaţi o componentă dintr-o colecţie distribuită"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Această pagină nu există"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Eroare 404"
@@ -2914,11 +2874,11 @@ msgstr ""
"Verifică-ți adresa de e-mail și apasă pe linkul primit pentru a crea o nouă "
"parolă."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Înscrie-te gratuit"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Și începe să folosești Penpot în secunde!"
@@ -2926,67 +2886,67 @@ msgstr "Și începe să folosești Penpot în secunde!"
msgid "not-found.made-with-love"
msgstr "Creat cu iubire și cod sursă deschis"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Ai solicitat deja acces la acest fișier."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Ai solicitat deja acces la acest fișier sau alte fișiere sau proiecte din "
"această echipă."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Ai solicitat deja acces la acest proiect sau alte proiecte sau fișiere din "
"această echipă."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Ai solicitat deja acces la acest proiect."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "SOLICITĂ ACCES"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Reține că, dacă proprietarul acceptă, vei fi invitat în echipă."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Cererea ta a fost trimisă corect!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Nu ai acces la acest fișier."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Du te la pagina ta de acasă în Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Dacă proprietarul acceptă, vei fi invitat în echipă."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Fișier Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Nu ai acces la acest proiect."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROIECT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Pentru a accesa acest fișier, poți întreba proprietarul echipei."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Pentru a accesa acest proiect, poți întreba proprietarul echipei."
@@ -3000,27 +2960,27 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "O versiune nouă este valabilă."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Invitație ștearsă cu succes"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Invitaţie trimisă cu succes"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Link de invitație copiat"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Nu poți șterge profilul. Reatribuie echipele tale înainte de a continua."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil salvat cu succes!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Un e-mail de verificare a fost trimis la %s. Verifică-ţi adresa de e-mail!"
@@ -3048,78 +3008,78 @@ msgstr "După ce îți denumești echipa, vei putea invita oameni să se alătur
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Creează echipă"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Invită membri"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Invită cu rolul:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Să începem!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generez cod real din design-uri"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Creez sisteme de design"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototipuri"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Design UI/UX pentru o aplicație"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Pentru ce vei folosi Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Spune-ne puțin despre tine pentru a ne ajuta să facem Penpot să se adapteze "
"pentru tine. Răspunsurile tale ne vor ajuta să prioritizăm funcționalități "
"noi și să te îndreptăm în direcția bună pentru a începe."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Ajută-ne să te cunoaștem mai bine"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Care dintre aceste unelte folosești cel mai mult?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Ce fel de muncă faceți?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Spune-ne despre jobul tău"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Unde ai vrea să începi?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Educație"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personal"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Muncă"
@@ -3169,11 +3129,11 @@ msgstr "Începe să proiectezi"
msgid "profile.recovery.go-to-login"
msgstr "Mergi la autentificare"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Detașează"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mixt"
@@ -3185,35 +3145,35 @@ msgstr "Elimină culoarea"
msgid "settings.select-this-color"
msgstr "Alege elemente folosind acest stil"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Comentarii"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Aliniază jos"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Aliniază centrul orizontal"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Aliniază stânga"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Aliniază dreapta"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Aliniază sus"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Aliniază centrul vertical"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Creează tablă din selecție"
@@ -3221,55 +3181,55 @@ msgstr "Creează tablă din selecție"
msgid "shortcuts.bold"
msgstr "Comutare bold"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Diferența booleană"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Exclude boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Intersecție boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Uniune boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Trimite la spate"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Trimite în spate"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Aduce în față"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Aduce în față"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Ștergeți anularea"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Copiază"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Copiază link"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Copiază proprietățile"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Creează componentă / variantă"
@@ -3277,35 +3237,35 @@ msgstr "Creează componentă / variantă"
msgid "shortcuts.create-new-project"
msgstr "Creează nou"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Taie"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Micșorează"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Șterge"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Șterge nod"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Detașează componentă"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Curbă"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elipsă"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tablă"
@@ -3313,39 +3273,39 @@ msgstr "Tablă"
msgid "shortcuts.draw-nodes"
msgstr "Trasează drum"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Drum"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Dreptunghi"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplică"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Anulează"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportă formele"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Măriți pentru a încăpea tot"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Întoarceți pe orizontală"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Întoarceți pe verticală"
@@ -3369,23 +3329,23 @@ msgstr "Accesează bibliotecile partajate"
msgid "shortcuts.go-to-search"
msgstr "Caută"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grup"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuiți pe orizontală"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Arată/ascunde interfața"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Măriți"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Inserează imagine"
@@ -3393,7 +3353,7 @@ msgstr "Inserează imagine"
msgid "shortcuts.italic"
msgstr "Comutare cursiv"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Uniți noduri"
@@ -3401,39 +3361,39 @@ msgstr "Uniți noduri"
msgid "shortcuts.line-through"
msgstr "Comutare tăiere"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Faceți colț"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Faceți o curbă"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Mască"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Îmbină nodurile"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Mută"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Mută mai jos rapid"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Mută în stânga rapid"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Mută în dreapta rapid"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Mută mai sus rapid"
@@ -3441,333 +3401,333 @@ msgstr "Mută mai sus rapid"
msgid "shortcuts.move-nodes"
msgstr "Mută noduri"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Mută mai jos"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Mută în stânga"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Mută în dreapta"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Mută mai sus"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Următoarea tablă"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Nu s-au găsit comenzi rapide"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Setează opacitatea la 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Setează opacitatea la 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Setează opacitatea la 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Setează opacitatea la 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Setează opacitatea la 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Setează opacitatea la 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Setează opacitatea la 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Setează opacitatea la 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Setează opacitatea la 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Setează opacitatea la 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Selector de culoare"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Accesează secțiunea de comentarii ale spectatorului"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Accesează tabloul de bord"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Mergeți la secțiunea de inspecție a vizualizatorului"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Accesează secțiunea de interacțiuni ale spectatorului"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Accesează secțiunea de interacțiuni ale spectatorului"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Accesează spațiul de lucru"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " sau "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Lipește"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Lipește proprietățile"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Manager extensii"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Tabla anterioară"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Refaceți"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Redenumire"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Resetează zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Scală"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Bazele"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Bord"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Vizualizator"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Spațiu de lucru"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Selectează tot"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Selectare strat următor"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Selectează strat părinte"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Selectare strat anterior"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Noduri separate"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Afișează / Ascunde grila de pixeli"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Afișează / Ascunde comenzile rapide"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Fixare la noduri"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Fixare la grila de pixeli"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Începeți editarea"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Aliniere"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Editează"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Generic"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Meniul principal"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Modifică straturi"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigație"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigație"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigație"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Panouri"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Drumuri"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Forme"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Texte"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Unelte"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Setează miniaturile"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Comenzi rapide de la tastatură"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Comută alinierea dinamică"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Comută obiectele"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Comută paleta de culori"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Comută modul de focus"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Comută la ecran complet"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Afișează / Ascunde reperele de aliniere"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Comută istoricul"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Comută straturile"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Adăugare/eliminare aspect flexibil"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Adaugă/Elimină aspectul de grilă"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Blochează selecția"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Blochează proporțiile"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Afișează / Ascunde reperele de aliniere"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Aliniază la repere"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Aliniază la reperele liniarului"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Comută paleta de text"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Schimbă tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Afișează / Ascunde"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Comută stilul zoomului"
@@ -3775,31 +3735,31 @@ msgstr "Comută stilul zoomului"
msgid "shortcuts.underline"
msgstr "Comutare subliniere"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Anulează"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Degrupează"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Demască"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuiți vertical"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Reducere obiectiv de zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Creștere obiectiv de zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Mărește la selecție"
@@ -3884,183 +3844,183 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Invitarea de persoane când folosiți planul Nelimitat"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonament"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Adaugă o metodă de plată pentru a continua cu perioada de probă"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Toate beneficiile planului Profesional și:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Toate beneficiile planului Nelimitat și:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s editori)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (probă)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Versiuni auto-salvate timp de 90 de zile și recuperare de fișiere"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Factură lunară fixă"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Stocare nelimitată"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Gestionează-ți abonamentul"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "În acest moment, ai %s persoană în echipele tale care poate edita."
msgstr[1] "În acest moment, ai %s persoane în echipele tale care pot edita."
msgstr[2] "În acest moment, ai %s de persoane în echipele tale care pot edita."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Atenție: dacă te muți la un plan mai inferior vei primi mai puțină stocare, "
"mai puține copii de rezervă și un istoric mai scurt de versiuni."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Editori"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Proprietari, Administratori și Editori. Vizualizorii nu sunt numărați ca "
"Editori)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Nu poți pune mai puțini editori de câți ai acum. Schimbă rolul "
"(editor/admin la vizualizor) pentru persoanele care nu edită fișiere în "
"setările echipei."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Vei plăti după perioada de probă. Nu este nevoie să adaugi un card acum."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/lună"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Aplică %s la echipele tale"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Pont: Poți crește numărul de locuri acum pentru a fi pregătit pentru "
"invitații. La peste 25 de editori în echipe, vei beneficia de prețul fix de "
"$175/lună."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Membru Penpot din: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Mai multe informații"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Alte abonamente Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organizație per lună"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Profesional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "Versiuni auto-salvate timp de 7 zile și recuperare de fișiere"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB de stocare"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Echipe nelimitate. Până la 8 editori în echipele deținute de tine."
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Abonamentul tău"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Începe perioada de probă gratuit"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Abonează-te"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Poți să îți modifici abonamentul oricând din pagina 'Abonament' în "
"detaliile contului."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Bucură-te de abonament!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Mulțumim pentru că ai ales planul Penpot %s!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Ești %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Încearcă gratuit pentru 14 zile"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Nelimitat"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Nelimitat (probă)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "Versiuni de 30 de zile cu auto-salvare și recuperare de fișiere"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Factura lunară limitată la $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB de stocare"
@@ -4085,35 +4045,35 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Dacă vrei să crești această limită, [schimbă-ți abonamentul|target:self](%s)"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Furnizori de Fonturi - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fonturi - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Proiecte - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Caută - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Biblioteci Distribuite - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Libertate în Design pentru Echipe"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Oferă feedback - Penpot"
@@ -4121,7 +4081,7 @@ msgstr "Oferă feedback - Penpot"
msgid "title.settings.notifications"
msgstr "Notificări - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Setări - Penpot"
@@ -4129,27 +4089,27 @@ msgstr "Setări - Penpot"
msgid "title.settings.password"
msgstr "Parolă - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Invitații -%s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Membri - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Setări - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Vizualizare - Penpot"
@@ -4161,99 +4121,99 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Detașează tokenul"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Nu există ferestre disponibile pe această pagină."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Fereastra nu există."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Comentarii (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Nu afişa interacţiunile"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Ecran complet"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspectă (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interacţiunile"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interacțiuni (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Copiază link"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Afişează interacţiunile"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Afişează interacţiunile la click"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Harta site-ului"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Ultima livrare a fost cu succes."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Aliniază orizontal (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Introdu spaţierea orizontală (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Aliniază la stânga (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Aliniază la dreapta (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Aliniază jos (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Aliniază vertical (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Introdu spaţierea pe verticală (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Aliniază sus (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Adaugă bibliotecă"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Toate obiectele"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Culori"
@@ -4265,7 +4225,7 @@ msgstr "Adaugă culoare"
msgid "workspace.assets.component-group-options"
msgstr "Opțiuni grup de componente"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Componente"
@@ -4273,7 +4233,7 @@ msgstr "Componente"
msgid "workspace.assets.components.add-component"
msgstr "Adaugă componentă"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s variante"
@@ -4281,15 +4241,15 @@ msgstr "%s variante"
msgid "workspace.assets.create-group"
msgstr "Creează grup"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Şterge"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplică"
@@ -4297,39 +4257,39 @@ msgstr "Duplică"
msgid "workspace.assets.duplicate-main"
msgstr "Duplicare principală"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Editează"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtru"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Vizualizare grilă"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grup"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Nume grup"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Vizualizare listă"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "biblioteca locală"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Gestionează biblioteca"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Nu au fost găsite obiecte"
@@ -4337,7 +4297,7 @@ msgstr "Nu au fost găsite obiecte"
msgid "workspace.assets.open-library"
msgstr "Deschideți fișier librărie"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Redenumeşte"
@@ -4345,11 +4305,11 @@ msgstr "Redenumeşte"
msgid "workspace.assets.rename-group"
msgstr "Redenumiți grupul"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Caută obiecte"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Librărie partajată"
@@ -4360,43 +4320,43 @@ msgstr[0] "1 componentă"
msgstr[1] "%s componente"
msgstr[2] "%s de componente"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sortează"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografii"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Adaugă tipografie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Dimensiune"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Stil Font"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Spaţiere Litere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Înălţime linie"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Transformare Text"
@@ -4408,77 +4368,77 @@ msgstr "Degrupează"
msgid "workspace.colorpicker.color-tokens"
msgstr "Token-uri de culoare"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Componentele nu pot fi incluse în aceleași componente."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Unele copii nu au putut fi comutate. Componentele nu pot fi incluse în ele "
"singure."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Creează zonă"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Creează tablou"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Unește celulele"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Adaugă 1 coloană la dreapta"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Adaugă 1 coloană la stânga"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Șterge coloana"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Șterge coloana și formele"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplică coloana"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Adaugă 1 rând sub"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Adaugă 1 rând deasupra"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Șterge rândul"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Șterge rândul și formele"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplică rândul"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Mod focus"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Focus oprit"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Focus pornit"
@@ -4490,191 +4450,191 @@ msgstr "Gradient liniar"
msgid "workspace.gradients.radial"
msgstr "Gradient radial"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Dezactivează alinierea dinamică"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Dezactivare scară proporțională"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Dezactivează fixarea la ghiduri"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Dezactivează fixarea la pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Dezactivează alinierea automată la reperele liniarului"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Aliniere dinamică"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Activare scară proporțională"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Fixare la ghiduri"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Activează fixarea la pixel"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Aliniază la reperele liniarului"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Ascundeți numele tablelor"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Ascunde reperele de aliniere"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Ascunde paleta de culori"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Ascundeți grila de pixeli"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Ascunde ghidul liniar"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Ascundeți paleta de fonturi"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Editează"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fișier"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Ajutor & info"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Preferințe"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Vezi"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Refacere"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Selectează tot"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Afișează numele tablelor"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Afișează reperele de aliniere"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Afişează paleta de culori"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Afișează grila de pixeli"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Afişează Liniarul"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Afișează paleta de fonturi"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Treci la tema întunecată"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Treci la tema luminoasă"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Treci la tema de sistem"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Anulare"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Resetează"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Eroare în timpul salvării"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Salvat"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Salvare în curs"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Partajează"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Vizualizare (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Umplere - Scalare pentru a umple"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Potrivire - Scalare în jos a se potrivi"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zoom pentru a potrivi tot"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Ecran complet"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zoom la selecție"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Modifică grila"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Ieși"
@@ -4682,7 +4642,7 @@ msgstr "Ieși"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Margine interioară jos"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Afișează opțiuni pentru toate 4 marginile interioare"
@@ -4718,30 +4678,30 @@ msgstr "Terminat"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Localizează"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Localizează aspectul grilei"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 culoare"
msgstr[1] "%s culori"
msgstr[2] "%s de culori"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Nu există stiluri de culori în librăria dvs. încă"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Nu există stiluri de tipografie în librăria dvs. încă"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Bibliotecă de fișiere"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Culori recente"
@@ -4753,96 +4713,96 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Salvează stilul culorii"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 componentă"
msgstr[1] "%s componente"
msgstr[2] "%s de componente"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Conectat la"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Sau adaugă unele dintre acestea pentru a încerca:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "Echipa ta nu are biblioteci partajate, poți căuta pentru"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "unele șabloane aici"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Bibliotecă de fișiere"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 obiect grafic"
msgstr[1] "%s obiecte grafice"
msgstr[2] "%s de obiecte grafice"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTECILE FIŞIERULUI"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTECI"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ACTUALIZĂRI LIBRĂRII"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Se încarcă…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Nu există Biblioteci Distribuite ce necesită update"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Nu au fost găsite asemănări pentru “%s“"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Caută în bibliotecile distribuite"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "BIBLIOTECI DISTRIBUITE"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Conectează biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 tipografie"
msgstr[1] "%s tipografii"
msgstr[2] "%s de tipografii"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Deconectează biblioteca"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Actualizează"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "vedeți toate schimbările"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ACTUALIZĂRI"
@@ -4878,117 +4838,117 @@ msgstr "Comută estompare"
msgid "workspace.options.canvas-background"
msgstr "Fundal canvas"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Conținutul clipului"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Componentă"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Notă"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Copiază"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Creează o notă"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Editează o notă"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Principală"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Înlocuiește componentă"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Această bibliotecă nu are încă obiecte"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Deconectat"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Localizează variantele în conflict"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Această componentă are variante în conflict. Asigură-te că fiecare variantă "
"are un set unic de valori ale proprietăților."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Localizează variantele duplicate"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Unele variante au proprietăți și valori identice"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Aceste variante au proprietăți și valori identice. Ajustează valorile "
"pentru a putea fi citite."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Această variantă are proprietăți și valori identice cu o altă variantă. "
"Ajustează valorile pentru a putea fi citite."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Unele dintre aceste variante au proprietăți și valori identice. Ajustează "
"valorile pentru a putea fi citite."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Această componentă are variante cu nume invalide. Asigură-te că fiecare "
"variantă urmează structura corectă."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Localizează variantele invalide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Unele variante au nume invalide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Localizează variantele invalide"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Aceste variante au nume invalide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Această variantă are un nume invalid."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Unele dintre aceste variante au nume invalide."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[proprietate]=[valoare], [proprietate]=[valoare]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Încearcă să folosești următoarea structură:"
@@ -5027,7 +4987,7 @@ msgstr "Au același nivel ierarhic."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Grupurile, tablourile și aspectele sunt considerate echivalente."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Cum variantele rămân conectate"
@@ -5071,11 +5031,11 @@ msgstr "Sus"
msgid "workspace.options.constraints.topbottom"
msgstr "Sus & Jos"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportă"
@@ -5083,38 +5043,38 @@ msgstr "Exportă"
msgid "workspace.options.export-multiple"
msgstr "Exportă selecția"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "Exportă 1 element"
msgstr[1] "Exportă %s elemente"
msgstr[2] "Exportă %s elemente"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Adaugă export"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Elimină export"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Sufix"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Export finalizat"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Se exportă…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Export eșuat"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Export neașteptat de lent"
@@ -5130,7 +5090,7 @@ msgstr "Adaugă umplere"
msgid "workspace.options.fill.remove-fill"
msgstr "Elimină umplere"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Ajustează dimensiunea tabloului pentru a încăpea tot conținutul"
@@ -5154,67 +5114,67 @@ msgstr "Fluxul începe"
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Coloane"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Culoare"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Spaţiere"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Înălţime"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Margine"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Setează ca predefinit"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Jos"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Centru"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Stânga"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Dreapta"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Întinde"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Sus"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Foloseşte default"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Lăţime"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rânduri"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Pătrat"
@@ -5226,7 +5186,7 @@ msgstr "Umplere grup"
msgid "workspace.options.group-stroke"
msgstr "Conturare grup"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Adaugă reper"
@@ -5234,19 +5194,19 @@ msgstr "Adaugă reper"
msgid "workspace.options.guides.remove-guide"
msgstr "Elimină reper"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Repere"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Comută reperele"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Înălțime"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspectă"
@@ -5462,103 +5422,103 @@ msgstr "Interacțiuni"
msgid "workspace.options.interactions.add-interaction"
msgstr "Adaugă interacțiune"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Culoare"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Arderea culorii"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Evitare culoare"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Întunecat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Diferență"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Excludere"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Lumină Puternică"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Nuanță"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Luminat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminozitate"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplică"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Strat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Saturaţie"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Screen"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Lumină slabă"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Comută vizibilitatea straturilor"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
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:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Lățime maximă"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
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:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Lățime minimă"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Mai multe culori"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Mai multe culori de bibliotecă"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacitate"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototip"
@@ -5590,19 +5550,19 @@ msgstr "Ascunde razele independente"
msgid "workspace.options.radius.show-single-corners"
msgstr "Afișează razele independente"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Recente"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Reîncearcă"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotaţie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Caută font"
@@ -5610,7 +5570,7 @@ msgstr "Caută 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Culori selectate"
@@ -5678,55 +5638,55 @@ msgstr "Comută umbrele"
msgid "workspace.options.show-fill-on-export"
msgstr "Afișează în exporturi"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Afișare în modul de vizualizare"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Mărime"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Dimensiuni presetate"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Blochează proporțiile"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Deblochează proporțiile"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cerc"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Săgeată"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Nimic"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Rotund"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Pătrat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Dreptunghi"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triunghi"
@@ -5734,7 +5694,7 @@ msgstr "Triunghi"
msgid "workspace.options.stroke-color"
msgstr "Culoare contur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Lățimea conturului"
@@ -5742,35 +5702,35 @@ msgstr "Lățimea conturului"
msgid "workspace.options.stroke.add-stroke"
msgstr "Adaugă culoare contur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Centru"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Întrerupt"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Punctat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Interior"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixt"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Exterior"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Elimină contur"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Solid"
@@ -5806,11 +5766,11 @@ msgstr "Lăţime auto"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fix"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Spaţiere Litere"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Înălţime linii"
@@ -5854,126 +5814,126 @@ msgstr "Subliniază (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Lăţime"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Axa X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Axa Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Desenează noduri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Adaugă noduri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "În colţ (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "În curbă (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Uneşte noduri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Mută noduri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separă noduri (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Trage noduri (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Deschide"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Descoperă [mai multe extensii](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Nu ai încă extensii instalate"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Registrul extensiei este incorect."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Trebuie să fii un editor pentru a folosi această extensie"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Extensia nu există sau URL incorect."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Instalează"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Extensii instalate"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Manager extensii"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Extensii"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ACTUALIZEAZĂ ACEASTĂ EXTENSIE"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Această extensie a fost modificată de când ai deschis-o ultima dată. Acum "
"vrea să acceseze:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Începe descărcarea de fișiere."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Stochează datele în browser."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Citește comentariile și răspunsurile tale."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Citește și modifică comentariile tale și răspunde în numele tău."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Citește conținutul fișierelor la care au acces utilizatorii."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Citește și modifică conținutul fișierelor la care au acces utilizatorii."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Ține cont că această extensie este creată de o terță parte, deci asigură-te "
@@ -5981,74 +5941,74 @@ msgstr ""
"confidențialitatea datelor tale sunt importante nouă. dacă ai vreo "
"nelămurire, te rugăm să contactezi suportul."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Citește bibliotecile și obiectele tale."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Citește și modifică bibliotecile și obiectele tale."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "EXTENSIA '%s' VREA ACCES LA:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Citește informațiile profilului utilizatorului curent."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Lista de extensii"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Elimină extensie"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Introdu un URL de extensie"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Extensii"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "NU ACUM"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Vrei să arunci o privire? Va deschide într-o schiță pentru echipa ta "
"curentă. (Dacă nu, poți oricând să o găsești în lista de extensii instalate "
"a oricărui fișier.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "EXTENSIE '%s' ESTE INSTALATĂ PENTRU UTILIZATORUL TĂU!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "ÎNCEARCĂ EXTENSIA"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Adaugă aspect flexibil"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Adaugă aspect grilă"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Adaugă aspect"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Creează variantă"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Adaugă o nouă proprietate"
@@ -6060,7 +6020,7 @@ msgstr "Trimite înapoi"
msgid "workspace.shape.menu.backward"
msgstr "Trimite în urmă"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Combină ca variante"
@@ -6068,7 +6028,7 @@ msgstr "Combină ca variante"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Componentele trebuie să fie în aceeași pagină"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Copiază"
@@ -6104,27 +6064,27 @@ msgstr "Copiază ca text"
msgid "workspace.shape.menu.create-annotation"
msgstr "Creează notă"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Selecție la planșă"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Creează componentă"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Creează componente multiple"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Taie"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Şterge"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Ștergeți începutul fluxului"
@@ -6136,7 +6096,7 @@ msgstr "Detaşează instanţă"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Detașează instanțele"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Diferență"
@@ -6144,15 +6104,15 @@ msgstr "Diferență"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplică"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Editează"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Excludeți"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Aplatizează"
@@ -6164,7 +6124,7 @@ msgstr "Întoarce pe orizontală"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Întoarce pe verticală"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Pornirea fluxului"
@@ -6176,31 +6136,31 @@ msgstr "Aduceţi înainte"
msgid "workspace.shape.menu.front"
msgstr "Aduceţi în faţă"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grupează"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Ascunde"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Afișează / Ascunde UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersecție"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Blochează"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maschează"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Lipeşte"
@@ -6208,27 +6168,27 @@ msgstr "Lipeşte"
msgid "workspace.shape.menu.paste-props"
msgstr "Lipește proprietățile"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Drum"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Îndepărtează aspect flexibil"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Elimină aspectul grilă"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Elimină aspect"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Elimină proprietatea"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Varianta trebuie să aibă cel puțin o proprietate"
@@ -6252,11 +6212,11 @@ msgstr "Restaurează varianta"
msgid "workspace.shape.menu.select-layer"
msgstr "Selectează stratul"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Afişează"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Afișează în panoul de obiecte"
@@ -6272,19 +6232,19 @@ msgstr "Elimină miniatura"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Setează ca miniatură"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Degrupează"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Uniune"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Deblochează"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Demaschează"
@@ -6300,47 +6260,47 @@ msgstr "Restrângeți bara laterală"
msgid "workspace.sidebar.expand"
msgstr "Extindeți bara laterală"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Istoric"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Layere"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Componente"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Plăci"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupuri"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Imagini"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Măști"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Caută straturi"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Forme"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Texte"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Atribute SVG importate"
@@ -6352,7 +6312,7 @@ msgstr "Pagini"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Adaugă pagină"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Harta site-ului"
@@ -6372,7 +6332,7 @@ msgstr "Adaugă set la acest grup"
msgid "workspace.tokens.add-token"
msgstr "Adaugă token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Aplicat la"
@@ -6394,7 +6354,7 @@ msgstr ""
"Dimensiunea de bază a fontului trebuie să fie o valoare în pixeli sau fără "
"unități."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Culoare"
@@ -6402,7 +6362,7 @@ msgstr "Culoare"
msgid "workspace.tokens.create-new-theme"
msgstr "Creează prima ta temă acum."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Creează unul."
@@ -6422,7 +6382,7 @@ msgstr "Șterge temă"
msgid "workspace.tokens.duplicate"
msgstr "Duplică token"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "copie"
@@ -6476,7 +6436,7 @@ msgstr ""
"Eroare la setarea stilului/greutății fontului. Acest stil de font nu există "
"în fontul curent"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Introdu o valoare (300, Bold, Regular, Italic...) sau un {alias}"
@@ -6514,7 +6474,7 @@ msgstr ""
"Într-un singur fișier JSON, cheile primului nivel ar trebui să fie numele "
"setului de token-uri."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importă token-uri"
@@ -6524,17 +6484,17 @@ msgstr ""
"Importul de token-uri va înlocui toate token-urile, seturile și temele "
"curente."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inactiv"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Acest set este inactiv. Schimbă tema sau activează acest set pentru a vedea "
"schimbările în viewport"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Folosește token-uri individuale"
@@ -6554,11 +6514,11 @@ msgstr "Temă"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Adaugă o temă (ex: Luminoasă)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Adaugă spațiere între litere sau {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Introdu o înălțime de linie - multiplier, px, % sau {alias}"
@@ -6574,7 +6534,7 @@ msgstr "Dimensiune maximă"
msgid "workspace.tokens.min-size"
msgstr "Dimensiune minimă"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Clic dreapta pentru a vedea opțiuni"
@@ -6590,7 +6550,7 @@ msgstr "Nu sunt teme active"
msgid "workspace.tokens.no-permisions-set"
msgstr "Trebuie să fii un editor pentru a activa / dezactiva seturi"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Trebuie să fii un editor pentru a folosi temele"
@@ -6602,7 +6562,7 @@ msgstr "Nu există seturi definite. Creează unul mai întâi."
msgid "workspace.tokens.no-sets-yet"
msgstr "Nu există încă seturi."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Nu există teme."
@@ -6614,7 +6574,7 @@ msgstr "În prezent nu ai teme."
msgid "workspace.tokens.num-active-sets"
msgstr "%s seturi active"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Valoare originală: %s"
@@ -6626,11 +6586,11 @@ msgstr "Margini interioare"
msgid "workspace.tokens.radius"
msgstr "Raze"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Introdu un alias de token tipografic"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Valoare rezultată: %s"
@@ -6670,11 +6630,11 @@ msgstr "Setări token-uri"
msgid "workspace.tokens.size"
msgstr "Dimensiune"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "Introdu: none | uppercase | lowercase | capitalize sau {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "Introdu decorațiune text: none | underline | strike-through"
@@ -6692,23 +6652,23 @@ msgstr "Lista de teme"
msgid "workspace.tokens.token-description"
msgstr "Descriere"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Selectează familia fontului"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Familie de fonturi"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "O familie de fonturi sau o listă de fonturi separate de virgulă (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Nume"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" nu este un nume valid pentru token.\n"
@@ -6719,11 +6679,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Valoare"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Introdu o valoare sau alias cu {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKEN-URI- %s"
@@ -6742,11 +6702,11 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Tipul '%s' nu este suportat (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Folosește ca referință"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Valoarea este invalidă"
@@ -6754,55 +6714,55 @@ msgstr "Valoarea este invalidă"
msgid "workspace.toolbar.assets"
msgstr "Obiecte"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Paletă de culori (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Comentarii (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Curbe (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elipsă (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Planşă de lucru (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Imagine (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Poziţionează (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Cale (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Extensii (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Dreptunghi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografii (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Comută bara de utilități"
@@ -6815,7 +6775,7 @@ msgstr "Terminat"
msgid "workspace.top-bar.view-only"
msgstr "**Inspecție cod** (Doar vizualizare)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Nu sunt modificări în istoric"
@@ -6955,19 +6915,19 @@ msgstr "obiect tipografic"
msgid "workspace.undo.entry.unknown"
msgstr "Operaţiune terminată %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Renunţă"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Mai multe informații"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Există actualizări în bibliotecile distribuite"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Actualizează"
diff --git a/frontend/translations/ru.po b/frontend/translations/ru.po
index af06c34ea8..bee45f04bb 100644
--- a/frontend/translations/ru.po
+++ b/frontend/translations/ru.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Russian "
" \n"
"Language: ru\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Уже есть аккаунт?"
@@ -33,7 +33,7 @@ msgstr ""
"Это ДЕМОНСТРАЦИЯ, НЕ ИСПОЛЬЗУЙТЕ для работы, проекты будут периодически "
"удаляться."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Забыли пароль?"
@@ -41,37 +41,37 @@ msgstr "Забыли пароль?"
msgid "auth.fullname"
msgstr "Полное имя"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Войдите в свой аккаунт"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Войти здесь."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot — это бесплатный инструмент для дизайна с открытым исходным кодом, "
"созданный для совместной работы с дизайном и кодом"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Введите новый пароль"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Теперь Вы входите в %s"
@@ -95,7 +95,7 @@ msgstr "Профиль не подтверждён, пожалуйста, сна
msgid "auth.notifications.recovery-token-sent"
msgstr "Ссылка для восстановления пароля отправлена на почту."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Приглашение в команду принято"
@@ -127,7 +127,7 @@ msgstr "Забыли пароль?"
msgid "auth.recovery-submit"
msgstr "Изменить пароль"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Ещё нет аккаунта?"
@@ -141,7 +141,7 @@ msgstr ""
msgid "auth.register-account-title"
msgstr "Ваше имя"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Создать аккаунт"
@@ -156,7 +156,7 @@ msgstr ""
"Я согласен с [условиями обслуживания](%s) и [политикой "
"конфиденциальности](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Условия использования"
@@ -178,93 +178,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Людей не найдено для @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Опубликовать"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Все пользователи Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Вы точно хотите удалить эту ссылку? После этого она перестанет быть "
"доступной"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(текущая)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Удалить ссылку"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Получить ссылку"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Ссылка скопирована"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Управлять разрешениями"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 общая страница"
msgstr[1] "%s общих страниц"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Могут комментировать"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Могут проверять код"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Доступ открыт для получателей ссылки"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Общие страницы"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Ссылка общего доступа появится здесь"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Только участники команды"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Поделиться прототипами"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Выбрать все"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Снять с публикации"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Управление командой"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot предназначен для команд. Приглашайте участников к совместной работе "
"над проектами и файлами"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Объединяйтесь!"
@@ -280,33 +280,33 @@ msgstr "Восстановить файл"
msgid "dashboard.add-file"
msgstr "Добавить файл"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Добавить как общую библиотеку"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Изменить эл. почту"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "ПЕРЕМЕСТИТЬ КОМАНДУ"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Переместить в:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Проекты и файлы останутся доступны участникам команды. Команда получит "
"настройки новой организации."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Выберите организацию"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Смена организации команды"
@@ -364,23 +364,23 @@ msgstr "Открыть полный список изменений"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Открыть примечания к выпуску"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Очистить корзину"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(копия)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Создать новую организацию"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Создать новую команду"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Закрепить эту версию"
@@ -388,7 +388,7 @@ msgstr "Закрепить эту версию"
msgid "dashboard.default-team-name"
msgstr "Ваш Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Вы уверены, что хотите навсегда удалить все удаленные проекты и файлы? Это "
@@ -398,41 +398,41 @@ msgstr ""
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "Вы уверены, что хотите навсегда удалить %s? Это необратимое действие."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s файлов успешно удалено."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Удалить навсегда"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Удалить проект"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Вы уверены, что хотите удалить проект %s навсегда? Вы собираетесь удалить "
"его и все находящиеся в нем файлы. Это необратимое действие."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s успешно удален."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Удалить команду"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Ваша корзина пуста. Удаленные файлы и проекты появятся здесь."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Будет удален %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Скачать файл Penpot (.penpot)"
@@ -444,19 +444,19 @@ msgstr "Дублировать"
msgid "dashboard.duplicate-multi"
msgstr "Дублировать файлы (%s)"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Как только участник проекта создаст черновик, он отобразится здесь."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Черновиков пока нет."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Как только участник проекта создаст файл, он отобразится здесь."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Файлов пока нет."
@@ -504,23 +504,23 @@ msgstr "Импорт .penpot файл"
msgid "dashboard.empty-project.start"
msgstr "Начать создавать удивительные вещи"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Произошла ошибка во время удаления файлов."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Произошла ошибка во время удаления проекта %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Произошла ошибка во время восстановления файла %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Произошла ошибка во время восстановления файлов."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Произошла ошибка во время восстановления проекта %s и его файлов."
@@ -528,37 +528,37 @@ msgstr "Произошла ошибка во время восстановлен
msgid "dashboard.export-binary-multi"
msgstr "Скачать файлы Penpot (.penpot) (%s)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Экспорт досок в PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Экспорт в формате PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "Выбрано %s из %s элементов"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Экспорт"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Вы можете добавить настройки экспорта элементам из свойств дизайна (в "
"нижней части правой боковой панели)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Информация о настройке экспорта в Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Нет элементов с настройками экспорта."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Выбор экспорта"
@@ -582,35 +582,35 @@ msgstr "Вид сетки"
msgid "dashboard.files-layout.list"
msgstr "Вид списка"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Шрифт удалён"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Отменить все"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Пользовательские шрифты, которые вы загружаете, будут отображаться здесь."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Пользовательских шрифтов пока нет."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Как только участник проекта загрузит собственный шрифт, он будет отображен "
"здесь."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "Шрифт добавлен"
msgstr[1] "Шрифты добавлены (%s)"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -620,7 +620,7 @@ msgstr ""
"загрузки допустимы следующие форматы: **TTF, OTF и WOFF** (используйте один "
"из них)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -629,11 +629,11 @@ msgstr ""
"rights\" в [Условиях использования Penpot](%s). Также можете прочитать о "
"[лицензировании шрифтов](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Загрузить все"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -644,23 +644,23 @@ msgstr ""
"использовать [Transfonter](https://transfonter.org/) для создания "
"веб-шрифтов и исправления ошибок. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Перейти в Admin Console"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Последнее изменение %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Импорт файлов Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Ой! Не вышло импортировать этот файл"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 библиотека была автоматически связана по имени."
@@ -670,53 +670,53 @@ msgstr[1] "%s библиотек было автоматически связа
msgid "dashboard.import.bad-url"
msgstr "Импорт не удался. URL-адрес шаблона неверен"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Подтвердите связи библиотек"
-#: src/app/main/ui/dashboard/import.cljs:709
+#: src/app/main/ui/dashboard/import.cljs:814
msgid "dashboard.import.connect-selected-libraries"
msgstr "Свяжите выбранные библиотеки"
-#: src/app/main/ui/dashboard/import.cljs:296
+#: src/app/main/ui/dashboard/import.cljs:288
msgid "dashboard.import.file-name-label"
msgstr "Имя файла"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Не удалось проверить этот файл."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Похоже, этот файл повреждён."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Не все файлы были импортированы"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "В следующих файлах есть ошибки:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Файлы с ошибками загружены не будут."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Что-то пошло не так при обработке файла."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "1 файл был успешно импортирован."
msgstr[1] "%s файлов было успешно импортировано."
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Некоторые файлы содержали неверные объекты, которые были удалены."
-#: src/app/main/ui/dashboard/import.cljs:710
+#: src/app/main/ui/dashboard/import.cljs:815
msgid "dashboard.import.next-file"
msgstr "Следующий файл"
@@ -724,99 +724,71 @@ msgstr "Следующий файл"
msgid "dashboard.import.no-perms"
msgstr "У вас нет разрешения на импорт в эту команду"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Обработка цветов"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Обработка компонентов"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Обработка медиа"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Обработка страницы: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Обработка типографики"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Загрузка данных на сервер (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Загрузка файла: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Некоторые библиотеки не удалось связать автоматически. Выберите правильную "
"библиотеку для каждой:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Проверьте связи библиотек перед подтверждением:"
-#: src/app/main/ui/dashboard/import.cljs:459
+#: src/app/main/ui/dashboard/import.cljs:447
msgid "dashboard.import.resolve-libraries.connect-to"
msgstr "связать с"
-#: src/app/main/ui/dashboard/import.cljs:453
+#: src/app/main/ui/dashboard/import.cljs:441
msgid "dashboard.import.resolve-libraries.original-library"
msgstr "исходная библиотека"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "связана автоматически"
-#: src/app/main/ui/dashboard/import.cljs:529
+#: src/app/main/ui/dashboard/import.cljs:517
msgid "dashboard.import.summary.manually-linked"
msgstr "связана вручную"
-#: src/app/main/ui/dashboard/import.cljs:537
+#: src/app/main/ui/dashboard/import.cljs:525
msgid "dashboard.import.summary.new"
msgstr "Новая"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Библиотека не выбрана"
-#: src/app/main/ui/dashboard/import.cljs:534
+#: src/app/main/ui/dashboard/import.cljs:522
msgid "dashboard.import.summary.original"
msgstr "Оригинал"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Вы собираетесь удалить приглашения в:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Вы собираетесь повторно разослать приглашения:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Удалить приглашения"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Повторно отправить приглашения"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"У Вас нет разрешения приглашать людей в эту команду, а также изменять или "
"удалять приглашения."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Пригласить людей"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "У Вас нет разрешения приглашать людей в эту команду"
@@ -828,29 +800,29 @@ msgstr "Покинуть организацию"
msgid "dashboard.leave-organization.toast"
msgstr "Вы больше не входите в организацию %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Покинуть команду"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Библиотеки и шаблоны"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Здесь вы найдете библиотеки и шаблоны, которые вы можете добавить в свой "
"проект"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Узнайте больше о них и о том, как внести свой вклад"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Возникла проблема с импортом шаблона. Шаблон не был импортирован."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Библиотеки"
@@ -858,7 +830,7 @@ msgstr "Библиотеки"
msgid "dashboard.loading-files"
msgstr "загрузка ваших файлов …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "загрузка ваших шрифтов …"
@@ -878,65 +850,65 @@ msgstr "Переместить файлы (%s)"
msgid "dashboard.move-to-other-team"
msgstr "Перевести в другую команду"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Новый файл"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Новый файл"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Новый проект"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Новый проект"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Совпадений для “%s“ не найдено"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "У Вас нет разрешения добавлять команды ни в одну из Ваших организаций."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:185
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
msgid "dashboard.no-organizations-yet"
msgstr "Организаций пока нет."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Вам нельзя создавать команды в организации %s. Если нужна информация, "
"свяжитесь с владельцем организации."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Вам нельзя удалять команды, входящие в организацию %s. Если нужна "
"информация, свяжитесь с владельцем организации."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Вам нельзя перемещать команды, входящие в организацию %s. Если нужна "
"информация, свяжитесь с владельцем организации."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Закреплённые проекты будут здесь"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Уведомления"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Ваш адрес эл. почты был успешно обновлён"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Ваш адрес эл. почты был успешно подтверждён"
@@ -948,11 +920,11 @@ msgstr "Настройки уведомлений обновлены"
msgid "dashboard.notifications.password-saved"
msgstr "Пароль успешно сохранён!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Просмотреть уведомления"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "Участников: %s"
@@ -960,23 +932,23 @@ msgstr "Участников: %s"
msgid "dashboard.open-in-new-tab"
msgstr "Открыть в новой вкладке"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Опции"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Сортировать по роли"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Сортировать по статусу"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "Организация %s удалена."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Другие команды"
@@ -1000,11 +972,11 @@ msgstr "Теперь вы владелец этой команды."
msgid "dashboard.permissions-change.viewer"
msgstr "Теперь вы наблюдатель в этой команде."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Личные проекты"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Закрепить/Открепить"
@@ -1020,27 +992,27 @@ msgstr "Невозможно проанализировать манифест
msgid "dashboard.plugins.try-plugin"
msgstr "Попробуйте плагин: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Удаление файлов…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Восстановление файлов…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Удаление идет медленнее ожидаемого"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Восстановление идет неожиданно медленно"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Проекты"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Хотите удалить свой аккаунт?"
@@ -1048,115 +1020,115 @@ msgstr "Хотите удалить свой аккаунт?"
msgid "dashboard.removed-from-team"
msgstr "Вы больше не являетесь частью команды \"%s\"."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Вы собираетесь восстановить все ваши проекты и файлы. Это может занять "
"некоторое время."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Восстановить все проекты и файлы"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Восстановить все"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "файлы %s были успешно восстановлены."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Восстановить проект"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Вы собираетесь восстановить проект %s и все файлы в нем."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Восстановить проект"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s был успешно восстановлен."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Сохранить настройки"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Поиск…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Поиск \"%s\"…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Организации"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Команды"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "ДОБАВИТЬ В ОРГАНИЗАЦИЮ"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Выберите организацию:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"«%s» разрешает вступать в команды только своим участникам. Все ожидания "
"приглашений для посторонних будут отозваны."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Ожидающие приглашения для внешних пользователей будут отменены."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Здесь организации, в которые Вы входите и где Вам разрешено перемещать "
"команду."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Здесь организации, в которые Вы входите и где Вам разрешено создавать и "
"добавлять команды."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Выберите организацию"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Добавить команду в организацию"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Выберите язык интерфейса"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Выберите тему"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Темный Penpot (по умолчанию)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Светлый Penpot"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Системная тема"
@@ -1220,11 +1192,11 @@ msgstr "Обновить настройки"
msgid "dashboard.settings.notifications.title"
msgstr "Уведомления"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Показать все файлы"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "История версий"
@@ -1248,7 +1220,7 @@ msgstr[1] "Ваши файлы были успешно продублирова
msgid "dashboard.success-duplicate-project"
msgstr "Ваш проект продублирован"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Ваш файл успешно перемещён"
@@ -1260,182 +1232,182 @@ msgstr "Ваши файлы успешно перемещены"
msgid "dashboard.success-move-project"
msgstr "Ваш проект перемещён"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "Эта команда теперь входит в организацию %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "О команде"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Участники команды"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "Эта команда больше не входит в организацию %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Организация команды"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Добавить в организацию"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "У Вас нет разрешения добавлять эту команду ни в одну из Ваших организаций."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Сменить организацию команды"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Приглашать можно только людей из Вашей организации."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Эта команда не входит ни в одну организацию"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Убрать команду из организации"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Командные проекты"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Добавить в свой проект"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Тема интерфейса пользователя"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Результаты поиска"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Удаленные файлы останутся в корзине в течение"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s дней. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "После этого они будут удалены навсегда."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Если вы передумаете, вы можете восстановить их или удалить навсегда через "
"меню каждого файла."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Введите для поиска"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Снять библиотеку с публикации"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Обновить настройки"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Вы больше не входите в организацию %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Бета"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"Рендеринг WebGL может ускорить работу, но он в стадии бета и менее "
"стабилен. Возможны расхождения между холстом, экспортом (SVG/PDF) и режимом "
"просмотра."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Отключено"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Включено"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Отправить отзыв"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Статус"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Рендеринг WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Активен"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Когда этот хук сработает, будут доставлены подробные сведения о событии"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Вы можете удалять или изменять только созданные вами webhook'и."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Тип контента"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Создать вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Вебхук успешно создан."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Вебхуки - это простой способ уведомлять другие веб-сайты и приложения о тех "
"или иных событиях в Penpot. Мы отправим POST-запрос на каждый из указанных "
"вами URL-адресов."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Нажмите кнопку «Добавить вебхук», чтобы добавить его."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Вебхуки пока не созданы."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ваш аккаунт"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Эл. почта"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ваше имя"
@@ -1451,11 +1423,11 @@ msgstr "Внимание"
msgid "ds.component-subtitle"
msgstr "Компоненты для обновления:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Разрешить"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Отмена"
@@ -1475,7 +1447,7 @@ msgstr "В активных наборах или темах нет примен
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Совпадений не найдено."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Открыть список токенов"
@@ -1497,15 +1469,15 @@ msgstr "Поставщик аутентификации не разрешён д
msgid "errors.auth-provider-not-configured"
msgstr "Провайдер аутентификации не настроен."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Кажется, сеанс истёк. Войдите снова."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Шрифт %s не может быть загружен"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Шрифты %s не могут быть загружены"
@@ -1517,61 +1489,61 @@ msgstr "Невозможно загрузить медиафайл."
msgid "errors.character-limit-exceeded"
msgstr "Превышен лимит символов"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "Не удаётся добавить библиотеку: возникнет циклическая зависимость"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"Clipboard API недоступен. Откройте Penpot по HTTPS, чтобы разрешить доступ "
"к буферу обмена"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Ваш браузер не поддерживает эту операцию"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Доступ к буферу обмена запрещён. Разрешите его в настройках браузера, чтобы "
"вставлять содержимое"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "В комментарии произошла ошибка"
-#: src/app/main/errors.cljs:499
+#: src/app/main/errors.cljs:586
msgid "errors.connection-error"
msgstr "Нет связи с сервером. Проверьте соединение и попробуйте снова."
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Извините! Это старый файл, использующий устаревший тип ресурсов Penpot, и "
"вы не можете его открыть."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "чтобы мы могли вам помочь."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Хоть Penpot больше не поддерживает этот тип Ресурсов, вы можете"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "Связаться с нами"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Невозможно переместить родительский набор в собственный дочерний путь."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Такая эл. почта уже используется"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Эл. почта уже подтверждена."
@@ -1583,29 +1555,29 @@ msgstr "Нельзя указывать в качестве пароля адр
msgid "errors.email-does-not-match-invitation"
msgstr "Адрес электронной почты не соответствует приглашению."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Домен не разрешён"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Эл. почта «%s» постоянно недоступна."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Эл. почта «%s» была отмечена как спам или постоянно недоступна."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Похоже, вы открываете файл, в котором включена функция '%s', но текущая "
"версия penpot её не поддерживает или она отключена."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Функция «%s» не поддерживается."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Должен содержать не более %s символов."
@@ -1613,7 +1585,7 @@ msgstr "Должен содержать не более %s символов."
msgid "errors.field-min-length"
msgstr "Должен содержать не менее 1 символа."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Пустое поле"
@@ -1621,24 +1593,24 @@ msgstr "Пустое поле"
msgid "errors.field-not-all-whitespace"
msgstr "Имя должно содержать какой-либо символ, отличный от пробела."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Похоже, что существует несоответствие между включенными функциями и "
"функциями файла, который вы пытаетесь открыть. Прежде чем файл можно будет "
"открыть, необходимо применить миграцию для «%s»."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Имя семейства шрифтов может содержать только буквы, цифры, пробелы, дефисы, "
"подчёркивания и точки."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Что-то пошло не так."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Произошла ошибка в работе веб-воркера."
@@ -1654,7 +1626,7 @@ msgstr "Неверные данные"
msgid "errors.invalid-email"
msgstr "Пожалуйста, введите действительный адрес электронной почты"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Эл. почта для подтверждения должна совпадать"
@@ -1688,11 +1660,11 @@ msgstr "Возможно, это приглашение отменено или
msgid "errors.ldap-disabled"
msgstr "Вход c LDAP отключён."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Вы достигли указанного значения «%s». Обратитесь в службу поддержки."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Достигнуто максимальное (%s) количество адресов электронной почты, которые "
@@ -1710,19 +1682,19 @@ msgstr "Формат медиа не соответствует расширен
msgid "errors.media-type-not-allowed"
msgstr "Неверное медиа."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "Невозможно пригласить адресата с недоступным адресом электронной почты."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Миграция в процессе"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Только создатель версии может ее заблокировать"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Разблокировать версию может только ее создатель"
@@ -1734,7 +1706,7 @@ msgstr "Не удалось покинуть организацию. Попро
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Владелец не может покинуть организацию."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Такой организации не существует"
@@ -1746,7 +1718,7 @@ msgstr "Пароль для подтверждения должен совпад
msgid "errors.password-too-short"
msgstr "Пароль должен быть минимум 8 символов"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Недопустимые данные в буфере обмена"
@@ -1754,7 +1726,7 @@ msgstr "Недопустимые данные в буфере обмена"
msgid "errors.profile-blocked"
msgstr "Профиль заблокирован"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Ваш адрес электронной почты не доступен."
@@ -1762,31 +1734,31 @@ msgstr "Ваш адрес электронной почты не доступе
msgid "errors.registration-disabled"
msgstr "Регистрация сейчас отключена."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"Автосохранение не работает из-за ошибки. Сообщите о ней в поддержку и "
"перезагрузите страницу, чтобы продолжить с последней сохранённой версии."
-#: src/app/main/data/persistence.cljs:307
+#: src/app/main/data/persistence.cljs:447
msgid "errors.save-retrying"
msgstr "Соединение потеряно. Пробуем сохранить Ваши изменения."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG недействителен или имеет неправильный формат"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Обнаружена несовместимая функция «%s»"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Недостаточно участников, чтобы покинуть команду, вероятно, вы хотите её "
"удалить."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Участник, которого вы пытаетесь назначить, не существует."
@@ -1794,7 +1766,7 @@ msgstr "Участник, которого вы пытаетесь назнач
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Удалить команду может только её владелец."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Нужно переназначить роль владельца перед тем, как покинуть команду."
@@ -1806,13 +1778,13 @@ msgstr "Название команды не может содержать си
msgid "errors.token-set-already-exists"
msgstr "Набор с таким именем уже существует"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Невозможно завершить перенос, набор с таким именем уже существует по "
"указанному пути."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Вариант темы с таким же названием уже существует"
@@ -1824,13 +1796,13 @@ msgstr "Тема ссылается на несуществующие набор
msgid "errors.tokens.circular-reference"
msgstr "У токена циклическая ссылка"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"Line Height зависит от Font Size. Добавьте Font Size — и значение "
"посчитается."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Поле не может быть пустым"
@@ -1850,11 +1822,11 @@ msgstr "Ошибка импорта:"
msgid "errors.tokens.invalid-color"
msgstr "Неверный цвет: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Неверное значение: только ссылка на токен font-family"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Неверная насыщенность: числа (100–950) или имена (thin, light, regular, "
@@ -1874,35 +1846,35 @@ msgstr ""
"«%s» — неверное имя токена.\n"
"Имена токенов — только буквы и цифры через «.» и не с «$» в начале."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Неверный тип тени: только «innerShadow» или «dropShadow»"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr "Неверное значение: только none, Uppercase, Lowercase или Capitalize"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "Неверное значение: только none, underline и strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Неверное значение: нужна ссылка на составной токен тени."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Неверное значение: нужна ссылка на составной токен типографики."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Неверное значение токена: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Нет ссылок на токены: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "Группа %s совпадает по имени с токеном в другом активном наборе."
@@ -1914,31 +1886,31 @@ msgstr "В файле нет токенов, наборов и тем."
msgid "errors.tokens.number-too-large"
msgstr "Неверное значение токена. Итог слишком велик: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Непрозрачность — от 0 до 100% или от 0 до 1 (например, 50% или 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "У токена ссылка на себя"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Размытие тени — не меньше 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "Распространение тени — не меньше 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Толщина обводки — не меньше 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Неверное значение: символ % запрещён."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Неверное значение: единицы запрещены."
@@ -1946,19 +1918,19 @@ msgstr "Неверное значение: единицы запрещены."
msgid "errors.unexpected-error"
msgstr "Произошла ошибка."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Неизвестный токен"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Эта версия уже заблокирована"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Эта версия заблокирована и не может быть удалена другими пользователями"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Файл имеет несовместимый номер версии"
@@ -1991,41 +1963,41 @@ msgstr "Минимум 1 заглавная буква"
msgid "errors.weak-password.too-short"
msgstr "Минимум 8 символов"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr ""
"WebGL прекратил работу. Пожалуйста, перезагрузите страницу чтобы сбросить "
"его"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Упс! Контекст холста был потерян"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Ошибка подключения, URL недоступен"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL-адрес не проходит проверку."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Последняя доставка не удалась."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Ошибка при проверке SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Время вышло"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Неожиданная ошибка при проверке"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Неожиданный статус %s"
@@ -2045,17 +2017,17 @@ msgstr "Описание"
msgid "feedback.description-placeholder"
msgstr "Пожалуйста, опишите причину вашего обращения"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Мы рады вас здесь видеть. Если вам нужна помощь, пожалуйста, поищите ответ, "
"возможно он уже есть."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Сообщество Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Другие способы связаться с нами"
@@ -2079,11 +2051,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Связаться с нами"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Здесь, чтобы помочь с вашими техническими запросами."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Аккаунт поддержки в X"
@@ -2103,41 +2075,37 @@ msgstr "Идея"
msgid "feedback.type.issue"
msgstr "Вопрос"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Скачать файлы"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Ресурсы связанных библиотек не попадут в файл."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Считать ресурсы простыми объектами"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr "Файлы со связанными библиотеками попадут в экспорт и сохранят связи."
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Экспорт файла и библиотек"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"При импорте можно будет связать существующие библиотеки с совпадающими "
"именами."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Связать подходящие библиотеки при импорте"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr "Файл экспортируется, а ресурсы библиотек вольются в локальную библиотеку."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Встроить ресурсы библиотек в файл"
@@ -2145,7 +2113,7 @@ msgstr "Встроить ресурсы библиотек в файл"
msgid "generic.error"
msgstr "Произошла ошибка"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Применить"
@@ -2193,7 +2161,7 @@ msgstr "Предварительный просмотр заливки фигу
msgid "inspect.attributes.shadow"
msgstr "Тень"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Размер и положение"
@@ -2201,43 +2169,31 @@ msgstr "Размер и положение"
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 "Наружу"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Текст"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Гарнитура"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Размер"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Шрифт"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Трекинг"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Интерлиньяж"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Разные семейства"
@@ -2253,11 +2209,11 @@ msgstr "Зачёркнутый"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Подчёркнутый"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Регистр Заголовка"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Нижний регистр"
@@ -2269,7 +2225,7 @@ msgstr "Какой есть"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Не установлено"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Верхний регистр"
@@ -2395,23 +2351,23 @@ msgstr "Полученное значение:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Вариант свойств"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Создать токен доступа"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Нажмите «Создать токен доступа»."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Токенов пока нет."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Личные токены доступа"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Личные токены — замена логину с паролем: открывают приложениям внутреннее "
@@ -2493,47 +2449,47 @@ msgstr "MCP-ключ истекает %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "MCP-ключ бессрочный"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr "MCP-сервер Penpot даёт MCP-клиентам прямой доступ к файлам дизайна."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Как настроить MCP-клиенты"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr "Этот URL сервера нужен MCP-клиенту для связи с MCP-сервером Penpot."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Перевыпустить MCP-ключ"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP-ключ"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "MCP-ключ нужен для настройки клиента"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Статус"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Отключён"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Включён"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr "Ключ для связи с MCP-сервером истёк. Соединение не установить."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr "Перевыпустите ключ и обновите настройки клиента."
@@ -2541,10 +2497,6 @@ msgstr "Перевыпустите ключ и обновите настройк
msgid "integrations.mcp-server.title"
msgstr "MCP-сервер"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Бета"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Имя"
@@ -2595,7 +2547,7 @@ msgstr "Перевыпустить MCP-ключ"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP-ключ перевыпущен"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Интеграции"
@@ -2611,47 +2563,47 @@ msgstr "Токен истекает %s"
msgid "integrations.token.will-not-expire"
msgstr "Токен бессрочный"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Отметить все как прочитанное"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Сочетания клавиш"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "О Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Принять"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Действующий"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Добавить"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Добавить произвольный шрифт"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Добавление..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Администратор"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Все"
@@ -2659,15 +2611,15 @@ msgstr "Все"
msgid "labels.and"
msgstr "и"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Назад"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "Возможны технические работы. Пожалуйста, зайдите чуть позже."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2679,23 +2631,23 @@ msgstr "Размытие"
msgid "labels.blur-effects"
msgstr "Эффекты размытия"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Отмена"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Проверить обновления"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Проверка обновлений…"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Закрыть"
@@ -2703,7 +2655,7 @@ msgstr "Закрыть"
msgid "labels.code"
msgstr "Код"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Свернуть"
@@ -2715,15 +2667,15 @@ msgstr "Цвет"
msgid "labels.comment"
msgstr "Комментарий"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Комментарии"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Сообщество"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Сообщество и содействие"
@@ -2735,19 +2687,19 @@ msgstr "Вычисленные"
msgid "labels.confirm-password"
msgstr "Подтвердите пароль"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Связаться с поддержкой"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Связаться с нами"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Продолжить"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Вы можете продолжить с аккаунтом Penpot"
@@ -2759,23 +2711,23 @@ msgstr "Копировать"
msgid "labels.copy-color"
msgstr "Копировать цвет"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Скопировать ссылку"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019–по настоящее время"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Создать"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Создать новую команду"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Введите название новой команды"
@@ -2783,7 +2735,7 @@ msgstr "Введите название новой команды"
msgid "labels.current"
msgstr "Текущее"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Панель управления"
@@ -2791,7 +2743,7 @@ msgstr "Панель управления"
msgid "labels.default"
msgstr "По умолчанию"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Удалить"
@@ -2803,7 +2755,7 @@ msgstr "Удалить комментарий"
msgid "labels.delete-comment-thread"
msgstr "Удалить обсуждение"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Удалить приглашение"
@@ -2811,39 +2763,35 @@ msgstr "Удалить приглашение"
msgid "labels.delete-multi-files"
msgstr "Удалить файлы (%s)"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Вы уверены, что хотите удалить фото профиля?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Удалить фото профиля"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Удаленные"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Разработка"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Отказаться"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Скачать %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Скачать"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Скачивание файла…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Черновики"
@@ -2851,19 +2799,19 @@ msgstr "Черновики"
msgid "labels.duplicate"
msgstr "Дубликат"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Редактировать"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Редактор"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Пусто"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Ошибка"
@@ -2871,11 +2819,11 @@ msgstr "Ошибка"
msgid "labels.exit"
msgstr "Выйти"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Истекло"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Экспорт"
@@ -2887,7 +2835,7 @@ msgstr "Обратная связь отключена"
msgid "labels.feedback-sent"
msgstr "Отзыв отправлен"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2895,63 +2843,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Заливка"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex-макет"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Семейство шрифтов"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Начертания"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Шрифты"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Репозиторий на Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Оставить отзыв"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Назад"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Графический дизайн"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Grid-макет"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Помощь"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Помощь и обучение"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Скрыть"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Скрыть решённые комментарии"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Импорт"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Недействующий"
@@ -2959,53 +2907,53 @@ msgstr "Недействующий"
msgid "labels.info"
msgstr "Информация"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Установленные шрифты"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Интеграции"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Что-то пошло не так."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"Повторите попытку или свяжитесь с технической поддержкой, чтобы сообщить об "
"ошибке."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Внутренняя ошибка"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Приглашения"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Язык"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Макет"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Центр обучения"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Библиотеки и шаблоны"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Загрузка…"
@@ -3013,7 +2961,7 @@ msgstr "Загрузка…"
msgid "labels.lock"
msgstr "Заблокировать"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Войти или зарегистрироваться"
@@ -3021,19 +2969,19 @@ msgstr "Войти или зарегистрироваться"
msgid "labels.login"
msgstr "Логин"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Выйти"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Маркетинг"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Участник"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Участники"
@@ -3045,41 +2993,41 @@ msgstr "Отметить"
msgid "labels.new-password"
msgstr "Новый пароль"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Далее"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr "Этому экземпляру нужен шаг настройки из последней версии."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Загляните в наше"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot пока не может запуститься."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "техническое руководство"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr "Penpot временно недоступен из-за системной ошибки. Попробуйте чуть позже."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr ""
"Вы ничего не пропустили! Здесь будут появляться уведомления о новых "
"комментариях."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Нет ожидающих приглашений."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Объединяйтесь и творите вместе."
@@ -3087,27 +3035,27 @@ msgstr "Объединяйтесь и творите вместе."
msgid "labels.no-matches"
msgstr "Совпадений нет"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Ой!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Уведомления"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "Файл"
msgstr[1] "Файлы (%s)"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 доска"
msgstr[1] "%s досок"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "Проект"
@@ -3117,43 +3065,43 @@ msgstr[1] "Проекты (%s)"
msgid "labels.old-password"
msgstr "Старый пароль"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Открыть"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Параметры"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Другое (укажите)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Другое"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Владелец"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Пароль"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Ожидание"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Журнал изменений Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Хаб Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Закреплённые Проекты"
@@ -3161,31 +3109,31 @@ msgstr "Закреплённые Проекты"
msgid "labels.post"
msgstr "Опубликовать"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Предыдущий"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Дизайн продуктов или UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Управление продуктом"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Профиль"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Проекты"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Недавние"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Референс"
@@ -3193,27 +3141,27 @@ msgstr "Референс"
msgid "labels.refresh"
msgstr "Перезагрузить"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Примечания к выпуску"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Обновить страницу"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Удалить"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Удалить участника"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Переименовать"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Переименовать команду"
@@ -3237,11 +3185,11 @@ msgstr "новый ответ"
msgid "labels.reply.thread"
msgstr "Ответить"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Отправить повторно"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Снова отправить приглашение"
@@ -3249,43 +3197,43 @@ msgstr "Снова отправить приглашение"
msgid "labels.restore"
msgstr "Восстановить"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Повторить"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Роль"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Сохранить"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Поиск"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Искать шрифт"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Выбрать вариант"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Отправить"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Отправка…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Мы проводим диагностику наших систем."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Сервис недоступен"
@@ -3293,73 +3241,73 @@ msgstr "Сервис недоступен"
msgid "labels.sets"
msgstr "Наборы"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Настройки"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Тень"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Поделиться"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Библиотеки"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Показать"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Все комментарии"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Показать список комментариев"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Показать только упоминания"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Только мои"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/import.cljs:703
+#: src/app/main/ui/dashboard/import.cljs:808
msgid "labels.skip"
msgstr "Пропустить"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Источники"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"Вход через поставщика удостоверений Вашей организации не завершился. "
"Поставщик может быть недоступен, или Вашего аккаунта ещё нет в его каталоге."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Попробовать снова"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "Не удалось войти в %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Начать"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Состояние"
@@ -3367,7 +3315,7 @@ msgstr "Состояние"
msgid "labels.stroke"
msgstr "Обводка"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Студент или преподаватель"
@@ -3379,11 +3327,11 @@ msgstr "Стили"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Переключить"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
msgid "labels.team-management"
msgstr "Управление командой"
@@ -3391,19 +3339,19 @@ msgstr "Управление командой"
msgid "labels.text"
msgstr "Текст"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Темы"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Руководства"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Типографика"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Неизвестная ошибка"
@@ -3415,35 +3363,31 @@ msgstr "Разблокировать"
msgid "labels.unpublish-multi-files"
msgstr "Отменить публикацию %s файлов"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Обновить"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Обновить команду"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Загрузить"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Загрузить произвольные шрифты"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Загрузка…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Загрузка файла…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Вариант"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Примечания к версии %s"
@@ -3451,7 +3395,7 @@ msgstr "Примечания к версии %s"
msgid "labels.view-only"
msgstr "Только просмотр"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Наблюдатель"
@@ -3465,7 +3409,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s предупреждение"
msgstr[1] "%s предупреждения"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Вебхуки"
@@ -3473,11 +3417,11 @@ msgstr "Вебхуки"
msgid "labels.write-new-comment"
msgstr "Написать комментарий"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(вы)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ваш аккаунт"
@@ -3618,7 +3562,7 @@ msgstr ""
"В некоторых командах Вы единственный участник. Эти команды удалятся вместе "
"с проектами и файлами."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "ПЕРЕД УХОДОМ ИЗ ОРГАНИЗАЦИИ"
@@ -3626,79 +3570,79 @@ msgstr "ПЕРЕД УХОДОМ ИЗ ОРГАНИЗАЦИИ"
msgid "modals.before-leave-organization.warning"
msgstr "Все команды, где Вы единственный участник, будут удалены."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Большой сдвиг"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Подтвердить новую эл. почту"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Мы отправим эл. письмо для подтверждения личности на текущую эл. почту "
"\"%s\"."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Новая эл. почта"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Изменить эл. почту"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Изменить эл. почту"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Создать вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Создать вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Ссылка полезной нагрузки"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://пример.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Отменить и сохранить мой аккаунт"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Да, удалить мой аккаунт"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Удалив аккаунт, вы потеряете все свои текущие проекты и архивы."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Действие необратимо. Ваш аккаунт, подписка и организации удалятся сразу. Вы "
"также потеряете доступ к текущим проектам и файлам."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Организации, которые будут удалены"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "Участников: %s"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "Команд: %s"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Вы уверены, что хотите удалить аккаунт?"
@@ -3758,23 +3702,23 @@ msgstr "Точно хотите удалить файлы (%s)?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "Удаление файлов (%s)"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"Вы действительно хотите удалить это начертание шрифта? Оно не будет "
"загружаться, если используется в файле."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Удаление начертания шрифта"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Вы действительно хотите удалить этот шрифт? Он не будет загружаться, если "
"используется в файле."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Удаление шрифта"
@@ -3782,19 +3726,19 @@ msgstr "Удаление шрифта"
msgid "modals.delete-organization-team-confirm.message"
msgstr "Вы уверены, что хотите удалить команду из организации %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Вы уверены, что хотите удалить эту страницу?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Удаление страницы"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Вы уверены, что хотите удалить выбранные страницы?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Удалить страницы"
@@ -3810,31 +3754,31 @@ msgstr "Вы уверены, что хотите удалить этот про
msgid "modals.delete-project-confirm.title"
msgstr "Удаление проекта"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Удалить файл"
msgstr[1] "Удалить файлы"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Он не активирован ни в одном файле."
msgstr[1] "Они не активированы ни в одном файле."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Эта библиотека активируется здесь: "
msgstr[1] "Эти библиотеки активируются здесь: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Вы уверены, что хотите удалить этот файл?"
msgstr[1] "Вы уверены, что хотите удалить эти файлы?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Удаление файла"
@@ -3854,19 +3798,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Удаление команды"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Удалить участника"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Вы уверены, что хотите удалить этого участника из команды?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Удалить участника команды"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3876,23 +3820,23 @@ msgstr[1] ""
"Ресурсы, которые уже использовались в этих файлах, останутся там (дизайн не "
"будет нарушен)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Удалить вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Вы уверены, что хотите удалить этот вебхук?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Удаление вебхука"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Изменить вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Изменить вебхук"
@@ -3910,15 +3854,15 @@ msgstr "Импорт токенов"
msgid "modals.import-library-tokens.title"
msgstr "Импортировать токены из библиотеки?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Отправить приглашение"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Эл. почты, разделённые запятой"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Некоторые электронные письма отправлены от текущих членов команды. Их "
@@ -3941,97 +3885,97 @@ msgstr ""
"уже все в команде. Если нужна информация, свяжитесь с владельцем "
"организации."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Адреса, которым приглашение не придёт"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Отмена"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Приглашать можно только действующих участников организации."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Отправить приглашения"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Часть приглашений нельзя отправить"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Часть людей из Вашего списка приглашений не получит."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Вы можете пригласить участников в команду, чтобы они получили доступ к "
"этому и другим файлам команды."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Пригласить участников в команду"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Так как вы единственный участник этой команды, она будет удалена вместе с "
"проектами и файлами."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Вы уверены, что хотите покинуть команду %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Вы не можете покинуть команду, если нет другого участника, которого можно "
"было бы назначить владельцем. Возможно, вы захотите удалить команду."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Вы владелец этой команды. Прежде чем покинуть её, выберите другого "
"участника, чтобы сделать его владельцем."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Назначить и покинуть"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Выберите участника для назначения"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Прежде чем вы уйдёте"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Покинуть команду"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Вы уверены, что хотите покинуть эту команду?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Выход из команды"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr "Вы владеете командами организации. Назначьте владельцем другого участника."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"В некоторых командах Вы единственный участник. Эти команды удалятся вместе "
"с проектами и файлами."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Кроме того, Вы владеете командами организации. Назначьте владельцем другого "
@@ -4049,57 +3993,57 @@ msgstr "Вы навсегда потеряете доступ ко всем ко
msgid "modals.leave-organization-confirm.title"
msgstr "Покинуть организацию %s?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Переместить"
msgstr[1] "Перемещение"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Вы уверены, что хотите переместить эту библиотеку?"
msgstr[1] "Вы уверены, что хотите переместить эти библиотеки?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Переместить библиотеку"
msgstr[1] "Переместить библиотеки"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Величина сдвига"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Передача прав собственности"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Если вы передадите права собственности, вы измените свою роль на "
"администратора, потеряв некоторые права доступа в этой команде. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Вы текущий владелец этой команды. Вы уверены, что хотите сделать %s новым "
"владельцем команды?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Новый владелец команды"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Опубликовать"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Ваша библиотека пуста. Вы уверены, что хотите опубликовать её?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Опубликовать пустую библиотеку"
@@ -4121,23 +4065,23 @@ msgstr "Вы уверены, что хотите убрать команду «%
msgid "modals.remove-team-organization.title"
msgstr "УБРАТЬ КОМАНДУ ИЗ ОРГАНИЗАЦИИ"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Небольшое подталкивание"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Отменить публикацию"
msgstr[1] "Отменить публикации"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Вы уверены, что хотите снять с публикации эту библиотеку?"
msgstr[1] "Вы уверены, что хотите снять с публикации эти библиотеки?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Снять библиотеку с публикации"
@@ -4225,33 +4169,33 @@ msgstr "Активировать"
msgid "nitrate.code-activation.title"
msgstr "Подключить Корпоративный"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Связаться с продажами"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Чтобы перейти на тариф, свяжитесь с отделом продаж. Поможем обновить "
"подписку и всё настроить."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Ваша организация удалится."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr "Общее хранилище, автоверсии и срок восстановления файлов урежутся."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr "Команды, проекты и файлы выйдут из организации, но останутся доступны."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "При понижении тарифа:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Перейти на тариф %s?"
@@ -4267,15 +4211,15 @@ msgstr "Напишите нам, чтобы попробовать Корпор
msgid "nitrate.form.contact-upgrade"
msgstr "Напишите нам, чтобы перейти на Корпоративный:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Свяжитесь с нами, чтобы попробовать Корпоративный 14 дней:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Свяжитесь с нами, чтобы перейти на Корпоративный:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Сейчас платить не нужно. Оплата — в конце пробного периода. Отмена в любой "
@@ -4293,7 +4237,7 @@ msgstr "Единое управление: кто, что и где — из Adm
msgid "nitrate.form.enterprise-feature-3"
msgstr "Вся свобода опенсорса и порядок для Вашей организации"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Всё для безопасной работы команд в масштабе%s"
@@ -4301,7 +4245,7 @@ msgstr "Всё для безопасной работы команд в масш
msgid "nitrate.form.enterprise.price"
msgstr "с участника в месяц"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "14 дней бесплатно"
@@ -4317,7 +4261,7 @@ msgstr "Начать с Корпоративным"
msgid "nitrate.form.subscribe-with-code"
msgstr "Подписка по коду активации"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Откройте возможности Корпоративного"
@@ -4329,7 +4273,7 @@ msgstr "14 дней бесплатно"
msgid "nitrate.modal-success.title"
msgstr "Добро пожаловать на Корпоративный тариф!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Активна до %s"
@@ -4337,23 +4281,23 @@ msgstr "Активна до %s"
msgid "nitrate.subscription.renew-success"
msgstr "Корпоративная подписка продлена."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Отменить подписку"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Чтобы отменить корпоративную подписку, напишите нам:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Продлить по коду активации"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Эта страница не существует"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 ошибка"
@@ -4371,11 +4315,11 @@ msgstr "Вы направили письмо для восстановления
msgid "not-found.login.sent-recovery-check"
msgstr "Проверьте вашу почту и перейдите по ссылке, чтобы задать новый пароль."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Зарегистрироваться бесплатно"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "И начните использовать Penpot мгновенно!"
@@ -4383,67 +4327,67 @@ msgstr "И начните использовать Penpot мгновенно!"
msgid "not-found.made-with-love"
msgstr "Сделано с любовью и открытым исходным кодом"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Вы уже запросили доступ к этому файлу."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Вы уже запросили доступ к этому файлу либо к другим файлам и проектам "
"команды."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Вы уже запросили доступ к этому проекту либо к другим проектам и файлам "
"команды."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Вы уже запросили доступ к этому проекту."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "ЗАПРОСИТЬ ДОСТУП"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Помните: если владелец разрешит, Вас пригласят в команду."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Ваш запрос успешно отправлен!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "У Вас нет доступа к этому файлу."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Перейти к личным проектам"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Если владелец разрешит, Вас пригласят в команду."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Файл Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "У Вас нет доступа к этому проекту."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "ПРОЕКТ"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Чтобы получить файл, попросите владельца команды."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Чтобы получить проект, попросите владельца команды."
@@ -4457,31 +4401,31 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "Доступна новая версия."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Это приглашение больше недоступно."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Приглашение успешно удалено"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Приглашение успешно отправлено"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Ссылка на приглашение скопирована"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Вы не можете удалить свой профиль. Сначала переназначьте ваши команды."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Профиль успешно сохранён!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Письмо с подтверждением отправлено на %s. Проверьте свою эл. почту!"
@@ -4519,7 +4463,7 @@ msgstr "Название команды"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Создать команду"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Пригласить участников"
@@ -4529,98 +4473,98 @@ msgstr ""
"Разработчики, дизайнеры, менеджеры… приглашаются все. Позже сможете позвать "
"ещё."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Пригласить с ролью:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Давайте начнём!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Генерация реального кода дизайнов"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Создание систем дизайна"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Создание прототипов"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Проектирование UI/UX приложения"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Вайрфрейминг"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "В каких целях вы планируете использовать Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Расскажите нам немного о себе, чтобы мы могли заставить Penpot работать на "
"вас. Ваши ответы помогут нам определить приоритетность новых функций и "
"укажут вам правильное направление для начала работы."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Помогите нам лучше узнать вас"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Каким из этих инструментов вы пользуетесь чаще всего?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Какую работу вы выполняете?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Расскажите нам о своей работе"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "С чего бы вы хотели начать?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1001 - 5000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Только я"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Образование"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "В личных целях"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Для работы"
@@ -4686,10 +4630,6 @@ msgstr "пришло %s (%s)"
msgid "profile.recovery.go-to-login"
msgstr "Перейти к входу"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:109, src/app/main/ui/settings/restore_shortcuts_modal.cljs:100
-msgid "restore-shortcuts.acction"
-msgstr "Действие"
-
#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:94
msgid "restore-shortcuts.modal-text"
msgstr "Эти сочетания вернутся к исходным значениям."
@@ -4702,11 +4642,11 @@ msgstr "Вернуть настройки по умолчанию"
msgid "restore-shortcuts.restore"
msgstr "Восстановить"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Отсоединить"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Смешаный"
@@ -4718,35 +4658,35 @@ msgstr "Удалить цвет"
msgid "settings.select-this-color"
msgstr "Выбрать элементы, использующие этот стиль"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Комментарии"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Выровнять по нижнему краю"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Выровнять по центру по горизонтали"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Выровнять по левому краю"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Выровнять по правому краю"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Выровнять по верхнему краю"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Выровнять по центру по вертикали"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Создать доску из выбора"
@@ -4754,55 +4694,55 @@ msgstr "Создать доску из выбора"
msgid "shortcuts.bold"
msgstr "Переключить толщину"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Логическая разница"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Логическое исключение"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Логическое пересечение"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Логическое объединение"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Переместить на задний план"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Переместить назад"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Перенести вперёд"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Вынести на передний план"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Очистить отмену"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Скопировать"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Скопировать ссылку"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Скопировать свойства"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Создать компонент / вариант"
@@ -4810,63 +4750,63 @@ msgstr "Создать компонент / вариант"
msgid "shortcuts.create-new-project"
msgstr "Создать новый"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Вырезать"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Отдалить"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Удалить"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Удалить узел"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Удалить узел и сегменты"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Снять выделение"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Отсоединить компонент"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Отключить сочетание"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Отключено"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Отключённое сочетание"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Стрелка"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Кривая"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Эллипс"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Доска"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Линия"
@@ -4874,63 +4814,63 @@ msgstr "Линия"
msgid "shortcuts.draw-nodes"
msgstr "Нарисовать контур"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Контур"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Прямоугольник"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Текст"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Дублировать"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Сочетание занято «%s». Сохранение уберёт его оттуда."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Сохраните — сочетание вернётся к исходному:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "Сочетание свободно, конфликтов нет."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Меняется в настройках"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Отмена"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Экспорт фигур"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Найти"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Найти и заменить"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Увеличить, чтобы вместить все"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Отразить по горизонтали"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Отразить по вертикали"
@@ -4954,27 +4894,27 @@ msgstr "Перейти к общим библиотекам"
msgid "shortcuts.go-to-search"
msgstr "Поиск"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Группа"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Распределить горизонтально"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Показать/скрыть интерфейс"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Импорт/экспорт"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Приблизить"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Вставить изображение"
@@ -4982,11 +4922,11 @@ msgstr "Вставить изображение"
msgid "shortcuts.italic"
msgstr "Переключить курсив"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Соединение узлов"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Нажмите сочетание клавиш"
@@ -4994,39 +4934,39 @@ msgstr "Нажмите сочетание клавиш"
msgid "shortcuts.line-through"
msgstr "Переключить междустрочность"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Сделать угол"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Сделать изгиб"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Маска"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Объединить узлы"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Переместить"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Быстрое перемещение вниз"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Быстрое перемещение влево"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Быстрое перемещение вправо"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Быстрое перемещение вверх"
@@ -5034,377 +4974,377 @@ msgstr "Быстрое перемещение вверх"
msgid "shortcuts.move-nodes"
msgstr "Переместить узел"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Переместить вниз"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Переместить влево"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Переместить вправо"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Переместить вверх"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Следующая доска"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "Отключённых сочетаний нет"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Откройте вкладку «Все» и настройте сочетания."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "Под поиск сочетаний ничего нет"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Сочетания клавиш не найдены"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Установить непрозрачность на 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Установить непрозрачность на 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Установить непрозрачность на 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Установить непрозрачность на 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Установить непрозрачность на 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Установить непрозрачность на 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Установить непрозрачность на 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Установить непрозрачность на 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Установить непрозрачность на 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Установить непрозрачность на 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Выбор цвета"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Перейти в раздел комментариев"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Перейти в панель управления"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Перейти в раздел осмотра"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Перейти в раздел взаимодействия"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Перейти в раздел взаимодействия"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Перейти к рабочей области"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " или "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Сочетание переназначено на %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Страница сочетаний"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Вставить"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Вставить свойства"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Вставить и заменить"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Свои"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Управление плагинами"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Предыдущая доска"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Вернуть"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr "После правки сочетаний обновите другие вкладки Penpot."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Переименовать"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Сбросить"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Сбросить масштаб"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Масштаб"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Основное"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Панель управления"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Просмотрщик"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Рабочая область"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Выбрать все"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Выбрать следующий слой"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Выбрать родительский слой"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Выбрать предыдущий слой"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Отдельные узлы"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Показать размеры"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Показать/скрыть пиксельную сетку"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Показать/скрыть сочетания клавиш"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Привязать к узлам"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Привязать к пиксельной сетке"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Начать редактирование"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Выравнивание"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Редактировать"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Общее"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Главное меню"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Изменить слои"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Навигация"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Навигация"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Навигация"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Панели"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Пути"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Фигуры"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Тексты"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Инструменты"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Увеличение"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Увеличение"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Установить миниатюры"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Сочетания клавиш"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Переключить динамическое выравнивание"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Переключить ресурсы"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Переключить палитру цветов"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Показать/скрыть комментарии"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Переключить режим фокуса"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Переключить полноэкранный режим"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Показать/скрыть направляющие"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Переключить историю"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Переключить слои"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Добавить/удалить макет гибкости"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Добавить/удалить макет сетки"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Запереть/Отпереть"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Запереть пропорции"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Показать/скрыть линейки"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Привязать к направляющим"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Привязать к направляющим линейки"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Переключить текстовую палитру"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Сменить тему"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Показать/скрыть"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Переключить стиль масштабирования"
@@ -5412,31 +5352,31 @@ msgstr "Переключить стиль масштабирования"
msgid "shortcuts.underline"
msgstr "Переключить подчёркивание"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Отменить"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Разгруппировать"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Убрать маску"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Распределить вертикально"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Уменьшить зум-объектив"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Увеличить зум-объектив"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Приблизить выбранное"
@@ -5454,7 +5394,7 @@ msgstr "Взгляните на Корпоративный в деле"
msgid "subscription.current-plan.enterprise"
msgstr "Корпоративный"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Корпоративный"
@@ -5466,7 +5406,7 @@ msgstr "Корпоративный (пробный)"
msgid "subscription.current-plan.professional"
msgstr "Профессиональный"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Ваша подписка"
@@ -5589,117 +5529,117 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Приглашения на Безлимитном"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Оплата не прошла. Попробуйте, когда будете готовы."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"Оплата не прошла. Попробуйте снова. Если не выйдет — напишите нам: "
"support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Подписка"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Введите код активации"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Добавьте способ оплаты, чтобы продолжить после пробного периода"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Admin Console"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Всё из Профессионального плюс:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Всё из Безлимитного плюс:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Всё из Безлимитного и ещё:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s редакторов)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Корпоративный"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Корпоративный (пробный)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "Автоверсии за 90 дней и восстановление файлов"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Фикс в месяц"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Продвинутое управление:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Корпоративная безопасность:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Управление организациями:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "SAML/SSO из коробки и полный журнал аудита для отчётности."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Точечный белый список плагинов, включая наш закрытый MCP-сервер для связи с "
"ИИ."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "Сложные иерархии команд и отдельные подорганизации."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Безлимитное хранилище"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Управляйте подпиской"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Добавить платёжные данные"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Добавьте платёжные данные сейчас — подписка продолжится без сбоев, а "
"опенсорс получит поддержку. Пока без списаний."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Пока пропустить и начать пробный период"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Помогите нам расти — и пробный период станет проще"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] ""
@@ -5709,152 +5649,152 @@ msgstr[1] ""
"В настоящее время в ваших командах есть %s человек(а), которые могут "
"редактировать."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr "Учтите: низкий тариф — меньше хранилища, короче бэкапы и история."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Редакторы"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(Владельцы, администраторы и редакторы. Наблюдатели не в счёт.)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Редакторов не может быть меньше, чем сейчас. Смените роль (с редактора и "
"администратора на наблюдателя) тем, кто не правит файлы."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Оплата после пробного периода. Кредитная карта сейчас не требуется."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/мес."
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Примените %s к командам"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Совет: поднимите число мест заранее, до приглашений. От 25 редакторов — "
"фикс 175 $/мес."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Участник Penpot с: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Подробнее"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "участник организации в месяц"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Другие тарифы Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "организация в месяц"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "пользователь в месяц"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Профессиональный"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "Автоверсии за 7 дней и восстановление файлов"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "Все возможности дизайна и прототипирования. Поддержка сообщества."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Полный контроль над данными и инфраструктурой."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Сколько угодно пользователей, команд и файлов."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 ГБ хранилища"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Сколько угодно команд. До 8 редакторов в Ваших командах."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Рекомендуется"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Ваша подписка"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Начать пробный период"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Подписаться"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Тариф %s у Вас с %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "Подпиской управляйте когда угодно — страница «Подписка» в данных аккаунта."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Наслаждайтесь тарифом!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Спасибо, что выбрали тариф Penpot %s!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Вы — %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "14 дней бесплатно"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Безлимитный"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Безлимитный (пробный)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-дневное автосохранение версий и восстановление файлов"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Не более 175 $/мес."
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 ГБ хранилища"
@@ -5879,45 +5819,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Если вы хотите увеличить этот лимит, [обновите тариф|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 приглашение выбрано"
msgstr[1] "%s приглашений выбрано"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Поставщики шрифтов - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Шрифты - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Проекты - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Поиск - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Общие библиотеки - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot — свобода в дизайне для команд"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Оставить отзыв - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Интеграции - Penpot"
@@ -5925,7 +5865,7 @@ msgstr "Интеграции - Penpot"
msgid "title.settings.notifications"
msgstr "Уведомления - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Настройки - Penpot"
@@ -5933,27 +5873,27 @@ msgstr "Настройки - Penpot"
msgid "title.settings.password"
msgstr "Пароль - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Профиль - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Приглашения - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Участники - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Настройки - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Вебхуки - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Режим просмотра - Penpot"
@@ -5965,51 +5905,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Отсоединить токен"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "На странице не найдено ни одного кадра."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Доска не найдена."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Комментарии (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Не показывать взаимодействия"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Полный экран"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Осмотр (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Интерактив"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Интерактив (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Скопировать ссылку"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Показывать взаимодействия"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Показывать взаимодействия по клику"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "План сайта"
@@ -6043,67 +5983,67 @@ msgstr "Загляните в наше "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "руководство по WebGL"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "Рендеринг WebGL выключен"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "Рендеринг WebGL включён"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "Контекст WebGL потерян"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "Контекст WebGL восстановлен"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Последняя доставка прошла успешно."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Выровнять по горизонтали (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Распределить горизонтальное пространство (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Выровнять по левому краю (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Выровнять по правому краю (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Выровнять по нижнему краю (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Выровнять по вертикали (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Распределить вертикальное пространство (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Выровнять по верхнему краю (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Добавить библиотеку"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Все ресурсы"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Цвета"
@@ -6115,7 +6055,7 @@ msgstr "Добавить цвет"
msgid "workspace.assets.component-group-options"
msgstr "Настройки группы компонентов"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Компоненты"
@@ -6123,7 +6063,7 @@ msgstr "Компоненты"
msgid "workspace.assets.components.add-component"
msgstr "Добавить компонент"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "Вариантов: %s"
@@ -6131,13 +6071,13 @@ msgstr "Вариантов: %s"
msgid "workspace.assets.create-group"
msgstr "Создать группу"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr ""
"Вашим элементам будет автоматически присвоено название «название "
"группы/название элемента»"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Удалить"
@@ -6145,11 +6085,11 @@ msgstr "Удалить"
msgid "workspace.assets.delete-group"
msgstr "Удалить группу"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Удалить страницы"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Дублировать"
@@ -6157,39 +6097,39 @@ msgstr "Дублировать"
msgid "workspace.assets.duplicate-main"
msgstr "Дублировать главное"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Редактировать"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Фильтр"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Вид сетки"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Группа"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Имя группы"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Вид списка"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "локальная библиотека"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Управлять библиотекой"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Ресурсы не найдены"
@@ -6197,7 +6137,7 @@ msgstr "Ресурсы не найдены"
msgid "workspace.assets.open-library"
msgstr "Открыть файл библиотеки"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Переименовать"
@@ -6205,11 +6145,11 @@ msgstr "Переименовать"
msgid "workspace.assets.rename-group"
msgstr "Переименовать группу"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Поиск ресурсов"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Общая библиотека"
@@ -6219,43 +6159,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 компонент"
msgstr[1] "%s компонентов"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Сортировка"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Типографика"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Добавить типографику"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Размер"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Шрифт"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Перейти к файлу библиотеки стилей для редактирования"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Кернинг"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Интерлиньяж"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Регистр"
@@ -6263,15 +6203,15 @@ msgstr "Регистр"
msgid "workspace.assets.ungroup"
msgstr "Разгруппировать"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Копирование картинки…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Картинка скопирована в буфер обмена"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Не удалось скопировать картинку"
@@ -6283,83 +6223,83 @@ msgstr "Взять цвет с экрана"
msgid "workspace.colorpicker.color-tokens"
msgstr "Токены цвета"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Компоненты нельзя вкладывать в себя."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "Часть копий не переключить: компоненты нельзя вкладывать в себя."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Создать область"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Скопировать столбцы"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Скопировать строки"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Создать доску"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Объединить ячейки"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Вставить"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Добавить 1 столбец справа"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Добавить 1 столбец слева"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Удалить столбец"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Удалить столбец и фигуры"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Дублировать столбец"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Добавить 1 строку ниже"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Добавить 1 строку выше"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Удалить строку"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Удалить строку и фигуры"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Дублировать строку"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Цвет направляющей"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Убрать направляющую"
@@ -6367,15 +6307,15 @@ msgstr "Убрать направляющую"
msgid "workspace.debug.title"
msgstr "Отладка"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Режим фокусировки"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Фокусировка выключена"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Фокусировка включена"
@@ -6387,247 +6327,247 @@ msgstr "Линейный градиент"
msgid "workspace.gradients.radial"
msgstr "Радиальный градиент"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Отключить активное выравнивание"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Отключить пропорциональное масштабирование"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Отключить привязку к направляющим"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Отключить привязку к пикселю"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Отключить привязку к направляющим линейки"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Выключить рендеринг WebGL (бета)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Включить активное выравнивание"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Включить пропорциональный масштаб"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Привязка к направляющим"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Включить привязку к пикселю"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Привязка к направляющим линейки"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Включить рендеринг WebGL (бета)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Найти"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Найти и заменить"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Скрыть имена досок"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Скрыть комментарии"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Скрыть направляющие"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Скрыть палитру цветов"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Скрыть сетку пикселей"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Скрыть линейки"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Скрыть палитру шрифтов"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Закрепить направляющие"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Подключить"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Отключить"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Управлять (статус: отключён)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Управлять (статус: включён)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Изменить"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Файл"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Помощь и информация"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP-сервер"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Предпочтения"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Вид"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Вернуть"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Выбрать все"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Показать имена досок"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Показать комментарии"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Показать направляющие"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Показать палитру цветов"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Показать пиксельную сетку"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Показать линейки"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Показать палитру шрифтов"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Переключить на тёмную тему"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Переключить на светлую тему"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "На системную тему"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Отменить"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Открепить направляющие"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Сброс"
-#: src/app/main/ui/workspace/left_header.cljs:125
+#: src/app/main/ui/workspace/left_header.cljs:133
msgid "workspace.header.retrying"
msgstr "Пробуем сохранить"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Ошибка при сохранении"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Сохранено"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Сохранение"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Поделиться"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Открыть предпросмотр (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Масштаб"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Заполнение - Масштаб заполнения"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Подогнать - масштабировать до необходимого размера"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Масштабировать, чтобы всё вместилось"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "На весь экран"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Масштабировать до выбранного"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Изменить сетку"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Выход"
@@ -6635,7 +6575,7 @@ msgstr "Выход"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Отступ снизу"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Настроить внутренний отступ по отдельности"
@@ -6671,37 +6611,37 @@ msgstr "Готово"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Разместить"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Размещение макета сетки"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 цвет"
msgstr[1] "%s цветов"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Добавить цвет в библиотеку"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "В вашей библиотеке ещё нет цветовых стилей"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Недавних цветов пока нет"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "В вашей библиотеке ещё нет стилей типографики"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Библиотека файлов"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Недавние цвета"
@@ -6713,99 +6653,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Сохранить стиль цвета"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Показать/скрыть палитру"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 компонент"
msgstr[1] "%s компонентов"
-#: src/app/main/ui/workspace/libraries.cljs:842
+#: src/app/main/ui/workspace/libraries.cljs:864
msgid "workspace.libraries.connected-libraries"
msgstr "Подключённая библиотека"
-#: src/app/main/ui/workspace/libraries.cljs:183
+#: src/app/main/ui/workspace/libraries.cljs:235
msgid "workspace.libraries.connected-through"
msgstr "Подключена через"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Подключена к"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Или добавьте что-нибудь для пробы:"
-#: src/app/main/ui/workspace/libraries.cljs:812
+#: src/app/main/ui/workspace/libraries.cljs:834
msgid "workspace.libraries.empty.no-assets"
msgstr "Ресурсов пока нет"
-#: src/app/main/ui/workspace/libraries.cljs:895
+#: src/app/main/ui/workspace/libraries.cljs:918
msgid "workspace.libraries.empty.no-connected-libraries"
msgstr "Подключённых библиотек пока нет."
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "В команде нет общих библиотек, поищите"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "что-нибудь из шаблонов"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Библиотека файлов"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 изображение"
msgstr[1] "%s изображений"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "БИБЛИОТЕКИ В ЭТОМ ФАЙЛЕ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "БИБЛИОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ОБНОВЛЕНИЯ БИБЛИОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Загрузка…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Нет общих библиотек, требующих обновления"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Совпадений для \"%s\" не найдено"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Искать общие библиотеки"
-#: src/app/main/ui/workspace/libraries.cljs:827, src/app/main/ui/workspace/libraries.cljs:874
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
msgid "workspace.libraries.set-as-tokens-source"
msgstr "Сделать источником токенов"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "ОБЩИЕ БИБЛИОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:621
+#: src/app/main/ui/workspace/libraries.cljs:674
msgid "workspace.libraries.shared-library-added"
msgstr "Добавлена"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Подключить библиотеку"
@@ -6829,47 +6769,47 @@ msgstr "Отвязать все ресурсы"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Отвязать все токены"
-#: src/app/main/ui/workspace/libraries.cljs:167, src/app/main/ui/workspace/libraries.cljs:211
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
msgid "workspace.libraries.token-sets"
msgid_plural "workspace.libraries.token-sets"
msgstr[0] "1 набор"
msgstr[1] "%s наборов"
-#: src/app/main/ui/workspace/libraries.cljs:170, src/app/main/ui/workspace/libraries.cljs:215
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
msgid "workspace.libraries.token-themes"
msgid_plural "workspace.libraries.token-themes"
msgstr[0] "1 тема"
msgstr[1] "%s тем"
-#: src/app/main/ui/workspace/libraries.cljs:164, src/app/main/ui/workspace/libraries.cljs:207
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
msgid "workspace.libraries.tokens"
msgid_plural "workspace.libraries.tokens"
msgstr[0] "1 токен"
msgstr[1] "%s токенов"
-#: src/app/main/ui/workspace/libraries.cljs:820, src/app/main/ui/workspace/libraries.cljs:866
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
msgid "workspace.libraries.tokens-source"
msgstr "Источник токенов"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 типографика"
msgstr[1] "%s типографик"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Отключить библиотеку"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Обновить"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "смотреть все изменения"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ОБНОВЛЕНИЯ"
@@ -6931,7 +6871,7 @@ msgstr "Показать/скрыть размытие"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Показать/скрыть ещё"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Отмена"
@@ -6943,117 +6883,117 @@ msgstr "Фон холста"
msgid "workspace.options.canvas-background-section"
msgstr "Фон холста"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Зажать содержимое"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Компонент"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Аннотация"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Копировать"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Создать аннотацию"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Изменить аннотацию"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Главный"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Заменить компонент"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "В этой библиотеке ещё нет ресурсов"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Отвязан"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Найти конфликтующие варианты"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"У компонента конфликтующие варианты. У каждого сочетания свойств должны "
"быть свои значения."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Найти дублирующиеся варианты"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "У части вариантов совпадают свойства и значения"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"У этих вариантов совпадают свойства и значения. Подправьте значения, чтобы "
"их можно было найти."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"У варианта такие же свойства и значения, как у другого. Подправьте "
"значения, чтобы его можно было найти."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"У части вариантов совпадают свойства и значения. Подправьте значения, чтобы "
"их можно было найти."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"У компонента варианты с неверными именами. Каждый вариант должен следовать "
"структуре."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Найти неверные варианты"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "У части вариантов неверные имена"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Найти неверные варианты"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "У этих вариантов неверные имена."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "У варианта неверное имя."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "У части вариантов неверные имена."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[свойство]=[значение], [свойство]=[значение]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Попробуйте такую структуру:"
@@ -7087,7 +7027,7 @@ msgstr "На одном уровне вложенности."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Группы, доски и макеты считаются равными."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Как варианты держат связь"
@@ -7135,11 +7075,11 @@ msgstr "Верх и низ"
msgid "workspace.options.convert-to-typography"
msgstr "Создать стиль типографики"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Дизайн"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Экспорт"
@@ -7147,53 +7087,53 @@ msgstr "Экспорт"
msgid "workspace.options.export-multiple"
msgstr "Экспорт выбранного"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "Экспорт 1 элемента"
msgstr[1] "Экспорт %s элементов"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Добавить экспорт"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Удалить экспорт"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Суффикс"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Служба экспорта занята, попробуйте позже"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Экспорт отменён"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Отмена…"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Экспорт завершён"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Экспортирование…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Экспорт не удался"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Неожиданно медленный экспорт"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Ожидание…"
@@ -7213,7 +7153,7 @@ msgstr "Удалить заливку"
msgid "workspace.options.fill.section"
msgstr "Заливка"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Подогнать доску под содержимое"
@@ -7233,7 +7173,7 @@ msgstr "Начало потока"
msgid "workspace.options.flows.flow-starts"
msgstr "Начала потоков"
-#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
msgid "workspace.options.font-not-available"
msgstr "Шрифта (%s) больше нет. Загрузите его снова, чтобы создать стиль типографики"
@@ -7241,67 +7181,67 @@ msgstr "Шрифта (%s) больше нет. Загрузите его сно
msgid "workspace.options.grid.auto"
msgstr "Авто"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Колонки"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Цвет"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Желоб"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Высота"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Поле"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Установить по умолчанию"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Низ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Центр"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Левый"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Правый"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Растягивать"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Верх"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Использовать значение по умолчанию"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Строки"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Квадрат"
@@ -7313,7 +7253,7 @@ msgstr "Заливка для группы"
msgid "workspace.options.group-stroke"
msgstr "Обводка для группы"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Добавить направляющую"
@@ -7321,19 +7261,19 @@ msgstr "Добавить направляющую"
msgid "workspace.options.guides.remove-guide"
msgstr "Убрать направляющую"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Направляющие"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Показать/скрыть направляющую"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Высота"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Осмотр"
@@ -7549,111 +7489,111 @@ msgstr "Интерактив"
msgid "workspace.options.interactions.add-interaction"
msgstr "Добавить взаимодействие"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Цвет"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Затемнение основы"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Осветление основы"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Затемнение"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Разница"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Исключение"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Жёсткий свет"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Цветовой тон"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Замена светлым"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Яркость"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Умножение"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Нормально"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Наложение"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Насыщенность"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Экран"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Мягкий свет"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Слой"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Показать/скрыть слой"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Макс. высота"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Макс. ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Мин. высота"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Мин. ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Больше цветов"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Больше цветов библиотеки"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Ещё токены цвета"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Нет подходящего пресета размера"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Непрозрачность"
@@ -7661,7 +7601,7 @@ msgstr "Непрозрачность"
msgid "workspace.options.pixel-grid-color"
msgstr "Цвет пиксельной сетки"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Прототип"
@@ -7697,23 +7637,23 @@ msgstr "Скругление"
msgid "workspace.options.radius.show-single-corners"
msgstr "Показать радиусы по отдельности"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Последние"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Повторить"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Вращение"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Искать шрифт"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Найти пресет размера"
@@ -7721,11 +7661,11 @@ msgstr "Найти пресет размера"
msgid "workspace.options.select-a-shape"
msgstr "Выберите фигуру, кадр или группу для соединения с другим кадром."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Выбранные цвета"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Выбранные цвета"
@@ -7793,55 +7733,55 @@ msgstr "Показать/скрыть тень"
msgid "workspace.options.show-fill-on-export"
msgstr "Показать в экспорте"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Показать в режиме просмотра"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Размер"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Предустановки размеров"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Запереть пропорции"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Отпереть пропорции"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Круг"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Алмаз"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Стрелка"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Ничего"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Круг"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Квадрат"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Прямоугольник"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Треугольник"
@@ -7849,31 +7789,31 @@ msgstr "Треугольник"
msgid "workspace.options.stroke-color"
msgstr "Цвет обводки"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Штрих"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Пробел"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Толщина обводки"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Низ (конец блока)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Лево (начало строки)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Право (конец строки)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Верх (начало блока)"
@@ -7881,47 +7821,47 @@ msgstr "Верх (начало блока)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Добавить цвет обводки"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Центр"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Пунктирный"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Точечный"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Внутрь"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Смешаный"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Наружу"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Обводка по сторонам"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr "Обводка по сторонам — только в новом рендере. Переключите рендер."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Удалить обводку"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Сплошной"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Показать/скрыть обводку"
@@ -7957,11 +7897,11 @@ msgstr "Автоширина"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Фиксированно"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Межсимвольный интервал"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Высота строки"
@@ -8009,224 +7949,224 @@ msgstr "Подчеркнутый (%s)"
msgid "workspace.options.use-play-button"
msgstr "Нажмите кнопку воспроизведения вверху для показа прототипа."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Ось X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Ось Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Показать узлы (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Выровненный"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Независимый"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Равный"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Поведение маркера"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Соединить узлы (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "В угол (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "В кривую (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Объединить узлы (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Сместить узлы (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Разделить узлы (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Прилипать узлами (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Открыть"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Откройте для себя [больше плагинов](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Плагины ещё не установлены"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Манифест плагина неверен."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Чтобы пользоваться плагином, нужна роль редактора"
-#: src/app/main/data/plugins.cljs:158
+#: src/app/main/data/plugins.cljs:160
msgid "workspace.plugins.error.unreachable"
msgstr "До адреса плагина не достучаться."
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Плагин не существует или его URL-адрес неверен."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Установить"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Установленные плагины"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Менеджер плагинов"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Плагины"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ОБНОВИТЕ ЭТОТ ПЛАГИН"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "Плагин изменился с прошлого открытия. Теперь он просит доступ к:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Начинать скачивание файлов."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Хранить данные в браузере."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Читать содержимое буфера обмена."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Читать буфер обмена и писать в него."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Читать Ваши комментарии и ответы."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Читать и менять Ваши комментарии и отвечать от Вашего имени."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Читать содержимое доступных Вам файлов."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Читать и менять содержимое доступных Вам файлов."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Учтите: плагин сделал посторонний, убедитесь, что ему доверяете. Нам важны "
"Ваши данные и безопасность. Сомневаетесь — напишите в поддержку."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Читать Ваши библиотеки и ресурсы."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Читать и менять Ваши библиотеки и ресурсы."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "ПЛАГИН «%s» ПРОСИТ ДОСТУП К:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Читать профиль текущего пользователя."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Список плагинов"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Удалить плагин"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Введите URL-адрес плагина"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Плагины"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "НЕ СЕЙЧАС"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Заглянуть? Откроется в новом черновике Вашей команды. (Если нет — "
"установленные плагины лежат в любом файле.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "ПЛАГИН «%s» УСТАНОВЛЕН!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "ПОПРОБОВАТЬ ПЛАГИН"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Добавить макет гибкости"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Добавить макет сетки"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Добавить макет"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Создать вариант"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Добавить свойство"
@@ -8238,11 +8178,11 @@ msgstr "На задний план"
msgid "workspace.shape.menu.backward"
msgstr "Перенести назад"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Убрать направляющие доски"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Объединить как варианты"
@@ -8250,7 +8190,7 @@ msgstr "Объединить как варианты"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Компоненты должны находиться на одной странице"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Скопировать"
@@ -8294,27 +8234,27 @@ msgstr "Скопировать как текст"
msgid "workspace.shape.menu.create-annotation"
msgstr "Создать аннотацию"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Выделенное в доску"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Создать компонент"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Создать несколько компонентов"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Вырезать"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Удалить"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Удалить начало потока"
@@ -8326,7 +8266,7 @@ msgstr "Отсоединить экземпляр"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Отсоединить экземпляры"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Разница"
@@ -8334,15 +8274,15 @@ msgstr "Разница"
msgid "workspace.shape.menu.duplicate"
msgstr "Дублировать"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Редактировать"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Исключить"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Flatten"
@@ -8354,7 +8294,7 @@ msgstr "Отразить по горизонтали"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Отразить по вертикали"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Начало потока"
@@ -8366,31 +8306,31 @@ msgstr "Перенести вперёд"
msgid "workspace.shape.menu.front"
msgstr "На передний план"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Группа"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Скрыть"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Показать/скрыть UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Пересечь"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Заблокировать"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Маска"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Вставить"
@@ -8398,27 +8338,27 @@ msgstr "Вставить"
msgid "workspace.shape.menu.paste-props"
msgstr "Вставить свойства"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Контур"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Удалить макет гибкости"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Удалить макет сетки"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Убрать макет"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Убрать свойство"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "У варианта должно быть хотя бы одно свойство"
@@ -8442,11 +8382,11 @@ msgstr "Восстановить вариант"
msgid "workspace.shape.menu.select-layer"
msgstr "Выбрать слой"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Показать"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Показать на панели ресурсов"
@@ -8454,7 +8394,7 @@ msgstr "Показать на панели ресурсов"
msgid "workspace.shape.menu.show-main"
msgstr "Показать основной компонент"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Обводку в контур"
@@ -8466,19 +8406,19 @@ msgstr "Удалить миниатюру"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Сделать миниатюрой"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Разгруппировать"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Суммировать"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Paзблокировать"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Убрать маску"
@@ -8494,79 +8434,79 @@ msgstr "Свернуть боковую панель"
msgid "workspace.sidebar.expand"
msgstr "Расширить боковую панель"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "История"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Слои"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Компоненты"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Фильтр"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Доски"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Группы"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Изображения"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Маски"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Совпадений нет"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Заменить"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Заменить всё"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Заменить на…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Искать слои"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Найти и заменить"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Текст"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Имена слоёв"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Формы"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Импортированные атрибуты SVG"
@@ -8578,7 +8518,7 @@ msgstr "Страницы"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Добавить страницу"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Карта сайта"
@@ -8610,7 +8550,7 @@ msgstr "Добавить набор в группу"
msgid "workspace.tokens.add-token"
msgstr "Добавить токен: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Применено к"
@@ -8634,7 +8574,7 @@ msgstr "Базовый размер — в пикселях или без еди
msgid "workspace.tokens.change-token-source"
msgstr "Сменить источник токенов"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Цвет"
@@ -8646,7 +8586,7 @@ msgstr "Скопировать путь токена"
msgid "workspace.tokens.create-new-theme"
msgstr "Создайте первую тему прямо сейчас."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Создать набор."
@@ -8674,7 +8614,7 @@ msgstr "Дублировать токен"
msgid "workspace.tokens.duplicate-group"
msgstr "Дублировать группу токенов"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "копия"
@@ -8698,7 +8638,7 @@ msgstr "Править токен %s"
msgid "workspace.tokens.enter-token-name"
msgstr "Введите имя токена %s"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "Токены нельзя применить во время правки текста. Выберите текстовый слой."
@@ -8726,7 +8666,7 @@ msgstr "Предпросмотр:"
msgid "workspace.tokens.export.single-file"
msgstr "Один файл"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Размер шрифта или {alias}"
@@ -8734,7 +8674,7 @@ msgstr "Размер шрифта или {alias}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "Не удалось задать насыщенность и стиль: этого стиля нет в текущем шрифте"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Насыщенность (300, Bold Italic...) или {alias}"
@@ -8770,7 +8710,7 @@ msgstr "В нескольких файлах именами наборов сл
msgid "workspace.tokens.import-single-file"
msgstr "В одном JSON-файле ключи верхнего уровня — имена наборов токенов."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Импорт токенов"
@@ -8778,17 +8718,17 @@ msgstr "Импорт токенов"
msgid "workspace.tokens.import-warning"
msgstr "Импорт токенов заменит текущие токены, наборы и темы."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Неактивен"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Набор неактивен. Смените тему или активируйте набор, чтобы увидеть "
"изменения во вьюпорте"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Использовать отдельные токены"
@@ -8808,11 +8748,11 @@ msgstr "Тема"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Добавьте тему (например, Light)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Межбуквенный интервал или {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Высота строки (множитель, px, %) или {alias}"
@@ -8828,11 +8768,11 @@ msgstr "Макс. размер"
msgid "workspace.tokens.min-size"
msgstr "Мин. размер"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Нет ссылки"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Щёлкните правой кнопкой — там настройки"
@@ -8848,7 +8788,7 @@ msgstr "Нет активной темы"
msgid "workspace.tokens.no-permisions-set"
msgstr "Чтобы включать и отключать наборы, нужна роль редактора"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Чтобы пользоваться темами, нужна роль редактора"
@@ -8860,7 +8800,7 @@ msgstr "Наборы пока не заданы. Создайте первый."
msgid "workspace.tokens.no-sets-yet"
msgstr "Наборов пока нет."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Тем пока нет."
@@ -8872,7 +8812,7 @@ msgstr "У Вас пока нет тем."
msgid "workspace.tokens.not-remap"
msgstr "Не переназначать"
-#: src/app/main/data/workspace/libraries.cljs:847
+#: src/app/main/data/workspace/libraries.cljs:848
msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
msgstr "Наборы и темы источника токенов изменены"
@@ -8880,7 +8820,7 @@ msgstr "Наборы и темы источника токенов измене
msgid "workspace.tokens.num-active-sets"
msgstr "Активных наборов: %s"
-#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:67
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
msgid "workspace.tokens.only-first-fill-or-stroke"
msgstr "Токены дизайна применяются только к первой заливке или обводке в списке."
@@ -8888,7 +8828,7 @@ msgstr "Токены дизайна применяются только к пе
msgid "workspace.tokens.open-source-new-tab"
msgstr "Открыть источник токенов в новой вкладке"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Исходное значение: %s"
@@ -8900,15 +8840,15 @@ msgstr "Внутренние отступы"
msgid "workspace.tokens.radius"
msgstr "Радиус"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "Ссылка в {%s} неверна или отсутствует в активных наборах."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Введите алиас типографики токена"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Введите алиас тени токена"
@@ -8944,7 +8884,7 @@ msgstr "Переименовать группу токенов"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Токены переименуются сами: %s.(суффикс).(токен)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Итоговое значение: %s"
@@ -8980,27 +8920,27 @@ msgstr "Здесь задаётся базовый размер шрифта —
msgid "workspace.tokens.settings"
msgstr "Настройки токенов"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Добавить тень"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Размытие"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Внутренняя"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Убрать тень"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Распространение"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Размытие не может быть отрицательным"
@@ -9008,11 +8948,11 @@ msgstr "Размытие не может быть отрицательным"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Распространение не может быть отрицательным"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -9028,11 +8968,11 @@ msgstr "Источник:"
msgid "workspace.tokens.stroke-width"
msgstr "Толщина обводки"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize или {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through или {alias}"
@@ -9054,31 +8994,31 @@ msgstr "Этот файл"
msgid "workspace.tokens.token-description"
msgstr "Описание"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Выберите семейство шрифтов"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Семейство шрифтов"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Семейство шрифтов или шрифты через запятую"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Имя"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "По пути %s токен уже есть (или в его начале)."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Имя — минимум 1 символ"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" — неверное имя токена.\n"
@@ -9088,11 +9028,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Значение"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Введите значение или алиас через {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "ТОКЕНЫ - %s"
@@ -9110,15 +9050,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Тип «%s» не поддерживается (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Взять ссылку"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Значение недействительное"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Стрелка (%s)"
@@ -9126,79 +9066,75 @@ msgstr "Стрелка (%s)"
msgid "workspace.toolbar.assets"
msgstr "Ресурсы"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Палитра цветов (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Комментарии (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Кривая (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Эллипс (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Доска (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Изображение (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:413
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
msgid "workspace.toolbar.label"
msgstr "Рисование"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Линия (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Подключить здесь"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP подключён"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Перемещение (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Палитра"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Контур (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Плагины (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Прямоугольник (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Текст (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Типографики (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Переключить панель инструментов"
@@ -9219,11 +9155,11 @@ msgstr "Рендеринг недоступен. Обновите страниц
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Обновить"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Изменений в истории ещё нет"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "от %s"
@@ -9363,19 +9299,19 @@ msgstr "ресурс типографики"
msgid "workspace.undo.entry.unknown"
msgstr "Работа над %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Отклонить"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Дополнительная информация"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Обнаружены обновления общих библиотек"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Обновить"
diff --git a/frontend/translations/sr.po b/frontend/translations/sr.po
index 75ebabcdde..35224e7dba 100644
--- a/frontend/translations/sr.po
+++ b/frontend/translations/sr.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:19+0000\n"
-"Last-Translator: Црнобог <68vuletic@gmail.com>\n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Serbian "
" \n"
"Language: sr\n"
@@ -10,9 +10,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Већ имате налог?"
@@ -30,7 +30,7 @@ msgstr ""
"Ово је ДЕМО услуга, НЕ КОРИСТИТЕ за прави рад, пројекти ће се повремено "
"брисати."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Заборављена лозинка?"
@@ -38,35 +38,35 @@ msgstr "Заборављена лозинка?"
msgid "auth.fullname"
msgstr "Пуно име"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Пријавите се на свој налог"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Пријавите се овде."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot је бесплатан алат отвореног кода за сарадњу у дизајну и програмирању"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -86,7 +86,7 @@ msgstr "Профил није верификован, проверите про
msgid "auth.notifications.recovery-token-sent"
msgstr "Линк за опоравак лозинке је послат у Ваше пријемно сандуче."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Успешно придружење тиму"
@@ -118,7 +118,7 @@ msgstr "Заборавили сте лозинку?"
msgid "auth.recovery-submit"
msgstr "Промените своју лозинку"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Још немате налог?"
@@ -130,7 +130,7 @@ msgstr "Како желите да Вас ословљавамо на управ
msgid "auth.register-account-title"
msgstr "Ваше име"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Креирајте налог"
@@ -143,7 +143,7 @@ msgstr "Креирајте налог"
msgid "auth.terms-and-privacy-agreement"
msgstr "Слажем се са [условима коришћења](%s) и [политиком приватности](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Услови коришћења"
@@ -151,110 +151,110 @@ msgstr "Услови коришћења"
msgid "auth.work-email"
msgstr "Радна е-пошта"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Објави"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Сви Penpot корисници"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Да ли сте сигурни да желите да уклоните ову везу? Ако то урадите више неће "
"бити доступно никоме"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(тренутни)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Уништи везу"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Добиј везу"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Веза је успешно копирана"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Управљање дозволама"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "страница подељена"
msgstr[1] "%s странице подељено"
msgstr[2] "%s страница подељено"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Може оставити коментар"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Може да провери кôд"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Свако са везом ће имати приступ"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Страница подељено"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Овде ће се појавити веза за дељење"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Само чланови тима"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Дели прототипе"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Изабери све"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Опозови објављивање"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Управљање тимом"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot је намењен тимовима. Позовите чланове да заједно раде на пројектима "
"и датотекама"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Уједините снаге!"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Додај као дељену библиотеку"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Промените е-пошту"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(копија)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Направите нови тим"
@@ -262,11 +262,11 @@ msgstr "Направите нови тим"
msgid "dashboard.default-team-name"
msgstr "Ваш Penpot"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Избришите тим"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Преузмите Penpot датотеку (.penpot)"
@@ -282,60 +282,60 @@ msgstr "Дуплирај %s датотека"
msgid "dashboard.export-binary-multi"
msgstr "Преузмите % Penpot датотека (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Извезите табле као PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Извези као PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s од %s елемената изабрано"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Извези"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Можете додати подешавања извоза елементима из својстава дизајна (на дну "
"десне бочне траке)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Информације како да подесите извоз у Penpot-у."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Нема елемената са подешавањима извоза."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Избор извоза"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Недостаје фонт"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Одбаци све"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Овде ће се појавити прилагођени фонтови које отпремите."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -344,7 +344,7 @@ msgstr ""
"фонта биће груписани као **једна породица фонта**. Можете отпремити фонтове "
"у следећим форматима: **TTF, OTF и WOFF** (довољан је само један)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -353,11 +353,11 @@ msgstr ""
"у [Условима коришћења Penpot-а](%s). Такође, можете прочитати о "
"[лиценцирању фонтовa](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Отпреми све"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -368,74 +368,46 @@ msgstr ""
"коришћење [Transfonter](https://transfonter.org/) за генерисање веб фонтовa "
"и исправљање грешака. "
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Увези Penpot датотеке"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Упс! Нисмо успели да увеземо ову датотеку"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Неке датотеке су садржале неважеће објекте који су уклоњени."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Обрада боја"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Обрада компоненти"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Обрада медија"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Обрада стране: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Обрада типографија"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Отпремање података на сервер (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Отпремање датотеке: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Позовите људе"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Напустите тим"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Библиотеке и шаблони"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Истражите више њих и знајте како да допринесете"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Дошло је до проблема при увозу шаблона. Шаблон није увезен."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Библиотеке"
@@ -443,7 +415,7 @@ msgstr "Библиотеке"
msgid "dashboard.loading-files"
msgstr "учитавање ваших датотека…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "учитавање ваших фонтова…"
@@ -459,35 +431,35 @@ msgstr "Премести %s датотека у"
msgid "dashboard.move-to-other-team"
msgstr "Премести у други тим"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Нова датотека"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Нова датотека"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Нови пројекат"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Нови пројекат"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Нема подударања за \"%s\""
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Закачени пројекти ће се појавити овде"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Ваша адреса е-поште је успешно ажурирана"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Ваша адреса е-поште је успешно верификована"
@@ -495,7 +467,7 @@ msgstr "Ваша адреса е-поште је успешно верифико
msgid "dashboard.notifications.password-saved"
msgstr "Лозинка је успешно сачувана!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s чланова"
@@ -503,7 +475,7 @@ msgstr "%s чланова"
msgid "dashboard.open-in-new-tab"
msgstr "Отворите датотеку у новој картици"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Опције"
@@ -511,39 +483,39 @@ msgstr "Опције"
msgid "dashboard.password-change"
msgstr "Промените лозинку"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Прикачи/Откачи"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Пројекти"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Желите да уклоните свој налог?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Сачувај подешавања"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Претражи…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Претражи за \"%s\"…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Изаберите језик корисничког интерфејса"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Изаберите тему"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Прикажи све датотеке"
@@ -569,7 +541,7 @@ msgstr[2] "Ваше датотеке су успешно дуплиране"
msgid "dashboard.success-duplicate-project"
msgstr "Ваш пројекат је успешно дуплиран"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Ваша датотека је успешно премештена"
@@ -581,82 +553,82 @@ msgstr "Ваше датотеке су успешно премештене"
msgid "dashboard.success-move-project"
msgstr "Ваш пројекат је успешно премештен"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Информације о тиму"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Чланови тима"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Тимски пројекти"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Тема корисничког интерфејса"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Резултати претраге"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Унесите за резултате претраге"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Опозови објављивање библиотеке"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Ажурирајте подешавања"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Је активно"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Када се ова кука покрене биће испоручени детаљи догађаја"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Тип садржаја"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Креирајте веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Веб-кука је успешно креирана."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Веб-куке су једноставан начин да омогућите другим веб-сајтовима и "
"апликацијама да буду обавештени када се одређени догађаји догоде у "
"Penpot-у. Послаћемо POST захтев на сваку од URL адреса које наведете."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Притисните дугме „Додај веб-куку“ да бисте је додали."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "До сада није направљена ниједана веб-кука."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ваш налог"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Е-пошта"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ваше име"
@@ -672,7 +644,7 @@ msgstr "Пажња"
msgid "ds.component-subtitle"
msgstr "Компоненте за ажурирање:"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Откажите"
@@ -692,15 +664,15 @@ msgstr "Провајдер ауторизације није дозвољен з
msgid "errors.auth-provider-not-configured"
msgstr "Провајдер аутентификације није конфигурисан."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Изгледа да нисте аутентификовани или је сесија истекла."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Фонт %s није могао бити учитан"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Фонтови %s нису могли бити учитани"
@@ -708,15 +680,15 @@ msgstr "Фонтови %s нису могли бити учитани"
msgid "errors.cannot-upload"
msgstr "Није могуће отпремити медијску датотеку."
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Ваш претраживач не може да одради ову операцију"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Е-пошта је већ коришћена"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Е-пошта је већ потврђена."
@@ -724,36 +696,36 @@ msgstr "Е-пошта је већ потврђена."
msgid "errors.email-as-password"
msgstr "Не можете да користите своју е-пошту као лозинку"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Домен није дозвољен"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Е-пошта «%s» има много сталних извештаја о одбијању."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Е-пошта «%s» је пријављеа као непожељана или трајно одбијена."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Изгледа да отварате датотеку која има омогућену функцију '%s', али је "
"тренутна верзија penpot-а не подржава или је онемогућена."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Функција '%s' није подржана."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Чини се да постоји неусклађеност између омогућених функција и функција "
"датотеке коју покушавате да отворите. Миграције за \"%s\" морају бити "
"примењене пре него што се датотека може отворити."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Нешто погрешно се десило."
@@ -773,7 +745,7 @@ msgstr "Ова позивница је можда отказана или ист
msgid "errors.ldap-disabled"
msgstr "LDAP аутентификација је онемогућена."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Достигли сте квоту од '%s'. Контактирајте подршку."
@@ -789,7 +761,7 @@ msgstr "Чини се да садржај слике не одговара ек
msgid "errors.media-type-not-allowed"
msgstr "Чини се да ово није исправна слика."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Профил који сте позвали има искључене поруке е-поште (извештаји о нежељеној "
@@ -803,7 +775,7 @@ msgstr "Лозинка за потврду мора да се подудара"
msgid "errors.password-too-short"
msgstr "Лозинка треба да има најмање 8 знакова"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Неважећи подаци у међуспремнику"
@@ -811,7 +783,7 @@ msgstr "Неважећи подаци у међуспремнику"
msgid "errors.profile-blocked"
msgstr "Налог је блокиран"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Ваш профил има искључене поруке е-поште (извештаји о нежељеној пошти или "
@@ -821,19 +793,19 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Регистрација је тренутно онемогућена."
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Откривена је некомпатибилна функција \"%s\""
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Нема довољно чланова за напуштање тима, вероватно желите да га избришете."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Члан којег покушавате да доделите не постоји."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Власник не може да напусти тим, морате да пренесете улогу власника."
@@ -841,39 +813,39 @@ msgstr "Власник не може да напусти тим, морате д
msgid "errors.unexpected-error"
msgstr "Дошло је до неочекиване грешке."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Непознати токен"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Датотека има некомпатибилан број верзије"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Грешка у вези, URL није доступан"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL не пролази валидацију."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Последња испорука није успела."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Грешка при SSL валидацији."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Време је истекло"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Неочекивана грешка при валидацији"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Неочекивани статус %s"
@@ -889,13 +861,13 @@ msgstr "Стара лозинка је нетачна"
msgid "feedback.description"
msgstr "Опис"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Срећни смо што сте овде. Ако вам је потребна помоћ, претражите пре него што "
"објавите."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot заједница"
@@ -909,11 +881,11 @@ msgstr ""
"Молимо опишите разлог ваше е-поште, наводећи да ли постоји проблем, идеја "
"или сумња. Члан нашег тима ће одговорити у најкраћем могућем року."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Овде смо да помогнемо са вашим техничким питањима."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X налог за подршку"
@@ -945,7 +917,7 @@ msgstr "Преузмите изворну слику"
msgid "inspect.attributes.shadow"
msgstr "Сенка"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Величина и положај"
@@ -953,39 +925,27 @@ msgstr "Величина и положај"
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 "Споља"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Типографија"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Породица фонта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Величина фонта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Стил фонта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Размак између слова"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Висина линије"
@@ -997,11 +957,11 @@ msgstr "Ништа"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Подвачење"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Насловно слово"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Мала слова"
@@ -1013,7 +973,7 @@ msgstr "Ништа"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Без вредности"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Велико слово"
@@ -1075,31 +1035,31 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Текст"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Пречице"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Прихвати"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Активно"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Додај прилагођени фонт"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Админ"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Све"
@@ -1107,29 +1067,29 @@ msgstr "Све"
msgid "labels.and"
msgstr "и"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Назад"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Изгледа да морате да сачекате неколико тренутака и покушате поново; "
"изводимо мање одржавање наших сервера."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Лош Gateway"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Откажите"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Затвори"
@@ -1137,11 +1097,11 @@ msgstr "Затвори"
msgid "labels.code"
msgstr "Код"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Коментари"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Заједница"
@@ -1149,35 +1109,35 @@ msgstr "Заједница"
msgid "labels.confirm-password"
msgstr "Потврди лозинку"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Настави"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Можете наставити са Penpot налогом"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Копирај везу"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Створи"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Направи нови тим"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Унесите ново име тима"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Управљачка табла"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Избришите"
@@ -1189,7 +1149,7 @@ msgstr "Избришите коментар"
msgid "labels.delete-comment-thread"
msgstr "Избришите дискусију"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Избришите позивницу"
@@ -1197,31 +1157,31 @@ msgstr "Избришите позивницу"
msgid "labels.delete-multi-files"
msgstr "Избришите %s датотека"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Развој"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Одбаци"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Нацрти"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Уреди"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Уредник"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Истекло"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Извези"
@@ -1233,47 +1193,47 @@ msgstr "Повратне информације су онемогућене"
msgid "labels.feedback-sent"
msgstr "Повратне информације су послате"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Породица фонта"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Стилови"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Фонтови"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github репозиторијум"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Оставите повратне информације"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Иди назад"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Графички дизајн"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Центар за помоћ"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Сакриј решене коментаре"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Неактиван"
@@ -1281,47 +1241,47 @@ msgstr "Неактиван"
msgid "labels.info"
msgstr "Инфо"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Инсталирани фонтови"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Унутрашња гершка"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Позивнице"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Језик"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Библиотеке и шаблони"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Пријава или регистрација"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Одјава"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Маркетинг"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Члан"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Чланови"
@@ -1329,37 +1289,37 @@ msgstr "Чланови"
msgid "labels.new-password"
msgstr "Нова лозинка"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Даље"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Све сте прегледали! Нова обавештења о коментарима ће се појавити овде."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Нема позивница на чекању."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Упс!"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "датотека"
msgstr[1] "%s датотеке"
msgstr[2] "%s датотека"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "табла"
msgstr[1] "%s табле"
msgstr[2] "%s табли"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "пројекат"
@@ -1370,151 +1330,151 @@ msgstr[2] "%s пројеката"
msgid "labels.old-password"
msgstr "Стара лозинка"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Друго (навести)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Друго"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Власник"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Лозинка"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "На чекању"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Предходно"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Дизајн производа или дизајн корисничког искуства"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Управљање производима"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Налог"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Пројекти"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Напомене о издању"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Уколни"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Уклони члана"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Преименуј"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Преименуј тим"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Поново пошаљите позивницу"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Покушај поново"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Улога"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Сачувај"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Претражи"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Претражи фонт"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Изаберите опцију"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Пошаљи"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Шаље се…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Тренутно вршимо програмско одржавање наших система."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Услуга недоступна"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Подешавања"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Дели"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Библиотеке"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Прикажи све коментаре"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Прикажи листу кометара"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Покажите само своје коментаре"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Почните"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Стање"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Ученик или наставник"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Туторијали"
@@ -1522,23 +1482,23 @@ msgstr "Туторијали"
msgid "labels.unpublish-multi-files"
msgstr "Опозови објављивање %s датотека"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Ажурирајте"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Ажурирајте тим"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Отпреми"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Отпреми прилагођене фонтове"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Отпремање…"
@@ -1546,11 +1506,11 @@ msgstr "Отпремање…"
msgid "labels.view-only"
msgstr "Само за преглед"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Прегледник"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Веб-куке"
@@ -1558,11 +1518,11 @@ msgstr "Веб-куке"
msgid "labels.write-new-comment"
msgstr "Напиши нови коментар"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(ти)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ваш налог"
@@ -1615,61 +1575,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Додај \"%s\" као дељену библиотеку"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Велики помак"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Верификујте нову е-пошту"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Послаћемо вам е-пошту на вашу тренутну е-пошту \"%s\" да потврдимо ваш "
"идентитет."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Нова е-пошта"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Промените е-пошту"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Промените своју е-пошту"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Направи веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Направи веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "URL оптерећења"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Откажи и задржи мој налог"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Да, избришите мој налог"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Уклањањем налога изгубићете све своје тренутне пројекте и архиве."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Да ли сте сигурни да желите да избришете свој налог?"
@@ -1719,31 +1679,31 @@ msgstr "Да ли сте сигурни да желите да обришете
msgid "modals.delete-file-multi-confirm.title"
msgstr "Брисање %s датотека"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"Да ли сте сигурни да желите да избришете овај стил фонта? Неће се учитати "
"ако се користи у датотеци."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Брисање стила фонта"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Да ли сте сигурни да желите да избришете овај фонт? Неће се учитати ако се "
"користи у датотеци."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Брисање фонта"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Да ли сте сигурни да желите да обришете ову страницу?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Избришите страницу"
@@ -1759,35 +1719,35 @@ msgstr "Да ли сте сигурни да желите да обришете
msgid "modals.delete-project-confirm.title"
msgstr "Избришите пројекат"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Избришите датотеку"
msgstr[1] "Избришите датотеке"
msgstr[2] "Избришите датотеке"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Није активиран ни у једној датотеци."
msgstr[1] "Нису активиране ни у једној датотеци."
msgstr[2] "Нису активиране ни у једној датотеци."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Овда библиотека је активиране овде: "
msgstr[1] "Ове датотеке су активиране овде: "
msgstr[2] "Ове библиотеке су активиране овде: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Да си сте сигурни да желите да обришете овај документ?"
msgstr[1] "Да ли сте сигурни да жели да бришете ове документе?"
msgstr[2] "Да ли сте сигурни да жели да бришете ове документе?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Брисање датотеке"
@@ -1808,19 +1768,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Брисање тима"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Избришите члана"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Да ли сте сигурни да желите да избришете овог члана из тима?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Избришите члана тима"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -1833,166 +1793,166 @@ msgstr[2] ""
"Средства која су већ коришћена у овој датотеци ће остати тамо (ниједан "
"дизајн неће бити покварен)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Избришите веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Да ли сте сигурни да желите да избришете ову веб-куку?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Брисање веб-куке"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Уреди веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Уреди веб-куку"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Пошаљи позивницу"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Е-поште, раздвојене зарезима"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Неки е-поште су од тренутних чланова тима. Њихове позивнице неће бити "
"послате."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Позовите чланове у тим"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Пошто сте једини члан овог тима, тим ће бити избрисан заједно са пројектима "
"и датотекама."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Да ли сте сигурни да желите да напустите тим %s?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Не можете напустити тим ако нема другог члана за унапређење у власника. "
"Можда бисте желели да избришете тим."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Ви сте власник овог тима. Изаберите другог члана за унапређење у власника "
"пре него што напустите тим."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Унапреди и напусти"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Изаберите члана за унапређње"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Пре него што напустите"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Напустите тим"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Да ли сте сигурни да желите да напустите овај тим?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Напуштање тима"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Преместите"
msgstr[1] "Преместите"
msgstr[2] "Преместите"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Да ли сте сигурни да желите да преместите ову библиотеку?"
msgstr[1] "Да ли сте сигурни да желите да преместите ове библиотеке?"
msgstr[2] "Да ли сте сигурни да желите да преместите ове библиотеке?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Премести библиотеку"
msgstr[1] "Преместите библиотеке"
msgstr[2] "Преместите библиотеке"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Гурните износ"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Пренесите власништво"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Ако пренесете власништво, променићете своју улогу у администратора, чиме "
"ћете изгубити неке дозволе над овим тимом. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Ви сте тренутни власник овог тима. Да ли сте сигурни да желите да %s буде "
"нови власник тима?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Нови власник тима"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Објавите"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Ваша библиотека је празна. Да ли сте сигурни да желите да је објавите?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Објавите празну библиотеку"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Мало гуркање"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Опозови објављивање"
msgstr[1] "Опозови објављивање"
msgstr[2] "Опозови објављивање"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Да ли сте сигурни да желите да опозовете објављивање ове библиотеке?"
msgstr[1] "Да ли сте сигурни да желите да опозовете објављивање ових библиотека?"
msgstr[2] "Да ли сте сигурни да желите да опозовете објављивање ових библиотека?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Опозови објављивање библиотеке"
@@ -2017,25 +1977,25 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Ажурирајте компоненту у дељеној библиотеци"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Позивница је успешно послата"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Веза за позивницу је копирана"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Не можете избрисати свој профил. Поново доделитте улоге својих тимова пре "
"него што наставите."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Налог је успешно сачуван!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Е-пошта за верификацију је послата на %с. Проверите своју е-пошту!"
@@ -2063,78 +2023,78 @@ msgstr "Након што дате име свом тиму, моћи ћете
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Направите тим"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Позовите чланове"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Позовите са улогом:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Хајде да почнемо!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Генерисање правог дизајна кода"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Креирање система дизајна"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Израда прототипа"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Дизајнирање интерфејса корисника и корисничког искуства апликације"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Вајрфрејминг"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "За шта ћете користити Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Реците нам нешто о вама како бисте нам помогли да Penpot ради за вас. Ваши "
"одговори ће нам помоћи да дамо приоритет новим функцијама и упутити вас у "
"правом смеру да почнете."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Помозите нам да вас упознамо"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Који од ових алата највише користите?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Којим послом се бавите?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Реци нам нешто о свом послу"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Где бисте желели да почнете?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Образовање"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Лично"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Посао"
@@ -2184,11 +2144,11 @@ msgstr "Почните да дизајнирате"
msgid "profile.recovery.go-to-login"
msgstr "Идите на пријаву"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Одвоји"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Мешано"
@@ -2196,35 +2156,35 @@ msgstr "Мешано"
msgid "settings.select-this-color"
msgstr "Изаберите ставке користећи овај стил"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Коментари"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Поравнај на дно"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Поравнај по центру водоравно"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Поравнај на лево"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Поравнај на десно"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Поравнај по врху"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Поравнај по центру усправно"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Направите таблу из избора"
@@ -2232,43 +2192,43 @@ msgstr "Направите таблу из избора"
msgid "shortcuts.bold"
msgstr "Укључите подебљано"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Boolean разлика"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boolean изузми"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Boolean пресек"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Boolean унија"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Пошаљи позади"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Пошаљи назад"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Изнесите напред"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Изнесите на предњи део"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Очисти отказивање"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Копирај"
@@ -2276,35 +2236,35 @@ msgstr "Копирај"
msgid "shortcuts.create-new-project"
msgstr "Направи ново"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Исеци"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Умањи"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Избриши"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Избриши чвор"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Одвојите компоненту"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Кривина"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Елипса"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Табла"
@@ -2312,39 +2272,39 @@ msgstr "Табла"
msgid "shortcuts.draw-nodes"
msgstr "Нацртај путању"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Путања"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Правоугаоник"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Текст"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Дуплирај"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Откажи"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Извезите облике"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Увећај да све стане"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Окрени водоравно"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Окрени усправно"
@@ -2368,23 +2328,23 @@ msgstr "Иди на дељене библиотеке"
msgid "shortcuts.go-to-search"
msgstr "Претражи"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Групирај"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Распореди водоравно"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Прикажи / Сакриј интерфејс"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Увећај"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Уметни слику"
@@ -2392,7 +2352,7 @@ msgstr "Уметни слику"
msgid "shortcuts.italic"
msgstr "Укључи курзив"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Придружи чворове"
@@ -2400,39 +2360,39 @@ msgstr "Придружи чворове"
msgid "shortcuts.line-through"
msgstr "Укључи прелазну линију"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Направи угао"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Направи кривину"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Маска"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Спаји чворове"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Премести"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Премести доле брзо"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Премести лево брзо"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Премести десно брзо"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Премести горе брзо"
@@ -2440,321 +2400,321 @@ msgstr "Премести горе брзо"
msgid "shortcuts.move-nodes"
msgstr "Премести чвор"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Премести доле"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Премести лево"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Премести десно"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Премести горе"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Следећа табла"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Нису пронађене пречице"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Подеси непрозирност на 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Подеси непрозирност на 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Подеси непрозирност на 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Подеси непрозирност на 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Подеси непрозирност на 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Подеси непрозирност на 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Подеси непрозирност на 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Подеси непрозирност на 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Подеси непрозирност на 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Подеси непрозирност на 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Бирач боја"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Иди на одељак за коментаре гледалаца"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Иди на управљачку таблу"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Иди на одељак за преглед гледалаца"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Иди на одељак интеракције са гледаоцима"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Иди на одељак интеракције са гледаоцима"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Иди на радни простор"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " или "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Налепи"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Претходна табла"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Поврати"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Врати увећање на почетне вредности"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Размера"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Основе"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Управљачка табла"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Прегледач"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Радни простор"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Изабери све"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Изабери следећи слој"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Изабери родитељски слој"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Изабери претходни слој"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Раздвоји чворове"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Прикажи / Сакриј мрежу пиксела"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Прикажи / Сакриј пречице"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Залепи на чворове"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Залепи на мрежу пиксела"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Започни уређивање"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Поравнање"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Уреди"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Опште"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Главни мени"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Измените слојеве"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Навигација"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Навигација"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Навигација"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Панели"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Путање"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Облици"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Текстови"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Алатке"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Увећање"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Увећање"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Подеси сличице"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Пречице на тастатури"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Укључи динамичко поравнање"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Укључи средства"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Укључи палету боја"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Укључи режим фокуса"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Режим целог екрана"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Прикажи / Сакриј вођице"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Укључи историју"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Укључи слојеве"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Додај / уклони флексибилни распоред"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Додај/уклони мрежни распоред"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Закључај / Откључај"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Закључај пропорције"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Прикажи / Сакриј лењире"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Залепи за вођице"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Залепи на линије за поравнања"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Укљичи палету текста"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Промени тему"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Прикажи / Сакриј"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Укљичи стил увећања"
@@ -2762,67 +2722,67 @@ msgstr "Укљичи стил увећања"
msgid "shortcuts.underline"
msgstr "Укљичи подвачење"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Опозови"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Разгрупиши"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Демаскирај"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Распореди усправно"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Смањи увећање"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Увећај увећање"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Увећај на изабрано"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Добављачи фонтова - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Фонтови - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Пројекти - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Претражи - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Дељене библиотеке - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Слобода дизајнирања за тимове"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Оставите повратне информације - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Подешавања - Penpot"
@@ -2830,27 +2790,27 @@ msgstr "Подешавања - Penpot"
msgid "title.settings.password"
msgstr "Лозинка - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Налог - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Позивнице - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Чланови - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Подешавања - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Веб-куке - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Режим прегледа - Penpot"
@@ -2858,99 +2818,99 @@ msgstr "%s - Режим прегледа - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Ниједна табла није пронађена на овој страници."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Табла није пронађена."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Коментари (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Не приказуј интеракције"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Цели екран"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Преглед (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Интеракције"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Интеракције (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Копирај везу"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Прикажи интеракције"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Прикажи интеракције на клик"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Мапа сајта"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Последња испорука је била успешна."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Поравнај на водоравну средину (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Распореди водоравни размак (%с)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Поравнај на лево (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Поравнај на десно (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Поравнај по дну (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Поравнај на усправну средину (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Распореди усправни размак (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Поравнај по врху (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Сва средства"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Боје"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Компоненте"
@@ -2958,15 +2918,15 @@ msgstr "Компоненте"
msgid "workspace.assets.create-group"
msgstr "Направите групу"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "Ваше ставке ће бити аутоматски именоване као \"име групе / име ставке“"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Избирши"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Дуплирај"
@@ -2974,27 +2934,27 @@ msgstr "Дуплирај"
msgid "workspace.assets.duplicate-main"
msgstr "Дуплирај главно"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Уреди"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Филтер"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Група"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Име групе"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "локална библиотека"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Нема пронађених средстава"
@@ -3002,7 +2962,7 @@ msgstr "Нема пронађених средстава"
msgid "workspace.assets.open-library"
msgstr "Отворите датотеку библиотеке"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Преименуј"
@@ -3010,11 +2970,11 @@ msgstr "Преименуј"
msgid "workspace.assets.rename-group"
msgstr "Преименуј гурпу"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Претражите средства"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Дељена библиотека"
@@ -3025,39 +2985,39 @@ msgstr[0] "компонента"
msgstr[1] "%s компоненте"
msgstr[2] "%s компоненти"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Сортирај"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Тиупографије"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Величина"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Стил фонта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Идите на датотеку библиотеке стилова да бисте је уредили"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Размак између слова"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Висина линије"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Трансформација текста"
@@ -3065,67 +3025,67 @@ msgstr "Трансформација текста"
msgid "workspace.assets.ungroup"
msgstr "Разгрупиши"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Направи област"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Направи таблу"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Споји ћелије"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Додај 1 колону десно"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Додај 1 колону лево"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Избирши колону"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Избриши колоне и облике"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Дуплирај колону"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Додај 1 ред испод"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Додај 1 ред изнад"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Избриши ред"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Избриши редове и облике"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Дуплирај ред"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Режим фокуса"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Искључи фокус"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Укљичи фокус"
@@ -3137,187 +3097,187 @@ msgstr "Линеарни градијент"
msgid "workspace.gradients.radial"
msgstr "Радијални градијент"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Онемогућите динамичко поравнање"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Онемогући пропорционалну размеру"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Искључи лепљење на вођице"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Искључи лепљење на пиксел"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Искључи лепљење на линије за поравнања"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Омогућите динамичко поравнање"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Омогући пропорционалну скалу"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Заклепи на вођице"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Омогући лепљење на пиксел"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Залепи на линије за поравнања"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Сакриј имена табли"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Сакриј вођице"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Сакриј палету боја"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Сакриј мрежу пиксела"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Сакриј лењире"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Сакриј палету фонтова"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Уреди"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Датотека"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Помоћ и информације"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Поставке"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Поглед"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Поврати"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Изабери све"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Прикажи имена табли"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Прикажи вођице"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Прикажи палету боја"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Прикажи мрежу пиксела"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Прикажи лењире"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Прикажи палету фонтова"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Пребаците се на тамну тему"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Пребаците се на светлу тему"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Опозови"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Почни поново"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Грешка при чувању"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Сачувано"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Чување"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Режим прегледа (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Увећај"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Попуњавање - Размера за попуњавање"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Прилагоди - Смањи да се уклопи"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Увећај да се све уклопи"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Цели екран"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Увећај на изабрано"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Уреди мрежу"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Изађи"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Прикажи опције за 4-страни padding"
@@ -3333,23 +3293,23 @@ msgstr "Готово"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Пронађи"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Пронађи распоред мреже"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "У вашој библиотеци још увек нема стилова боја"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "У вашој библиотеци још нема стилова типографије"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Библиотека датотека"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Недавне боје"
@@ -3361,59 +3321,59 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Сачувајте стил боја"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Библиотека датотека"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "БИБЛИОТЕКЕ У ОВОЈ ДАТОТЕЦИ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "БИБЛИОТЕКЕ"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "АЖУРИРАЊА БИБЛИОТЕКЕ"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Учитавање…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Нема дељених библиотека које треба ажурирати"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Нема резултата за %s"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Претражите заједничке библиотеке"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "ДЕЉЕНЕ БИБЛИОТЕКЕ"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Повежите библиотеку"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Прекините везу са библиотеком"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Ажурирај"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "види све промене"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "АЖУРИРАЊА"
@@ -3433,39 +3393,39 @@ msgstr "Замућење избора"
msgid "workspace.options.canvas-background"
msgstr "Позадина платна"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Ограничите садржај"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Компонента"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Напомена"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Копирај"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Направи напомену"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Уреди напомену"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Главно"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Замени компоненту"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "У овој библиотеци још увек нема средстава"
@@ -3509,11 +3469,11 @@ msgstr "Врх"
msgid "workspace.options.constraints.topbottom"
msgstr "Врх и Дно"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Дизајн"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Извоз"
@@ -3521,30 +3481,30 @@ msgstr "Извоз"
msgid "workspace.options.export-multiple"
msgstr "Избор извоза"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "Извоз 1 елемента"
msgstr[1] "Извоз %s елемента"
msgstr[2] "Извоз %s елементата"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Суфикс"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Извоз је завршен"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Извоз…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Извоз није успео"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Извоз је неочекивано спор"
@@ -3572,67 +3532,67 @@ msgstr "Проток почиње"
msgid "workspace.options.grid.auto"
msgstr "Ауто"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "колоне"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Боја"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Гутер (Gutter)"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Висина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Маргина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Постави као подразумевано"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Дно"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Средина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Лево"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Десно"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Прошири"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Врх"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Користи подразумевао"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Редови"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Квадрат"
@@ -3644,15 +3604,15 @@ msgstr "Попуни за групу"
msgid "workspace.options.group-stroke"
msgstr "Контура групе"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Вођице"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Висина"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Преглед"
@@ -3864,99 +3824,99 @@ msgstr "Током притиска"
msgid "workspace.options.interactions"
msgstr "Интеракције"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Боја"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Изгоревање боје"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Избегавање боја"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Потамни"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Разлика"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Искључење"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Тешко светло"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Нијанса"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Посветли"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Осветљење"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Помножи"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Нормално"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Оквир"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Засићеност"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Екран"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Меко светло"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Макс.Висина"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Макс.Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Мин.Висина"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Мин.Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Више боја"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Више боја библиотеке"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Непрозирност"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Прототип"
@@ -3980,19 +3940,19 @@ msgstr "Горе лево"
msgid "workspace.options.radius-top-right"
msgstr "Горе десно"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Недавно"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Покушајте поново"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Ротација"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Претражите фонт"
@@ -4000,7 +3960,7 @@ msgstr "Претражите фонт"
msgid "workspace.options.select-a-shape"
msgstr "Изаберите облик, таблу или групу да бисте превукли везу на другу таблу."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Изабране боје"
@@ -4056,47 +4016,47 @@ msgstr "Избор сенки"
msgid "workspace.options.show-fill-on-export"
msgstr "Прикажи у извозу"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Прикажи у режиму приказа"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Величина"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Унапред подешене величине"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Круг"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Дијамант"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Стрелица"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Ништа"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Забољено"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Квадратно"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Правоугаоник"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Троугао"
@@ -4104,35 +4064,35 @@ msgstr "Троугао"
msgid "workspace.options.stroke-color"
msgstr "Боја контуре"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Ширина контуре"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Средина"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Испрекидана"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Тачкаста"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Унутрашња"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Мешана"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Спољашња"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Чврста"
@@ -4168,11 +4128,11 @@ msgstr "Ауто ширина"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Фиксно"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Размак између слова"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Висина линије"
@@ -4218,95 +4178,95 @@ msgstr ""
"Користите дугме за репродукцију у заглављу да бисте покренули приказ "
"прототипа."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X оса"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y оса"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Цртај чворове (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Придружи чворове (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "До угла (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "До кривине (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Споји чворове (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Помери чворове (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Раздвоји чворове (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Залепи чворове (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Отвори"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Још увек нема инсталираних додатака"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Додатак не постоји или URL није исправан."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Инсталирај"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Инсталирани додаци"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Управљач додатака"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Додаци"
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Листа додатака"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Напишите URL додатка"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Додаци"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Додајте флексибилни распоред"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Додајте распоред мреже"
@@ -4318,7 +4278,7 @@ msgstr "Пошаљи позади"
msgid "workspace.shape.menu.backward"
msgstr "Пошаљи назад"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Копирај"
@@ -4326,27 +4286,27 @@ msgstr "Копирај"
msgid "workspace.shape.menu.create-annotation"
msgstr "Направи напомену"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Избор на табли"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Направи компоненту"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Направи више компоненти"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Исеци"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Избриши"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Избриши почетак протока"
@@ -4358,7 +4318,7 @@ msgstr "Раздвоји инстанцу"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Раздвоји инстанце"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Разлика"
@@ -4366,15 +4326,15 @@ msgstr "Разлика"
msgid "workspace.shape.menu.duplicate"
msgstr "Дуплицирај"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Уреди"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Изузми"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Изравнај"
@@ -4386,7 +4346,7 @@ msgstr "Окрени водоравно"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Окрени усправно"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Почетак протока"
@@ -4398,43 +4358,43 @@ msgstr "Изнесите напред"
msgid "workspace.shape.menu.front"
msgstr "Изнесите напред"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Групиши"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Сакриј"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Прикажи / Сакриј интерфејс"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Раскрсница"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Закључај"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Маскирај"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Залепи"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Путања"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Уклоните флексибилни распоред"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Уклоните распоред мреже"
@@ -4450,11 +4410,11 @@ msgstr "Врати главну компоненту"
msgid "workspace.shape.menu.select-layer"
msgstr "Изабери слој"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Прикажи"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Прикажи на панелу са средствима"
@@ -4470,19 +4430,19 @@ msgstr "Уклони сличицу"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Постави као сличицу"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Разгрупиши"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Унија"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Откључај"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Демаскирај"
@@ -4498,47 +4458,47 @@ msgstr "Скупи бочну траку"
msgid "workspace.sidebar.expand"
msgstr "Прошири бочну траку"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Историја"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Слојеви"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Компоненте"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Табле"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Групе"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Слике"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Маске"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Претражите слојеве"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Облици"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Увезена SVG својства"
@@ -4546,7 +4506,7 @@ msgstr "Увезена SVG својства"
msgid "workspace.sidebar.sitemap"
msgstr "Странице"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Мапа сајта"
@@ -4554,51 +4514,51 @@ msgstr "Мапа сајта"
msgid "workspace.toolbar.assets"
msgstr "Средства"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Палета боја (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Коментари (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Контура (%s0"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Елипса (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Табла (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Слика (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Премести (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Путања (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Правоугаоник (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Текст (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Типографије (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Укључите траку са алаткама"
@@ -4611,7 +4571,7 @@ msgstr "Готово"
msgid "workspace.top-bar.view-only"
msgstr "**Прегледање кода** (Само за преглед)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "За сада нема промена у историји"
@@ -4751,18 +4711,18 @@ msgstr "типографско средство"
msgid "workspace.undo.entry.unknown"
msgstr "Операција над %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Одбаци"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Више информација"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Постоје ажурирања у дељеним библиотекама"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Ажурирај"
diff --git a/frontend/translations/sv.po b/frontend/translations/sv.po
index c749f67233..494713c3e2 100644
--- a/frontend/translations/sv.po
+++ b/frontend/translations/sv.po
@@ -1,17 +1,17 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
+"PO-Revision-Date: 2026-11-09 10:06+0000\n"
"Last-Translator: AntonPalmqvist \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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Har du redan ett konto?"
@@ -33,7 +33,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Glömt lösenordet?"
@@ -41,35 +41,35 @@ msgstr "Glömt lösenordet?"
msgid "auth.fullname"
msgstr "Fullständigt namn"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Logga in på mitt konto"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Logga in här."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -77,7 +77,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Skriv ett nytt lösenord"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Du är nu med i %s"
@@ -95,7 +95,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "En återställningslänk har skickats till din inkorg."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Tillagd i teamet"
@@ -127,7 +127,7 @@ msgstr "Glömt lösenordet?"
msgid "auth.recovery-submit"
msgstr "Ändra lösenordet"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Inget konto?"
@@ -139,7 +139,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Skapa ett konto"
@@ -152,7 +152,7 @@ msgstr "Skapa ett konto"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Användarvillkor"
@@ -174,93 +174,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Inga personer hittades för @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Publicera"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Alla Penpot-användare"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Är du säker på att du vill ta bort den här länken? Om du gör det, kommer "
"den inte längre att vara tillgänglig för någon"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(nuvarande)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Ta bort länken"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Hämta länk"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Länken kopierad"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Hantera behörigheter"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 sida delad"
msgstr[1] "%s sidor delade"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Kan kommentera"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kan inspektera kod"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Alla med länk kommer att ha tillgång"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Sidor delade"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Delningslänk kommer visas här"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Endast teammedlemmar"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Dela prototyper"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Markera allt"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Avpublicera"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Teamhantering"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot är avsett för team. Bjud in medlemmar att arbeta tillsammans på "
"projekt och filer"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Samarbete!"
@@ -276,33 +276,33 @@ msgstr "Återställ fil"
msgid "dashboard.add-file"
msgstr "Lägg till fil"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Lägg till som delat bibliotek"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Ändra e-post"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "FLYTTA TEAM"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Flytta till:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Projekt och filer kommer att förbli tillgängliga för teammedlemmarna. "
"Teamet kommer att hämta konfigurationen från den nya organisationen."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Välj en organisation"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Ändra teamets organisation"
@@ -360,23 +360,23 @@ msgstr "Visa fullständig ändringslogg"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Visa versionsinformation"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Töm papperskorgen"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopia)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Skapa org"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Skapa nytt team"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Nåla fast denna version"
@@ -384,7 +384,7 @@ msgstr "Nåla fast denna version"
msgid "dashboard.default-team-name"
msgstr "Ditt Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Är du säker på att du vill radera alla dina borttagna projekt och filer "
@@ -396,42 +396,42 @@ msgstr ""
"Är du säker på att du vill ta bort %s permanent? Detta är en åtgärd som "
"inte kan ångras."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s filer har raderats."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Radera permanent"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Radera projekt"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Är du säker på att du vill radera projekt %s permanent? Du kommer att "
"radera det permanent och alla filer i det. Detta är en åtgärd som inte kan "
"ångras."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s har raderats."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Radera team"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Din papperskorg är tom. Borttagna filer och projekt visas här."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "%s kommer att raderas"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Ladda ner Penpot-fil (.penpot)"
@@ -443,19 +443,19 @@ msgstr "Duplicera"
msgid "dashboard.duplicate-multi"
msgstr "Duplicera %s filer"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
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:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Inga utkast än."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
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/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Inga filer än."
@@ -503,23 +503,23 @@ msgstr "Importera en .penpot-fil"
msgid "dashboard.empty-project.start"
msgstr "Börja bygga fantastiska saker"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Det uppstod ett fel när filerna skulle raderas."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Det uppstod ett fel när projekt %s skulle raderas."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Det uppstod ett fel när filen %s skulle återställas."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Det uppstod ett fel när filerna skulle återställas."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Det uppstod ett fel när projekt %s och dess filer skulle återställas."
@@ -527,37 +527,37 @@ msgstr "Det uppstod ett fel när projekt %s och dess filer skulle återställas.
msgid "dashboard.export-binary-multi"
msgstr "Ladda ner % Penpot-filer (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Exportera tavla som PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Exportera som PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s av %s objekt markerade"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Exportera"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Du kan lägga till exportinställningar till objekt från designegenskaperna "
"(vid botten av höger sidnavigation)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Info hur man ställer in export i Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Det finns inga objekt med exportinställningar."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Exportera markerade"
@@ -581,33 +581,33 @@ msgstr "Rutnätsvy"
msgid "dashboard.files-layout.list"
msgstr "Listvy"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Typsnittet saknas"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Avfärda alla"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Egna typsnitt som du laddar upp visas här."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Inga anpassade typsnitt än."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "När en projektmedlem laddar upp ett anpassat typsnitt visas det här."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "1 typsnitt adderas"
msgstr[1] "%s typsnitt adderas"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -617,7 +617,7 @@ msgstr ""
"en **enkel typsnittsfamilj**. Du kan ladda upp typsnitt med följande "
"format: **TTF, OTF och WOFF** (endast ett format behövs)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -626,11 +626,11 @@ msgstr ""
"användarvillkor](%s). Du kanske också vill läsa om [licensiering av "
"typsnitt](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Ladda upp allt"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -641,23 +641,23 @@ msgstr ""
"använder [Transfonter](https://transfonter.org/) för att generera "
"webbtypsnitt och åtgärda fel. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Gå till administratörskonsolen"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Senast ändrad %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Importera Penpot-filer"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oops! Vi kunde inte importera denna fil"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 bibliotek länkades automatiskt via namn."
@@ -667,121 +667,125 @@ msgstr[1] "%s bibliotek länkades automatiskt via namn."
msgid "dashboard.import.bad-url"
msgstr "Importen misslyckades. Mall URL:en är inkorrekt"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Bekräfta bibliotekslänkar"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Anslut valda bibliotek"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Filnamn"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Vi kunde inte verifiera den här filen."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Den här filen verkar vara skadad."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Alla filer har inte importerats"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Följande filer har fel:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Filer med fel laddas inte upp."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Något gick fel när den här filen bearbetades."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Vissa filer innehöll ogiltiga objekt som har tagits bort."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Nästa fil"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Du har inte behörighet att importera till det här teamet"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Bearbetningsfärger"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Bearbetning av komponenter"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Bearbetning av media"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Bearbetar sida: %"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Bearbetning av typografier"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Laddar upp data till server (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Laddar upp fil: %"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Vissa bibliotek kunde inte länkas automatiskt. Välj rätt bibliotek för "
"varje:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Granska bibliotekslänkarna innan du bekräftar:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "anslut till"
+
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "originalbibliotek"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "Länkad"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "manuellt länkad"
+
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Ny"
+
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Inget bibliotek valt"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Original"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Du kommer att radera inbjudningarna till:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Du kommer att skicka om inbjudningarna till:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Ta bort inbjudningar"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Skicka inbjudningar igen"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Du har inte behörighet att bjuda in personer i det här teamet eller att "
"redigera eller ta bort inbjudningar."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Bjud in personer"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "Du har inte behörighet att bjuda in personer till det här teamet"
@@ -793,27 +797,27 @@ msgstr "Lämna org"
msgid "dashboard.leave-organization.toast"
msgstr "Du är inte längre med i organisationen %s."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Lämna teamet"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Bibliotek & mallar"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "Här har du några bibliotek och mallar som du kan lägga till i ditt projekt"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Problem när mallen importerades. Mallen importerades inte."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Bibliotek"
@@ -821,7 +825,7 @@ msgstr "Bibliotek"
msgid "dashboard.loading-files"
msgstr "laddar dina filer …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "laddar dina typsnitt …"
@@ -841,61 +845,65 @@ msgstr "Flytta %s filer till"
msgid "dashboard.move-to-other-team"
msgstr "Flytta till andra team"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Ny fil"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Ny fil"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Nytt projekt"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Nytt projekt"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Inga träffar hittades för ”%s”"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "Du har inte behörighet att lägga till team i någon av dina organisationer."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Inga organisationer än."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Du har inte tillåtelse att skapa team inom organisationen %s. Om du behöver "
"mer information, kontakta organisationens ägare."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Du har inte tillåtelse att ta bort team som ingår i organisation %s. Om du "
"behöver mer information, kontakta organisationens ägare."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Du har inte tillåtelse att flytta team som ingår i organisation %s. Om du "
"behöver mer information, kontakta organisationens ägare."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Fastklistrade projekt visas här"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Notifieringar"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Din e-postadress har uppdaterats"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Din e-postadress har verifierats"
@@ -907,11 +915,11 @@ msgstr "Notifieringsinställningar uppdaterade"
msgid "dashboard.notifications.password-saved"
msgstr "Lösenordet sparat!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Visa notifieringar"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s medlemmar"
@@ -919,23 +927,23 @@ msgstr "%s medlemmar"
msgid "dashboard.open-in-new-tab"
msgstr "Öppna filen i en ny flik"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Alternativ"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Sortera efter roll"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Sortera efter status"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "Organisationen %s har tagits bort."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Andra team"
@@ -959,11 +967,11 @@ msgstr "Du är nu ägare till detta team."
msgid "dashboard.permissions-change.viewer"
msgstr "Du är nu en läsare i det här teamet."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Egna projekt"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Klistra fast/Lossa"
@@ -979,27 +987,27 @@ msgstr "Kan inte tolka plugin-manifestet"
msgid "dashboard.plugins.try-plugin"
msgstr "Testa plugin: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Raderar filer…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Återställer filer…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Raderingen är oväntat långsam"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Återställningen är oväntat långsam"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projekt"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Vill du ta bort ditt konto?"
@@ -1007,114 +1015,114 @@ msgstr "Vill du ta bort ditt konto?"
msgid "dashboard.removed-from-team"
msgstr "Du är inte längre en del av teamet ”%s”."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "Du kommer att återställa alla dina projekt och filer. Det kan ta ett tag."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Återställ alla projekt och filer"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Återställ allt"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s filer har återställts."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Återställ projekt"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Du kommer att återställa projekt %s och alla filer som finns i det."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Återställ projekt"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s har återställts."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Spara inställningar"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Sök…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Söker efter \"%s\"…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organisationer"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Team"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "LÄGG TILL I ORGANISATION"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Välj en organisation:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\" tillåter endast organisationsmedlemmar att gå med i dess team. Alla "
"väntande inbjudningar till personer utanför organisationen kommer att "
"återkallas."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Väntande inbjudningar till externa användare kommer att avbrytas."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Här hittar du alla dina organisationer där du har rätt att skapa eller "
"lägga till team."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Här hittar du de organisationer du ingår där du har behörighet att skapa "
"eller lägga till team."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Välj en organisation"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Lägg till team i en organisation"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Välj språk för användargränssnittet"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Välj tema"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Mörk (standard)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Ljus"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Systemtema"
@@ -1178,11 +1186,11 @@ msgstr "Uppdatera inställningar"
msgid "dashboard.settings.notifications.title"
msgstr "Notifieringar"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Visa alla filer"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Versionshistorik"
@@ -1206,7 +1214,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Din fil har flyttats"
@@ -1218,184 +1226,184 @@ msgstr "Dina filer har flyttats"
msgid "dashboard.success-move-project"
msgstr "Ditt projekt har flyttats"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s tillhör nu %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Team info"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Teammedlemmar"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s tillhör inte längre %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Teamorganisation"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Lägg till i en organisation"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr ""
"Du har inte behörighet att lägga till det här teamet i någon av dina "
"organisationer."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Ändra teamorganisation"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Endast personer inom din organisation kan bjudas in."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Detta team är inte en del av någon organisation"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Ta bort teamet från organisationen"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Teamprojekt"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Lägg till i ditt projekt"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Tema för användargränssnitt"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Sökresultat"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Raderade filer kommer att finnas kvar i papperskorgen i"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s dagar. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Efter det kommer de att raderas permanent."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Om du ångrar dig kan du återställa dem eller ta bort dem permanent från "
"varje fils meny."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Skriv för att söka i resultatet"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Avpublicera biblioteket"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Uppdatera inställningarna"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Du är inte längre medlem i organisation %s"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"WebGL-rendering kan förbättra prestandan, men den är i beta och kan vara "
"mindre stabil. Visuella skillnader kan förekomma mellan arbetsytan, "
"exporterna (SVG/PDF) och visningsläget."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Inaktiverad"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Aktiverad"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Ge feedback"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Status"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL-rendering"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Är aktiv"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "När denna hook triggas kommer händelsedetaljer att sändas"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Du kan bara ta bort eller ändra webhooks som du har skapat."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Innehållstyp"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Skapa webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook skapades."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Webhooks är ett enkelt sätt att låta andra webbplatser och appar bli "
"meddelade när vissa händelser inträffar i Penpot. Vi skickar en "
"POST-begäran till var och en av de webbadresser du anger."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Tryck på knappen \"Lägg till webhook\" för att lägga till en."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Det finns inga webhooks."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ditt konto"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-post"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ditt namn"
@@ -1411,11 +1419,11 @@ msgstr "Observera"
msgid "ds.component-subtitle"
msgstr "Komponenter att uppdatera:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Tillåt"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Avbryt"
@@ -1435,7 +1443,7 @@ msgstr "Inga tillämpliga tokens i aktiva uppsättningar eller teman."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Inga träffar hittades."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Öppna token-lista"
@@ -1445,6 +1453,12 @@ msgstr ""
"Token {%s} finns inte i någon aktiv uppsättning eller har ett ogiltigt "
"värde."
+#: src/app/main/ui/auth/login.cljs:113
+msgid "errors.account-locked"
+msgstr ""
+"För många misslyckade försök. Ditt konto har låsts i %s minuter. Vänligen "
+"försök igen senare."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Autentiseringsleverantör inte tillåten för denna profil"
@@ -1453,15 +1467,15 @@ msgstr "Autentiseringsleverantör inte tillåten för denna profil"
msgid "errors.auth-provider-not-configured"
msgstr "Autentiseringsleverantör inte konfigurerad."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Du är inte autentiserad eller har sessionen löpt ut."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Typsnittet % kunde inte laddas"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Typsnittet %s kunde inte laddas"
@@ -1473,57 +1487,61 @@ msgstr "Kan inte ladda upp mediafilen."
msgid "errors.character-limit-exceeded"
msgstr "Teckengränsen har överskridits"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "Kan inte lägga till bibliotek: detta skulle skapa ett cirkulärt beroende"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"Urklipps-API:et är inte tillgängligt. Hosta Penpot via HTTPS för att "
"aktivera åtkomst till urklipp"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Din webbläsare kan inte utföra denna åtgärd"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Åtkomst till urklipp nekad. Vänligen ge urklippsbehörighet i din webbläsare "
"för att klistra in innehåll"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Det uppstod ett fel med kommentaren"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:586
+msgid "errors.connection-error"
+msgstr "Kan inte nå servern. Kontrollera din anslutning och försök igen."
+
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Tyvärr! Det här är en gammal fil som använder en föråldrad typ av "
"Penpot-tillgångar och du kan inte öppna den."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "så att vi kan hjälpa dig."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Även om Penpot inte längre stödjer denna typ av tillgångar, kan du"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "kontakta oss"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Kan inte släppa en överordnad uppsättning på en egen underordnad sökväg."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-postadressen används redan"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-postadressen är redan validerad."
@@ -1535,31 +1553,31 @@ msgstr "Du kan inte använda e-postadressen som lösenord"
msgid "errors.email-does-not-match-invitation"
msgstr "E-post matchar inte inbjudan."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Domänen är inte tillåten"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "E-postmeddelandet «%s» har genererat många returmeddelanden."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr ""
"E-postmeddelandet ”%s” har rapporterats som skräppost eller permanenta "
"returmeddelanden."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Det verkar som om du öppnar en fil som har funktionen ”%s” aktiverad, men "
"den aktuella Penpot-versionen stöder den inte eller har den inaktiverad."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Funktionen \"%s\" stöds inte."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Får innehålla högst %s tecken."
@@ -1567,7 +1585,7 @@ msgstr "Får innehålla högst %s tecken."
msgid "errors.field-min-length"
msgstr "Måste innehålla minst 1 tecken."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Tomt fält"
@@ -1575,24 +1593,24 @@ msgstr "Tomt fält"
msgid "errors.field-not-all-whitespace"
msgstr "Namnet måste innehålla något annat tecken än mellanslag."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Det verkar som om det inte finns någon överensstämmelse mellan de "
"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/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Teckenfamiljens namn får bara innehålla bokstäver, siffror, mellanslag, "
"bindestreck, understreck och punkter."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Något fel har inträffat."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Något fel har hänt med webbarbetaren."
@@ -1608,7 +1626,7 @@ msgstr "Ogiltig data"
msgid "errors.invalid-email"
msgstr "Ange en giltig e-postadress"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Bekräftelsemail måste matcha"
@@ -1642,11 +1660,11 @@ msgstr "Denna inbjudan kan vara avbruten eller har upphört att gälla."
msgid "errors.ldap-disabled"
msgstr "LDAP-autentisering är inaktiverad."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Du har nått \"%s\" kvoten. Kontakta supporten."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Det maximala (%s) antalet e-postmeddelanden som kan bjudas in i en enda "
@@ -1664,21 +1682,21 @@ msgstr "Det verkar som om innehållet i bilden inte stämmer överens med filtil
msgid "errors.media-type-not-allowed"
msgstr "Det här är inte en giltig bild."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Den profil du bjuder in har e-postmeddelanden som är avstängda "
"(skräppostrapporter eller höga studsar)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Migrering pågår"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Endast skaparen av versionen kan låsa den"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Endast skaparen av versionen kan låsa upp den"
@@ -1690,7 +1708,7 @@ msgstr "Det uppstod ett fel när du skulle lämna organisationen. Försök igen.
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Organisationsägaren kan inte lämna organisationen."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Den organisationen finns inte"
@@ -1702,7 +1720,7 @@ msgstr "Lösenordet för bekräftelse måste matcha"
msgid "errors.password-too-short"
msgstr "Lösenordet måste innehålla minst 8 tecken"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Ogiltiga data i urklipp"
@@ -1710,7 +1728,7 @@ msgstr "Ogiltiga data i urklipp"
msgid "errors.profile-blocked"
msgstr "Profilen är blockerad"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Din profil har e-post avstängd (spamrapporter eller många returmeddelanden)."
@@ -1718,28 +1736,32 @@ msgstr "Din profil har e-post avstängd (spamrapporter eller många returmeddela
msgid "errors.registration-disabled"
msgstr "Registreringen är för närvarande inaktiverad."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"Dina senaste ändringar har inte bekräftats som sparade. Sparandet kanske "
"inte återupptas automatiskt. Stäng inte och uppdatera inte fliken; du kan "
"förlora ändringarna. Kontakta supporten för hjälp."
-#: src/app/main/errors.cljs:764
+#: src/app/main/data/persistence.cljs:447
+msgid "errors.save-retrying"
+msgstr "Anslutningen bröts. Försöker spara dina ändringar igen."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG är ogiltig eller missformad"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Upptäckt av inkompatibel funktion '%s'"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Otillräckligt med medlemmar för att lämna teamet, du vill förmodligen ta "
"bort det."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Medlemmen du försöker tilldela finns inte."
@@ -1747,7 +1769,7 @@ msgstr "Medlemmen du försöker tilldela finns inte."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Endast ägaren till ett team kan ta bort det."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Ägare kan inte lämna teamet, du måste tilldela ägarrollen till någon annan."
@@ -1759,13 +1781,13 @@ msgstr "Teamnamnet får inte innehålla något av följande tecken: '.', ':' ell
msgid "errors.token-set-already-exists"
msgstr "En uppsättning med samma namn finns redan"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr ""
"Kan inte slutföra släppet, en uppsättning med samma namn finns redan vid "
"sökvägen."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Tema-alternativ med samma namn finns"
@@ -1777,13 +1799,13 @@ msgstr "Temat refererar till några icke-existerande uppsättningar: %s"
msgid "errors.tokens.circular-reference"
msgstr "Token har en cirkulär referens"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"Radavstånd beror på Teckenstorlek. Lägg till en Teckenstorlek för att få "
"det uträknade värdet."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Detta fält får inte vara tomt"
@@ -1803,11 +1825,11 @@ msgstr "Importeringsfel:"
msgid "errors.tokens.invalid-color"
msgstr "Ogiltigt färgvärde: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Ogiltigt token-värde: du kan bara referera till en typsnitts-token"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Ogiltigt värde för typsnittsvikt: använd numeriska värden (100–950) eller "
@@ -1828,37 +1850,37 @@ msgstr ""
"Token-namn ska endast innehålla bokstäver och siffror separerade med . "
"tecken och får inte börja med ett $-tecken."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Ogiltig skuggningstyp: endast 'innerShadow' eller 'dropShadow' accepteras"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Ogiltigt token-värde: endast ingen, versaler, gemener eller versalisera "
"accepteras"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "Ogiltigt token-värde: endast ingen, understruken och genomstruken accepteras"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Ogiltigt värde: måste referera till en sammansatt skuggnings-token."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Ogiltigt värde: måste referera till en sammansatt typografi-token."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Ogiltigt token-värde: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Saknade token-referenser: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr ""
"Gruppnamnet %s står i konflikt med en token med samma namn i en annan aktiv "
@@ -1872,33 +1894,33 @@ msgstr "Inga tokens, uppsättningar eller teman hittades i den här filen."
msgid "errors.tokens.number-too-large"
msgstr "Ogiltigt token-värde. Det uträknade värdet är för stort: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr ""
"Opaciteten måste vara mellan 0 och 100 % eller 0 och 1 (t.ex. 50 % eller "
"0,5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token har självreferens"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Skuggningsoskärpan måste vara större än eller lika med 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "Skuggningsspridning måste vara större än eller lika med 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Streckbredden måste vara större än eller lika med 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Ogiltigt värde: % är inte tillåtet."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Ogiltigt värde: Enheter är ej tillåtna."
@@ -1906,19 +1928,19 @@ msgstr "Ogiltigt värde: Enheter är ej tillåtna."
msgid "errors.unexpected-error"
msgstr "Ett oväntat fel inträffade."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Okänd token"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Denna version är redan låst"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Denna version är låst och kan inte raderas av andra"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Filen har ett inkompatibelt versionsnummer"
@@ -1951,39 +1973,39 @@ msgstr "Minst en versal"
msgid "errors.weak-password.too-short"
msgstr "Minst 8 tecken"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL har slutat fungera. Vänligen ladda om sidan för att återställa den"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Hoppsan! Kontexten för arbetsytan försvann"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Anslutningsfel, URL:en är inte tillgänglig"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "Valideringsfel av URL:en."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Den sista leveransen lyckades inte."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Fel på SSL validering."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Timeout"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Oväntat fel vid validering"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Oväntad status %"
@@ -2003,17 +2025,17 @@ msgstr "Beskrivning"
msgid "feedback.description-placeholder"
msgstr "Vänligen beskriv orsaken till din feedback"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Vi är glada över att ha dig här. Om du behöver hjälp, vänligen sök innan du "
"postar."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot community"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Andra sätt att kontakta oss"
@@ -2038,11 +2060,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Kontakta oss"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Här kan du få hjälp med dina tekniska frågor."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X supportkonto"
@@ -2062,45 +2084,41 @@ msgstr "Idé"
msgid "feedback.type.issue"
msgstr "Problem"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Ladda ner filer"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Länkade bibliotekstillgångar kommer inte att inkluderas i filen."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Behandla tillgångar som grundläggande objekt"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Filer med länkade bibliotek inkluderas i exporten, och deras kopplingar "
"bevaras. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Exportera fil + bibliotek"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"Vid import kommer du att kunna koppla samman befintliga bibliotek med "
"matchande namn."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "Länka matchande bibliotek vid import"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"Din fil kommer att exporteras med bibliotekstillgången sammanfogad med det "
"lokala biblioteket."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Bädda in bibliotekstillgångar i filen"
@@ -2108,7 +2126,7 @@ msgstr "Bädda in bibliotekstillgångar i filen"
msgid "generic.error"
msgstr "Ett fel har inträffat"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Tillämpa"
@@ -2160,7 +2178,7 @@ msgstr "Förhandsgranskning av formens ifyllnadsbild"
msgid "inspect.attributes.shadow"
msgstr "Skugga"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Storlek och position"
@@ -2168,43 +2186,31 @@ msgstr "Storlek och position"
msgid "inspect.attributes.stroke"
msgstr "Fet"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Center"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Inuti"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Utanför"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Typografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Typsnittsfamilj"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Teckenstorlek"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Typsnittsstil"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Teckenavstånd"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Radavstånd"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Blandade teckenfamiljer"
@@ -2212,15 +2218,19 @@ msgstr "Blandade teckenfamiljer"
msgid "inspect.attributes.typography.text-decoration.none"
msgstr "Ingen"
+#: src/app/main/ui/inspect/attributes/text.cljs:117
+msgid "inspect.attributes.typography.text-decoration.strikethrough"
+msgstr "Genomstrykning"
+
#: src/app/main/ui/inspect/attributes/text.cljs:115
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Understrykning"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Versalbörjan"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Gemener"
@@ -2232,7 +2242,7 @@ msgstr "Ingen"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Oinställt"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Versaler"
@@ -2278,6 +2288,10 @@ msgstr "Kopiera"
msgid "inspect.subtitle.main"
msgstr "Huvudkomponent"
+#: src/app/main/ui/inspect/right_sidebar.cljs:176
+msgid "inspect.tabs-switcher-label"
+msgstr "Byt inspekteringstabb"
+
#: src/app/main/ui/inspect/right_sidebar.cljs:142
msgid "inspect.tabs.code.selected.circle"
msgstr "Cirkel"
@@ -2354,23 +2368,23 @@ msgstr "Uträknat värde:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Variantegenskaper"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Skapa ny åtkomsttoken"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Tryck på knappen \"Skapa ny åtkomsttoken\" för att generera en."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Du har inga tokens än."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Personliga åtkomsttokens"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Personliga åtkomsttokens fungerar som ett alternativ till vårt system för "
@@ -2455,53 +2469,53 @@ msgstr "MCP-nyckeln går ut den %s"
msgid "integrations.mcp-key.will-not-expire"
msgstr "MCP-nyckeln har inget utgångsdatum"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Penpots MCP-server gör det möjligt för MCP-klienter att interagera direkt "
"med Penpot-designfiler."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "Så här konfigurerar du MCP-klienter"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Detta är server-URL:en du behöver för att konfigurera din MCP-klient för "
"att ansluta den till Penpot MCP-servern."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Återskapa MCP-nyckel"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP-nyckel"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "MCP-nyckeln behövs för MCP-klientkonfigurationen"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Status"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Inaktiverad"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Aktiverad"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"MCP-nyckeln som användes för att ansluta till MCP-servern har gått ut. "
"Därför kan anslutningen inte upprättas."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Återskapa MCP-nyckeln och uppdatera din klientkonfiguration med den nya "
@@ -2511,10 +2525,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "MCP-server"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Namn"
@@ -2565,7 +2575,7 @@ msgstr "Återskapa MCP-nyckel"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP-nyckel återskapad"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Integrationer"
@@ -2583,47 +2593,47 @@ msgstr "Denna token går ut den %s"
msgid "integrations.token.will-not-expire"
msgstr "Token har inget utgångsdatum"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Markera alla som lästa"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Genvägar"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Om Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Acceptera"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Aktiv"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Lägg till"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Lägg till typsnitt"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Lägger till..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Admin"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Allt"
@@ -2631,17 +2641,17 @@ msgstr "Allt"
msgid "labels.and"
msgstr "och"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Tillbaka"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Det ser ut som om du behöver vänta lite och försöka igen; vi utför "
"underhåll av våra servrar."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Bad Gateway"
@@ -2653,23 +2663,23 @@ msgstr "Oskärpa"
msgid "labels.blur-effects"
msgstr "Oskärpaeffekter"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Avbryt"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Sök efter uppdateringar"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Söker efter uppdateringar..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Stäng"
@@ -2677,7 +2687,7 @@ msgstr "Stäng"
msgid "labels.code"
msgstr "Kod"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Dra ihop"
@@ -2689,15 +2699,15 @@ msgstr "Färg"
msgid "labels.comment"
msgstr "Kommentar"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Kommentarer"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Community"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Community & Bidrag"
@@ -2709,19 +2719,19 @@ msgstr "Beräknad"
msgid "labels.confirm-password"
msgstr "Bekräfta lösenordet"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Kontakta support"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Kontakta oss"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Fortsätt"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Du kan fortsätta med ett Penpot-konto"
@@ -2733,23 +2743,23 @@ msgstr "Kopiera"
msgid "labels.copy-color"
msgstr "Kopiera färg"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Kopiera länk"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-nutid"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Skapa"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Skapa nytt team"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Ange nytt teamnamn"
@@ -2757,7 +2767,7 @@ msgstr "Ange nytt teamnamn"
msgid "labels.current"
msgstr "Aktuell"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Översiktsvy"
@@ -2765,7 +2775,7 @@ msgstr "Översiktsvy"
msgid "labels.default"
msgstr "Standard"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Radera"
@@ -2777,7 +2787,7 @@ msgstr "Radera kommentar"
msgid "labels.delete-comment-thread"
msgstr "Radera tråd"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Ta bort inbjudan"
@@ -2785,39 +2795,35 @@ msgstr "Ta bort inbjudan"
msgid "labels.delete-multi-files"
msgstr "Radera %s filer"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Är du säker på att du vill ta bort ditt profilfoto?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Radera profilfoto"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Raderad"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Utveckling"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Kassera"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Ladda ner %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "Ladda ner"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Laddar ner fil…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Utkast"
@@ -2825,19 +2831,19 @@ msgstr "Utkast"
msgid "labels.duplicate"
msgstr "Duplicera"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Redigera"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Redaktör"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Tom"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Fel"
@@ -2845,11 +2851,11 @@ msgstr "Fel"
msgid "labels.exit"
msgstr "Gå bort"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Löpt ut"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Exportera"
@@ -2861,7 +2867,7 @@ msgstr "Feedback inaktiverad"
msgid "labels.feedback-sent"
msgstr "Feedback skickad"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2869,63 +2875,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Fyll"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex-layout"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Typsnittsfamilj"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Stilar"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Typsnitt"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github repo"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Ge feedback"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Gå tillbaka"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafisk design"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Rutnätslayout"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Hjälpcenter"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Hjälp och utbildning"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Dölj"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Dölj åtgärdade kommentarer"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Importera"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Inaktiv"
@@ -2933,51 +2939,51 @@ msgstr "Inaktiv"
msgid "labels.info"
msgstr "Info"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Installerade typsnitt"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Integrationer"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Något dåligt hände."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "Du kan försöka igen eller kontakta supporten för att anmäla felet."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Internt fel"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Inbjudningar"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Språk"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Layout"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Utbildningscenter"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Bibliotek & mallar"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Laddar…"
@@ -2985,7 +2991,7 @@ msgstr "Laddar…"
msgid "labels.lock"
msgstr "Lås"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Logga in eller registrera dig"
@@ -2993,19 +2999,19 @@ msgstr "Logga in eller registrera dig"
msgid "labels.login"
msgstr "Logga in"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Logga ut"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Marknadsföring"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Medlem"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Medlemmar"
@@ -3017,43 +3023,43 @@ msgstr "Omnämnande"
msgid "labels.new-password"
msgstr "Nytt lösenord"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Nästa"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr ""
"Denna instans kräver ett konfigurationssteg som kommer med den senaste "
"versionen."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Kolla in vår"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot kan inte starta än."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "teknisk guide"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot är tillfälligt otillgänglig på grund av ett systemfel. Försök igen "
"om en liten stund."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Du har kommit ikapp! Nya meddelanden om kommentarer visas här."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Inga pågående inbjudningar."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Samla ditt folk och bygg fantastiska saker tillsammans."
@@ -3061,27 +3067,27 @@ msgstr "Samla ditt folk och bygg fantastiska saker tillsammans."
msgid "labels.no-matches"
msgstr "Inga träffar"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oops!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Notifieringar"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 fil"
msgstr[1] "%s filer"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 tavla"
msgstr[1] "%s tavlor"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 projekt"
@@ -3091,43 +3097,43 @@ msgstr[1] "% projekt"
msgid "labels.old-password"
msgstr "Gammalt lösenord"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Öppna"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Alternativ"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Annat (ange)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Andra"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Ägare"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Lösenord"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Pågående"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpots ändringslogg"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot hubb"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Fästa projekt"
@@ -3135,31 +3141,31 @@ msgstr "Fästa projekt"
msgid "labels.post"
msgstr "Inlägg"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Föregående"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Produkt eller UX design"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Produktledning"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projekt"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Senaste"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Hänvisning"
@@ -3167,27 +3173,27 @@ msgstr "Hänvisning"
msgid "labels.refresh"
msgstr "Uppdatera"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Releaseinformation"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Ladda om sidan"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Ta bort"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Ta bort medlem"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Byt namn"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Byt teamnamn"
@@ -3211,11 +3217,11 @@ msgstr "nytt svar"
msgid "labels.reply.thread"
msgstr "Svara"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Skicka igen"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Skicka inbjudan igen"
@@ -3223,43 +3229,43 @@ msgstr "Skicka inbjudan igen"
msgid "labels.restore"
msgstr "Återställ"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Försök igen"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Roll"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Spara"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Sök"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Sök typsnitt"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Välj alternativ"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Skicka"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Skickar…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Vi utför schemalagt underhåll av våra system."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Tjänsten är inte tillgänglig"
@@ -3267,70 +3273,74 @@ msgstr "Tjänsten är inte tillgänglig"
msgid "labels.sets"
msgstr "Uppsättningar"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Inställningar"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Skugga"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Dela"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Bibliotek"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Visa"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Visa alla kommentarer"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Visa kommentarslista"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Visa bara dina omnämnanden"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Visa bara dina kommentarer"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Koncept"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Hoppa över"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Källor"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"Inloggningen via din organisations identitetsleverantör slutfördes inte. "
"Leverantören kan vara otillgänglig, eller så finns ditt konto kanske ännu "
"inte i dess katalog."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Försök igen"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "Vi kunde inte logga in dig på %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Start"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Status"
@@ -3338,7 +3348,7 @@ msgstr "Status"
msgid "labels.stroke"
msgstr "Streck"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Student eller lärare"
@@ -3350,27 +3360,31 @@ msgstr "Stilar"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Växla"
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
+msgid "labels.team-management"
+msgstr "Teamhantering"
+
#: src/app/main/ui/inspect/styles/style_box.cljs:30
msgid "labels.text"
msgstr "Text"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Teman"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Självstudier"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Typografi"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Okänt fel"
@@ -3382,35 +3396,31 @@ msgstr "Lås upp"
msgid "labels.unpublish-multi-files"
msgstr "Avpublicera %s filerna"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Uppdatera"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Uppdatera teamet"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Ladda upp"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Ladda upp typsnitt"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Laddar upp…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Laddar upp fil…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Variant"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Version anteckningar"
@@ -3418,7 +3428,7 @@ msgstr "Version anteckningar"
msgid "labels.view-only"
msgstr "Enbart visning"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Visare"
@@ -3432,7 +3442,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s varning"
msgstr[1] "%s varningar"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhooks"
@@ -3440,11 +3450,11 @@ msgstr "Webhooks"
msgid "labels.write-new-comment"
msgstr "Skriv ny kommentar"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(du)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ditt konto"
@@ -3586,7 +3596,7 @@ msgstr ""
"Du är den enda medlemmen i vissa av teamen. Dessa team kommer att raderas "
"tillsammans med deras projekt och filer."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "INNAN DU LÄMNAR ORGANISATIONEN"
@@ -3594,80 +3604,80 @@ msgstr "INNAN DU LÄMNAR ORGANISATIONEN"
msgid "modals.before-leave-organization.warning"
msgstr "Alla team där du är den enda medlemmen kommer att raderas."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Stor knuff"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Verifiera ny e-post"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Vi skickar ett e-postmeddelande till din nuvarande e-post \"%s\" för att "
"verifiera din identitet."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Ny e-post"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Ändra e-post"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Ändra din e-post"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Skapa webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Skapa webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Payload URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Avbryt och behåll mitt konto"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Ja, radera mitt konto"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Genom att ta bort ditt konto förlorar du alla dina projekt och arkiv."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Denna åtgärd kan inte ångras. Ditt konto, din prenumeration och dina "
"organisationer kommer att raderas omedelbart. Du kommer också att förlora "
"åtkomsten till dina nuvarande projekt och filer."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Organisationer som kommer att raderas"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s medlemmar"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s team"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Är du säker på att du vill radera ditt konto?"
@@ -3727,23 +3737,23 @@ 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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Tar bort typsnittsstil"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Är du säker på att du vill ta bort detta typsnitt? Den kommer inte ladda om "
"den används i en fil."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Tar bort typsnitt"
@@ -3753,19 +3763,19 @@ msgstr ""
"Är du säker på att du vill ta bort det här teamet som är en del av "
"organisation %s?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
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:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Radera sida"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Är du säker på att du vill ta bort de markerade sidorna?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Ta bort sidor"
@@ -3781,31 +3791,31 @@ msgstr "Är du säker på att du vill ta bort detta projekt?"
msgid "modals.delete-project-confirm.title"
msgstr "Radera projekt"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Radera fil"
msgstr[1] "Radera filer"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Det är inte aktiverat i någon fil."
msgstr[1] "De är inte aktiverade i några filer."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Biblioteket aktiveras här: "
msgstr[1] "Biblioteken aktiveras här: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Är du säker på att du vill radera filen?"
msgstr[1] "Är du säker på att du vill radera filerna?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Raderar fil"
@@ -3825,19 +3835,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Ta bort team"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Ta bort medlemmar"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Är du säker på att du vill ta bort den här medlemmen från teamet?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Ta bort teammedlem"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3847,23 +3857,23 @@ msgstr[1] ""
"Tillgångar som redan har använts i dessa filer kommer att finnas kvar där "
"(ingen design kommer att förstöras)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Ta bort webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Är du säker på att du vill ta bort denna webhook?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Raderar webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Redigera webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Redigera webhook"
@@ -3879,15 +3889,15 @@ msgstr "Importera tokens"
msgid "modals.import-library-tokens.title"
msgstr "Importera tokens från biblioteket?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Skicka inbjudan"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-post, kommaseparerad"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Vissa e-postmeddelanden är från nuvarande teammedlemmar. Deras inbjudningar "
@@ -3910,99 +3920,99 @@ msgstr ""
"och de är alla redan teammedlemmar. Om du behöver mer information, kontakta "
"organisationens ägare."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Adresser som inte kommer att få en inbjudan"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "Avbryt"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Endast befintliga medlemmar i organisationen kan bjudas in."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Skicka inbjudningar"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Vissa inbjudningar kan inte skickas"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Vissa personer på din lista kommer inte att få inbjudningarna."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Du kan bjuda in medlemmar till teamet så att de får tillgång till den här "
"filen och alla teamets filer."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Bjud in teammedlemmar till teamet"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Eftersom du är den enda medlemmen i det här teamet raderas teamet "
"tillsammans med sina projekt och filer."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Är du säker på att du vill lämna %s teamet?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Du kan inte lämna teamet om det inte finns någon annan medlem att tilldela "
"som ägare. Du kanske vill ta bort teamet."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Du är ägare till detta team. Välj en annan medlem att tilldela rollen ägare "
"innan du lämnar teamet."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Befodra och lämna"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Välj en medlem att befordra"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Innan du lämnar"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Lämna teamet"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Är du säker på att du vill lämna teamet?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Lämnar teamet"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Du är ägare till teamen i vissa organisationer. Vänligen befordra en annan "
"medlem till att bli ägare."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Du är den enda medlemmen i vissa av teamen. Dessa team kommer att raderas "
"tillsammans med deras projekt och filer."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Du är också ägare till vissa organisationers team. Vänligen befordra en "
@@ -4022,57 +4032,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "Lämnar du organisation %s?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Flytta"
msgstr[1] "Flytta"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Är du säker på att du vill flytta det här biblioteket?"
msgstr[1] "Är du säker på att du vill flytta dessa bibliotek?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Flytta biblioteket"
msgstr[1] "Flytta biblioteken"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Knuffmängd"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Överför ägandet"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Om du överför ägandet kommer du att ändra din roll till Admin och förlora "
"vissa behörigheter över det här teamet. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Du är den nuvarande ägaren av detta team. Är du säker på att du vill göra "
"%s till den nya ägaren av teamet?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Ny teamägare"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Publicera"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Publicera tomt bibliotek"
@@ -4094,23 +4104,23 @@ msgstr "Är du säker på att du vill ta bort teamet '%s' från organisationen '
msgid "modals.remove-team-organization.title"
msgstr "TA BORT TEAMET FRÅN ORGANISATIONEN"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Liten knuff"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Avpublicera"
msgstr[1] "Avpublicera"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Är du säker på att du vill avpublicera detta bibliotek?"
msgstr[1] "Är du säker på att du vill avpublicera dessa bibliotek?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Avpublicera biblioteket"
@@ -4200,38 +4210,38 @@ msgstr "Aktivera"
msgid "nitrate.code-activation.title"
msgstr "Aktivera Nitrate"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Kontakta säljare"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"För att byta till det här abonnemanget, vänligen kontakta vårt säljteam. Vi "
"hjälper dig att uppdatera din prenumeration och ser till att allt är "
"korrekt konfigurerat."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Din organisation kommer att raderas."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Ditt totala lagringsutrymme, din automatiska versionshistorik och din "
"filåterställningsperiod kommer att bli begränsad."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Teamen, projekten och filerna kommer inte längre att ingå i någon "
"organisation men de kommer att förbli tillgängliga."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "När du nedgraderar:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "Byt till abonnemang %s?"
@@ -4249,15 +4259,15 @@ msgstr "Kontakta oss för att prova Enterprise i 14 dagar:"
msgid "nitrate.form.contact-upgrade"
msgstr "Kontakta oss för att uppgradera till Enterprise:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Kontakta oss för att prova Enterprise-planen i 14 dagar:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Kontakta oss för att uppgradera till Enterprise-planen:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Du debiteras inte just nu. Betalningen genomförs när provperioden är slut. "
@@ -4277,7 +4287,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "Full frihet med öppen källkod, med den styrning din organisation behöver"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Allt dina team behöver för att arbeta säkert i stor skala%s"
@@ -4285,7 +4295,7 @@ msgstr "Allt dina team behöver för att arbeta säkert i stor skala%s"
msgid "nitrate.form.enterprise.price"
msgstr "per medlem per månad"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "Prova 14 dagar gratis"
@@ -4301,7 +4311,7 @@ msgstr "Kom igång med Enterprise"
msgid "nitrate.form.subscribe-with-code"
msgstr "Prenumerera med en aktiveringskod"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Lås upp Enterprise-funktioner"
@@ -4313,7 +4323,7 @@ msgstr "Prova det gratis i 14 dagar"
msgid "nitrate.modal-success.title"
msgstr "Välkommen till Enterprise!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "Aktiv till %s"
@@ -4321,23 +4331,23 @@ msgstr "Aktiv till %s"
msgid "nitrate.subscription.renew-success"
msgstr "Din Nitrate-prenumeration har förnyats."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Avsluta prenumeration"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "För att säga upp din Enterprise-prenumeration, vänligen kontakta oss på:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Förnya med aktiveringskod"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Denna sida existerar inte"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 fel"
@@ -4355,11 +4365,11 @@ msgstr "Vi har skickat ett återställningsmail till"
msgid "not-found.login.sent-recovery-check"
msgstr "Kolla din e-post och klicka på länken för att skapa ett nytt lösenord."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Registrera dig kostnadsfritt"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Börja använda Penpot på några sekunder!"
@@ -4367,67 +4377,67 @@ msgstr "Börja använda Penpot på några sekunder!"
msgid "not-found.made-with-love"
msgstr "Tillverkad med KÄRLEK och Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Du har redan begärt tillgång till denna fil."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Du har redan begärt tillgång till denna fil eller andra filer eller projekt "
"i detta team."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Du har redan begärt tillgång till detta projekt eller andra projekt eller "
"filer i det här teamet."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Du har redan begärt tillgång till detta projekt."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "BEGÄR TILLGÅNG"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Kom ihåg att om ägaren tillåter det kommer du att bli inbjuden till teamet."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Din förfrågan har skickats!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Du har inte tillgång till den här filen."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Gå till din Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Om ägaren tillåter det kommer du att bli inbjuden till teamet."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot-fil"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Du har inte tillgång till detta projekt."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJEKT"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "För att komma åt den här filen kan du fråga ägaren av teamet."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "För att komma åt detta projekt kan du fråga ägaren av teamet."
@@ -4441,31 +4451,31 @@ msgstr ""
msgid "notifications.by-code.upgrade-version"
msgstr "En ny version är tillgänglig."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Denna inbjudan är inte längre tillgänglig."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Inbjudan har raderats"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Inbjudan skickades"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Inbjudningslänken kopierades"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Du kan inte ta bort din profil. Omfördela dina team innan du fortsätter."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profilen sparades!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verifieringsmejl skickas till %s. Kolla din e-post!"
@@ -4503,7 +4513,7 @@ msgstr "Team-namn"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Skapa team"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Bjud in medlemmar"
@@ -4513,98 +4523,98 @@ msgstr ""
"Utvecklare, designers, chefer ... alla är välkomna. Du kan bjuda in fler "
"senare."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Bjud in med rollen:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Låt oss komma igång!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Generera riktig kod från design"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Skapa designsystem"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototyping"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Designa UI/UX av en app"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Wireframing"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Vad ska du använda Penpot till?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Låt oss veta lite om dig för att hjälpa oss att få Penpot att fungera för "
"dig. Dina svar hjälper oss att prioritera nya funktioner och peka dig i "
"rätt riktning för att komma igång."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Hjälp oss att lära känna dig"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Vilken av dessa verktyg använder du mest?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Vilken typ av arbete gör du?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Hur stort är ditt företag?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Var vill du komma igång?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1001 - 5000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Bara jag"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Utbildning"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Personlig"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Arbete"
@@ -4686,11 +4696,11 @@ msgstr "Återställ till standardkonfiguration"
msgid "restore-shortcuts.restore"
msgstr "Återställ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Separera"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Mixad"
@@ -4702,35 +4712,35 @@ msgstr "Ta bort färg"
msgid "settings.select-this-color"
msgstr "Välj objekt med denna stil"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Kommentarer"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Justera botten"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Justera centrum horisontellt"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Justera vänster"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Justera höger"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Justera toppen"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Justera centrum vertikalt"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Skapa tavla från markering"
@@ -4738,55 +4748,55 @@ msgstr "Skapa tavla från markering"
msgid "shortcuts.bold"
msgstr "Växla mellan fetstil"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Boolesk skillnad"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boolean exkluderar"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Boolean korsning"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Booleansk union"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Flytta längst bak"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Flytta bakåt"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Flytta framåt"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Flytta längst fram"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Ångra rensa"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopiera"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Kopiera länk till urklipp"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Kopiera egenskaper"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Skapa komponent / variant"
@@ -4794,63 +4804,63 @@ msgstr "Skapa komponent / variant"
msgid "shortcuts.create-new-project"
msgstr "Skapa ny"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Klipp ut"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Zooma ut"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Radera"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Radera nod"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Ta bort nod och segment"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Avmarkera alla"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Separera komponent"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Inaktivera kortkommando"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Inaktiverad"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Inaktiverat kortkommando"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Pil"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Kurva"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ellips"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Tavla"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Linje"
@@ -4858,65 +4868,65 @@ msgstr "Linje"
msgid "shortcuts.draw-nodes"
msgstr "Rita bana"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Bana"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Rektangel"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Text"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Duplicera"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr ""
"Kombinationen är tilldelad \"%s\". Om du sparar kommer den att tas bort "
"därifrån."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Om du sparar återgår det här kortkommandot till det ursprungliga värdet:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "Denna tangentkombination är tillgänglig och kan tilldelas utan konflikter."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Anpassa i inställningarna"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Avbryt"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Exportera former"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Hitta"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Hitta och ersätt"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Zooma för att få plats med alla"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Vänd horisontellt"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Vänd vertikalt"
@@ -4940,27 +4950,27 @@ msgstr "Gå till delade bibliotek"
msgid "shortcuts.go-to-search"
msgstr "Sök"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grupp"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Distribuera horisontellt"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Visa / dölja UI"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "Import/export"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Zooma in"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Infoga bild"
@@ -4968,11 +4978,11 @@ msgstr "Infoga bild"
msgid "shortcuts.italic"
msgstr "Växla mellan kursiv stil"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Sammanfoga noder"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Tryck tangentkombinationen"
@@ -4980,39 +4990,39 @@ msgstr "Tryck tangentkombinationen"
msgid "shortcuts.line-through"
msgstr "Växla mellan linje igenom"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Gör ett hörn"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Gör en kurva"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Mask"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Sammanfoga noder"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Flytta"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Flytta ner snabbt"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Flytta vänster snabbt"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Flytta höger snabbt"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Flytta upp snabbt"
@@ -5020,379 +5030,379 @@ msgstr "Flytta upp snabbt"
msgid "shortcuts.move-nodes"
msgstr "Flytta nod"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Flytta ner"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Flytta vänster"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Flytta höger"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Flytta upp"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Nästa tavla"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "Det finns inga inaktiverade kortkommandon"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Gå till Alla för att börja anpassa dina kortkommandon."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "Det finns inga genvägar som matchar din sökning"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Inga genvägar hittades"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Ställ in opacitet på 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Ställ in opacitet på 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Ställ in opacitet på 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Ställ in opacitet på 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Ställ in opacitet på 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Ställ in opacitet på 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Ställ in opacitet på 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Ställ in opacitet på 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Ställ in opacitet på 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Ställ in opacitet på 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Färgväljare"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Gå till visarens kommentarsektion"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Gå till översiktsvyn"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Gå till visarens inspektionssektion"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Gå till visarens interaktionssektion"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Gå till visarens interaktionssektion"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Gå till arbetsytan"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " eller "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Den här genvägen har tilldelats om till %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Sida för kortkommandon"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Klistra in"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Klista in egenskaper"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Klistra in och ersätt"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Personanpassad"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Pluginhanterare"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Föregående tavla"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Gör om"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"När du har redigerat kortkommandon, ladda om alla andra öppna Penpot-flikar "
"för att tillämpa ändringarna."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Byt namn"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Återställ till standard"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Nollställ zoomen"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Skala"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Grundläggande"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Översiktsvy"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Visare"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Arbetsyta"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Markera allt"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Välj nästa lager"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Välj överordnat lager"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Välj föregående lager"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Separera noder"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Visa mått"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Visa / dölj pixelrutnät"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Visa / dölj genvägar"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Fäst vid noder"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Fäst till pixelrutnät"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Börja redigera"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Justering"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Redigera"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Allmän"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Huvudmeny"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Redigera lager"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Navigation"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneler"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Banor"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Former"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Texter"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Verktyg"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Zoom"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Ställ in miniatyrbilder"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Snabbkommandon"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Växla dynamisk justering"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Växla tillgångar"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Växla färgpalett"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Växla synlighet för kommentarer"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Växla fokusläge"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Växla till helskärm"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Visa / dölj guidelinjer"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Växla historia"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Växla lager"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Lägg till/ta bort flex layout"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Lägg till/ta bort grid-layout"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Lås / lås upp"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Lås proportioner"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Visa / dölja linjaler"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Fäst till guidelinjer"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Fäst till linjaler"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Växla textpalett"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Ändra tema"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Visa / dölj"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Växla zoomstil"
@@ -5400,31 +5410,31 @@ msgstr "Växla zoomstil"
msgid "shortcuts.underline"
msgstr "Växla understrykning"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Ångra"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Avgruppera"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Avmaska"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Distribuera vertikalt"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Minskning av zoom"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Ökning av zoom"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Zooma in markerad"
@@ -5443,7 +5453,7 @@ msgstr "Se hur Enterprise fungerar"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -5455,7 +5465,7 @@ msgstr "Enterprise-testversion"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Din prenumeration"
@@ -5585,276 +5595,276 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Bjuda in personer medan du har Unlimited-abonnemanget"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Betalningen slutfördes inte. Försök igen när du är redo."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"Vi kunde inte starta utcheckningen. Försök igen. Om problemet kvarstår, "
"kontakta oss: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Prenumeration"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Ange aktiveringskod"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Lägg till en betalningsmetod för att fortsätta efter din provperiod"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Adminkonsol"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Alla förmåner för Professional-abonnemanget och:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Alla förmåner för Unlimited-abonnemanget och:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Alla förmåner från Unlimited-planen, plus:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s redaktörer)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise (provperiod)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-dagar av autosparade versioner och filåterställning"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Fast månadsfaktura"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Avancerad kontroll:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Enterprise-säkerhet:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Multi-orghantering:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr ""
"Inbyggd SAML/SSO och fullständig revisionsloggning för "
"compliance-rapportering."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Detaljerad vitlistning av plugins, inklusive vår säkra och isolerade "
"MCP-server för AI-anslutning."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "Stöd för komplexa teamhierarkier och separata underorganisationer."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Obegränsad lagring"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Hantera din prenumeration"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Lägg till betalningsuppgifter"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Lägg till betalningsuppgifter så att din prenumeration ska fortsätta "
"fungera efter provperioden och för att stödja vårt projekt med öppen "
"källkod. Du kommer inte att debiteras ännu."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Hoppa över för tillfället och starta provperioden"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Hjälp oss att växa och gör din provperiod enklare"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "För närvarande har du %s person i dina team som kan redigera."
msgstr[1] "För närvarande har du %s personer i dina team som kan redigera."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Obs: att byta till ett lägre abonnemang innebär mindre lagringsutrymme och "
"kortare säkerhetskopior och versionshistorik."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Redaktörer"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(Ägare, administratör och redaktörer. Läsare räknas inte som redaktörer)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Du kan inte ange färre redaktörer än du har nu. Ändra rollen "
"(redaktör/administratör till läsare) för personer som inte faktiskt "
"redigerar filer i teaminställningarna."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Debiterad efter provperioden. Inget kreditkort krävs just nu."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/månad"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Applicera %s till dina team"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Tips: Du kan öka antalet platser nu för att ligga steget före inbjudningar. "
"Med 25+ redaktörer över teamen åtnjuter du en fast avgift på $175/månad."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot-medlem sedan: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Mer information"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "org-medlem per månad"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Övriga Penpot-abonnemang"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "organisation per månad"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "användare / månad"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-dagars autosparversioner och filåterställning"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "Alla design- och prototypfunktioner har Community-support."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Fullständig kontroll över data och infrastruktur."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Obegränsat antal användare, team och filer."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 GB lagringsutrymme"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Obegränsat antal team. Upp till 8 redaktörer över alla dina egna team."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Rekommenderad"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Din prenumeration"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Starta gratis provperiod"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Prenumerera"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "Du har haft abonnemanget %s sedan %s."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Du kan ändra din prenumeration när som helst från sidan \"Prenumeration\" i "
"dina kontouppgifter."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Lycka till med ditt abonnemang!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Tack för att du valt Penpot %s-abonnemanget!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Du är %!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Prova det gratis i 14 dagar"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited (provperiod)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-dagars autosparversioner och filåterställning"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Månadsfaktura med maxbelopp på $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25 GB lagringsutrymme"
@@ -5877,45 +5887,45 @@ msgstr "Om du vill öka denna gräns, kontakta teamägaren: [%s](mailto)"
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Om du vill öka denna gräns, [uppgradera ditt abonnemang|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 inbjudan vald"
msgstr[1] "%s inbjudningar valda"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Typsnittsleverantörer - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Typsnitt - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projekt - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Sök -%s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Delade bibliotek -%s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Designfrihet för team"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Ge feedback - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Integrationer - Penpot"
@@ -5923,7 +5933,7 @@ msgstr "Integrationer - Penpot"
msgid "title.settings.notifications"
msgstr "Notifieringar - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Inställningar - Penpot"
@@ -5931,27 +5941,27 @@ msgstr "Inställningar - Penpot"
msgid "title.settings.password"
msgstr "Lösenord - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Inbjudningar - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Medlemmar - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Inställningar - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Visningsläge - Penpot"
@@ -5963,51 +5973,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Lösgör token"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Inga tavlor hittade på sidan."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Tavlan hittades inte."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Kommentarer (%)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Visa inte interaktioner"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Helskärm"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Inspektera (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Interaktioner"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Interaktioner (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Kopiera länk"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Visa interaktioner"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Visa interaktioner på klick"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Översiktsplan"
@@ -6044,67 +6054,67 @@ msgstr "Följ vår "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL-felsökningsguide"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL-rendering inaktiverad"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL-rendering aktiverad"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL-kontexten tappades"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL-kontexten återställdes"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Senaste leveransen lyckades."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Justera horisontellt centrum (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Distribuera horisontellt avstånd (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Justera vänster (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Justera höger (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Justera botten (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Justera vertikalt centrum (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Distribuera vertikalt avstånd (%)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Justera toppen (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Lägg till bibliotek"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Alla tillgångar"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Färger"
@@ -6116,7 +6126,7 @@ msgstr "Lägg till färg"
msgid "workspace.assets.component-group-options"
msgstr "Komponentgruppsalternativ"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Komponenter"
@@ -6124,7 +6134,7 @@ msgstr "Komponenter"
msgid "workspace.assets.components.add-component"
msgstr "Lägg till komponent"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "% Varianter"
@@ -6132,11 +6142,11 @@ msgstr "% Varianter"
msgid "workspace.assets.create-group"
msgstr "Skapa en grupp"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "Dina objekt kommer att namnges automatiskt som \"gruppnamn / objektnamn\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Radera"
@@ -6144,11 +6154,11 @@ msgstr "Radera"
msgid "workspace.assets.delete-group"
msgstr "Ta bort grupp"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Ta bort sidor"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Duplicera"
@@ -6156,39 +6166,39 @@ msgstr "Duplicera"
msgid "workspace.assets.duplicate-main"
msgstr "Duplicera huvudarbetsytan"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Redigera"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Rutnätsvy"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grupp"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Gruppnamn"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Listvy"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "lokala bibliotek"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Hantera bibliotek"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Inga tillgångar hittades"
@@ -6196,7 +6206,7 @@ msgstr "Inga tillgångar hittades"
msgid "workspace.assets.open-library"
msgstr "Öppna bibliotek fil"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Byt namn"
@@ -6204,11 +6214,11 @@ msgstr "Byt namn"
msgid "workspace.assets.rename-group"
msgstr "Byt namn på gruppen"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Sök tillgångar"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Delat bibliotek"
@@ -6218,43 +6228,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 komponent"
msgstr[1] "%s komponenter"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sortera"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Typografi"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Lägg till teckenssnitt"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Storlek"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Typsnitt"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Teckenavstånd"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Radavstånd"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Texttransformation"
@@ -6262,101 +6272,105 @@ msgstr "Texttransformation"
msgid "workspace.assets.ungroup"
msgstr "Avgruppera"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Kopierar bild…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Bild kopierad till urklipp"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Fel vid kopiering av bild"
+#: src/app/main/ui/workspace/colorpicker.cljs:447
+msgid "workspace.colorpicker.color-picker"
+msgstr "Välj färg från skärmen"
+
#: src/app/main/ui/workspace/colorpicker.cljs:439, src/app/main/ui/workspace/colorpicker.cljs:454
msgid "workspace.colorpicker.color-tokens"
msgstr "Färg-tokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Komponenter kan inte kapslas inuti sig själva."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr ""
"Vissa kopior kunde inte bytas. Komponenter kan inte kapslas inuti sig "
"själva."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Skapa område"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Kopiera kolumner"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Kopiera rader"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Skapa tavla"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Sammanfoga celler"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Klistra in"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
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:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
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:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Radera kolumn"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Ta bort kolumn och former"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Duplicera kolumn"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
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:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
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:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Ta bort rad"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Ta bort rad och former"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Duplicera rad"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Guidefärg"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Ta bort guide"
@@ -6364,15 +6378,15 @@ msgstr "Ta bort guide"
msgid "workspace.debug.title"
msgstr "Felsökningsverktyg"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Fokusläge"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Fokusera av"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Fokusera på"
@@ -6384,243 +6398,247 @@ msgstr "Linjär gradient"
msgid "workspace.gradients.radial"
msgstr "Radiell gradient"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Inaktivera dynamisk justering"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Inaktivera proportionell skala"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Inaktivera fäst till guidelinjer"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Inaktivera fäst till pixelrutnät"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Inaktivera fäst till linjaler"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "Inaktivera WebGL-rendering (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Aktivera dynamisk justering"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Aktivera proportionell skalning"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Fäst till guidelinjer"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Aktivera fäste till pixelrutnät"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Fäst till linjaler"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "Aktivera WebGL-rendering (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Hitta"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Hitta och ersätt"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Dölj tavelnamn"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Dölj kommentarer"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Dölj guidelinjer"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Dölj färgpalett"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Dölj pixelrutnät"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Dölj linjaler"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Dölj typsnittspaletten"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Lås guider"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Anslut"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Koppla från"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Hantera (Status: inaktiverad)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Hantera (Status: aktiverad)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Redigera"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Fil"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Hjälp & info"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP-server"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Inställningar"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Visa"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Gör om"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Markera allt"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Visa kartnamn"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Visa kommentarer"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Visa guidelinjer"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Visa färgpalett"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Visa pixelrutnät"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Visa linjaler"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Visa typsnittspalett"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Växla till mörkt tema"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Växla till ljust tema"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Växla till systemtema"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Ångra"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Lås upp guider"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Återställ"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:133
+msgid "workspace.header.retrying"
+msgstr "Försöker spara igen"
+
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Fel vid sparandet"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Sparad"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Sparar"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Dela"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Visningsläge (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Zoom"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Fylla - Skala för att fylla"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Anpassa - Skala ner för att passa"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Zooma för att få plats med alla"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Helskärm"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Zooma in markerad"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Redigera grid"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Avsluta"
@@ -6628,7 +6646,7 @@ msgstr "Avsluta"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Bottenutfyllnad"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Visa 4-sidiga utfyllnadsalternativ"
@@ -6664,37 +6682,37 @@ msgstr "Klart"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Lokalisera"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Lokalisera rutnätslayout"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 färg"
msgstr[1] "%s färger"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Lägg till färg i biblioteket"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Du har inga färgstilar i ditt bibliotek"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Det finns inga nya färger ännu"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Du har inga typsnittsstilar i ditt bibliotek än"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Filbibliotek"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Senast använda färger"
@@ -6706,75 +6724,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Spara färgstil"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Växla färgpalett"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 komponent"
msgstr[1] "%s komponenter"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:864
+msgid "workspace.libraries.connected-libraries"
+msgstr "Anslutet bibliotek"
+
+#: src/app/main/ui/workspace/libraries.cljs:235
+msgid "workspace.libraries.connected-through"
+msgstr "Ansluten genom"
+
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Ansluten till"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
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:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:834
+msgid "workspace.libraries.empty.no-assets"
+msgstr "Inga objekt än"
+
+#: src/app/main/ui/workspace/libraries.cljs:918
+msgid "workspace.libraries.empty.no-connected-libraries"
+msgstr "Inga anslutna bibliotek än."
+
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
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:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "några mallar här"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Filbibliotek"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 grafik"
msgstr[1] "%s grafiker"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BIBLIOTEK I DENNA FIL"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "BIBLIOTEK"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "BIBLIOTEKUPDATERINGAR"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Laddar…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Det finns inga delade bibliotek som behöver uppdateras"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Inga träffar hittades för ”%s”"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Sök delade bibliotek"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
+msgid "workspace.libraries.set-as-tokens-source"
+msgstr "Ange som källa för tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "DELADE BIBLIOTEK"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:674
+msgid "workspace.libraries.shared-library-added"
+msgstr "Lade till"
+
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Anslut bibliotek"
@@ -6798,25 +6840,47 @@ msgstr "Koppla bort alla objekt"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Lossa alla tokens"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
+msgid "workspace.libraries.token-sets"
+msgid_plural "workspace.libraries.token-sets"
+msgstr[0] "1 uppsättning"
+msgstr[1] "%s uppsättningar"
+
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
+msgid "workspace.libraries.token-themes"
+msgid_plural "workspace.libraries.token-themes"
+msgstr[0] "1 tema"
+msgstr[1] "%s teman"
+
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
+msgid "workspace.libraries.tokens"
+msgid_plural "workspace.libraries.tokens"
+msgstr[0] "1 token"
+msgstr[1] "%s tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
+msgid "workspace.libraries.tokens-source"
+msgstr "Källa för tokens"
+
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 typografi"
msgstr[1] "%s typografier"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Koppla från biblioteket"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Uppdatera"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "se alla ändringar"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "UPDATERINGAR"
@@ -6879,7 +6943,7 @@ msgstr "Växla oskärpa"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Visa/dölj fler alternativ"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "Avbryt"
@@ -6887,117 +6951,121 @@ msgstr "Avbryt"
msgid "workspace.options.canvas-background"
msgstr "Canvas bakgrund"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:75
+msgid "workspace.options.canvas-background-section"
+msgstr "Sektion för canvasbakgrund"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Innehåll i urklipp"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Komponent"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Anteckning"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopiera"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Skapa en anteckning"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Redigera en anteckning"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Huvuddel"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Växla komponent"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Det finns inga tillgångar i detta bibliotek"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Olänkad"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Hitta motstridiga varianter"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Denna komponent har motstridiga varianter. Se till att varje variation har "
"en unik uppsättning egenskapsvärden."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Hitta duplicerade varianter"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Vissa varianter har identiska egenskaper och värden"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Dessa varianter har identiska egenskaper och värden. Justera värdena så att "
"de kan hämtas."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Denna variant har identiska egenskaper och värden som en annan variant. "
"Justera värdena så att de kan hämtas."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Några av dessa varianter har identiska egenskaper och värden. Justera "
"värdena så att de kan hämtas."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Denna komponent har varianter med ogiltiga namn. Se till att varje variant "
"följer rätt struktur."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Hitta ogiltiga varianter"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Vissa varianter har ogiltiga namn"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Hitta ogiltiga varianter"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Dessa varianter har ogiltiga namn."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Denna variant har ett ogiltigt namn."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Några av dessa varianter har ogiltiga namn."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[egenskap]=[värde], [egenskap]=[värde]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Försök att använda följande struktur:"
@@ -7033,7 +7101,7 @@ msgstr "Har samma hierarkinivå."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Grupper, tavlor och layouter anses vara likvärdiga."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Hur varianter förblir sammankopplade"
@@ -7081,11 +7149,11 @@ msgstr "Topp & Botten"
msgid "workspace.options.convert-to-typography"
msgstr "Skapa typografistil"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Design"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Exportera"
@@ -7093,53 +7161,53 @@ msgstr "Exportera"
msgid "workspace.options.export-multiple"
msgstr "Exportera markerade"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Lägg till export"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Ta bort export"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Suffix"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Exporttjänsten är upptagen, försök igen senare"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Export avbruten"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "Avbryter..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Exporten lyckades"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Exporterar…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Exporten misslyckades"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Exporten oväntat långsam"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Väntar..."
@@ -7159,7 +7227,7 @@ msgstr "Ta bort fyllningsfärg"
msgid "workspace.options.fill.section"
msgstr "Fyll sektion"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Ändra storlek på tavlan för att passa innehållet"
@@ -7179,71 +7247,77 @@ msgstr "Flödesstart"
msgid "workspace.options.flows.flow-starts"
msgstr "Flödet startar"
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+msgid "workspace.options.font-not-available"
+msgstr ""
+"Typsnittet som används i denna text (%s) är inte längre tillgänglig. Ladda "
+"upp typsnittet på nytt för att skapa en typografistil"
+
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:34
msgid "workspace.options.grid.auto"
msgstr "Auto"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Kolumner"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Färg"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Mellanrum"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Höjd"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Marginal"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Sätt som standard"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Botten"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Center"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Vänster"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Höger"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Stretcha"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Topp"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Använd standard"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Bredd"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Rader"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kvadrat"
@@ -7255,7 +7329,7 @@ msgstr "Gruppfyllning"
msgid "workspace.options.group-stroke"
msgstr "Gruppera fet"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Lägg till guide"
@@ -7263,19 +7337,19 @@ msgstr "Lägg till guide"
msgid "workspace.options.guides.remove-guide"
msgstr "Ta bort guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Guidelinjer"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Växla guide"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Höjd"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Inspektion"
@@ -7491,115 +7565,119 @@ msgstr "Interaktioner"
msgid "workspace.options.interactions.add-interaction"
msgstr "Lägg till interaktion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Färg"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Efterbelys färg"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Färgskugga"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Mörkare"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Differens"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Uteslutning"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Skarpt ljus"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Nyans"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Ljusare"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Luminiscens"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Multiplicera"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Täcka över"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Mättnad"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Raster"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Mjukt ljus"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Lagermenysektion"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Växla lagersynlighet"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Max.höjd"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Max.bredd"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Min.höjd"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Min.bredd"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Fler färger"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Fler biblioteksfärger"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Fler färg-tokens"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Ingen matchande förinställd storlek"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opacitet"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:99, src/app/main/ui/workspace/sidebar/options/page.cljs:106
+msgid "workspace.options.pixel-grid-color"
+msgstr "Färg för pixelrutnät"
+
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototyp"
@@ -7635,23 +7713,23 @@ msgstr "Ramradiesektion"
msgid "workspace.options.radius.show-single-corners"
msgstr "Visa oberoende radie"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Senaste"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Försök igen"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Rotering"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Sök typsnitt"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Sök förinställda storlekar"
@@ -7659,11 +7737,11 @@ msgstr "Sök förinställda storlekar"
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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Markerade färger"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Färgvalssektion"
@@ -7731,55 +7809,55 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Visa i visningsläge"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Storlek"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Storleksinställningar"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Lås förhållande"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Lås upp förhållande"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Cirkel"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Diamant"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Pil"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Ingen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Runda"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kvadrat"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Rektangel"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Triangel"
@@ -7787,31 +7865,31 @@ msgstr "Triangel"
msgid "workspace.options.stroke-color"
msgstr "Konturfärg"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Streck"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Mellanrum"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Konturbredd"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "Botten (blockslut)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Vänster (radstart)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Höger (radslut)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "Topp (blockstart)"
@@ -7819,49 +7897,49 @@ msgstr "Topp (blockstart)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Lägg till streckfärg"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Center"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Streckad"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Prickad"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Inuti"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Mixad"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Utanför"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Streck per sida"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"Funktionen för antal streck per sida är endast tillgänglig i den nya "
"renderingen. Byt renderingsläge för att använda den."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Ta bort streckfärg"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Fylld"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Växla streckning"
@@ -7897,11 +7975,11 @@ msgstr "Autobredd"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Fast"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Teckenavstånd"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Radavstånd"
@@ -7949,224 +8027,228 @@ msgstr "Understruken (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Bredd"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X axel"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y axel"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Rita noder (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Justerad"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Fristående"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Jämn"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "Hanterarbeteende"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Sätt ihop noder (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Till hörnet (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Till kurva (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Sammanfoga noder (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Flytta noder (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Separera noder (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Fästnoder (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Öppna"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Upptäck [fler plugins](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Inga plugins installerade"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Pluginmanifestet är felaktigt."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Du måste vara redaktör för att kunna använda detta plugin"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/data/plugins.cljs:160
+msgid "workspace.plugins.error.unreachable"
+msgstr "Det gick inte att nå plugin-URL:en."
+
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Pluginen finns inte eller är URL:en fel."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Installera"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Installerade plugins"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Pluginhanterare"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "UPPDATERA DETTA PLUGIN"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Detta plugin har ändrats sedan du senast öppnade det. Det vill nu också få "
"tillgång till:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Starta nedladdning av filer."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Lagra data i webbläsaren."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Läs innehållet i ditt urklipp."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Läs och skriv till urklipp."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Läs dina kommentarer och svar."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Läs och modifiera dina kommentarer och svara i ditt namn."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Läs innehållet i filer som användarna har tillgång till."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Läs och ändra innehållet i filer som användarna har tillgång till."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Observera att detta plugin har skapats av en extern part, så se till att du "
"litar på den innan du ger åtkomst. Din datasekretess och säkerhet är "
"viktiga för oss. Om du har några frågor, vänligen kontakta support."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Läs dina bibliotek och tillgångar."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Läs och modifiera dina bibliotek och tillgångar."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' PLUGIN ÖNSKAR TILLGÅNG TILL:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Läs den aktuella användarens profilinformation."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Lista på plugins"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Ta bort plugin"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Skriv in plugin URL"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Plugins"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "INTE NU"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Vill du ta en titt? Det kommer att öppnas i ett nytt utkast för ditt "
"nuvarande team. (Om inte, kan du alltid hitta det i de installerade plugins "
"för alla filer.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' PLUGIN ÄR INSTALLERAD FÖR DIN ANVÄNDARE!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "TESTA PLUGIN"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Lägg till flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Lägg till grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Lägg till layout"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Skapa variant"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Lägg till ny egenskap"
@@ -8178,11 +8260,11 @@ msgstr "Flytta längst bak"
msgid "workspace.shape.menu.backward"
msgstr "Flytta bakåt"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Rensa guidelinjer"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Kombinera som varianter"
@@ -8190,7 +8272,7 @@ msgstr "Kombinera som varianter"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Komponenter måste vara på samma sida"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopiera"
@@ -8234,27 +8316,27 @@ msgstr "Kopiera som text"
msgid "workspace.shape.menu.create-annotation"
msgstr "Skapa anteckning"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Markering till tavla"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Skapa komponent"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Skapa flera komponenter"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Klipp ut"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Radera"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Ta bort flödesstart"
@@ -8266,7 +8348,7 @@ msgstr "Koppla från instans"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Koppla från instanser"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Skillnad"
@@ -8274,15 +8356,15 @@ msgstr "Skillnad"
msgid "workspace.shape.menu.duplicate"
msgstr "Duplicera"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Redigera"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Exkludera"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Platta ut"
@@ -8294,7 +8376,7 @@ msgstr "Vänd horisontellt"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Vänd vertikalt"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Flödesstart"
@@ -8306,31 +8388,31 @@ msgstr "Flytta framåt"
msgid "workspace.shape.menu.front"
msgstr "Flytta längst fram"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grupp"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Dölj"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Via / Dölj UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Intersektion"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Lås"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Mask"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Klistra in"
@@ -8338,27 +8420,27 @@ msgstr "Klistra in"
msgid "workspace.shape.menu.paste-props"
msgstr "Klista in egenskaper"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Bana"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Ta bort flex layout"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Ta bort grid layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Ta bort layout"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Ta bort egenskap"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Varianten bör ha minst en egenskap"
@@ -8382,11 +8464,11 @@ msgstr "Återställ variant"
msgid "workspace.shape.menu.select-layer"
msgstr "Välj lager"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Visa"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Visa i tillgångspanelen"
@@ -8394,7 +8476,7 @@ msgstr "Visa i tillgångspanelen"
msgid "workspace.shape.menu.show-main"
msgstr "Visa huvudkomponent"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Linje till bana"
@@ -8406,19 +8488,19 @@ msgstr "Ta bort miniatyrbild"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Ställ in som miniatyrbild"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Avgruppera"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Sammanfoga"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Lås upp"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Avmaska"
@@ -8434,79 +8516,79 @@ msgstr "Minimera sidonavigation"
msgid "workspace.sidebar.expand"
msgstr "Expandera sidonavigation"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Historia"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Lager"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Komponenter"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filter"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Tavlor"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Grupper"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Bilder"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Masker"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Inga träffar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Ersätt"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Ersätt alla"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Ersätt med..."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Sök…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Hitta och ersätt"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Textinnehåll"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Lagernamn"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Former"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Texter"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Importerade SVG attribut"
@@ -8518,7 +8600,7 @@ msgstr "Sidor"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Lägg till sida"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Översiktsplan"
@@ -8538,6 +8620,10 @@ msgstr "%s aktiva teman"
msgid "workspace.tokens.add-new-theme"
msgstr "Lägg till nytt tema"
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:106
+msgid "workspace.tokens.add-set"
+msgstr "Lägg till uppsättning"
+
#: src/app/main/ui/workspace/tokens/sets/context_menu.cljs:62
msgid "workspace.tokens.add-set-to-group"
msgstr "Lägg till uppsättning i denna grupp"
@@ -8546,7 +8632,7 @@ msgstr "Lägg till uppsättning i denna grupp"
msgid "workspace.tokens.add-token"
msgstr "Lägg till token: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Applicerad på"
@@ -8566,7 +8652,11 @@ msgstr "Basteckenstorlek"
msgid "workspace.tokens.base-font-size.error"
msgstr "Basteckenstorlek måste anges i pixlar eller vara enhetslöst."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:98
+msgid "workspace.tokens.change-token-source"
+msgstr "Byt källa för tokens"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Färg"
@@ -8578,7 +8668,7 @@ msgstr "Kopiera token-sökväg"
msgid "workspace.tokens.create-new-theme"
msgstr "Skapa ditt första tema nu."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Skapa ett."
@@ -8586,6 +8676,10 @@ msgstr "Skapa ett."
msgid "workspace.tokens.create-token"
msgstr "Skapa en ny %s token"
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:101
+msgid "workspace.tokens.current-tokens-source-tooltip"
+msgstr "Detta är den nuvarande källan för tokens"
+
#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:437
msgid "workspace.tokens.delete"
msgstr "Ta bort token"
@@ -8602,7 +8696,7 @@ msgstr "Duplicera token"
msgid "workspace.tokens.duplicate-group"
msgstr "Duplicera token-grupp"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "kopiera"
@@ -8626,7 +8720,7 @@ msgstr "Redigera %s token"
msgid "workspace.tokens.enter-token-name"
msgstr "Ange %s tokennamn"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "Tokens kan inte tillämpas när du redigerar text. Välj textlagret istället."
@@ -8654,7 +8748,7 @@ msgstr "Förhandsgranskning:"
msgid "workspace.tokens.export.single-file"
msgstr "Enskild fil"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Teckenstorlek eller {alias}"
@@ -8664,7 +8758,7 @@ msgstr ""
"Fel vid inställning av typsnittsvikt/stil. Den här typsnittsstilen finns "
"inte i det aktuella typsnittet"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Ange ett värde (300, fet, normal kursiv ...) eller en {alias}"
@@ -8702,7 +8796,7 @@ msgstr ""
"I en enskild JSON-fil bör nycklarna på första nivån vara namnen på "
"token-uppsättningarna."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Importera tokens"
@@ -8712,17 +8806,17 @@ msgstr ""
"Import av tokens kommer att åsidosätta alla dina nuvarande tokens, "
"uppsättningar och teman."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Inaktiv"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Denna uppsättning är inte aktiv. Ändra temat eller aktivera denna "
"uppsättning för att se ändringar i visningsfönstret"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Använd individuella tokens"
@@ -8742,11 +8836,11 @@ msgstr "Tema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Lägg till ett tema (dvs. ljust)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Lägg till bokstavsavstånd eller {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Radavstånd (multiplikator, px, %) eller {alias}"
@@ -8762,11 +8856,11 @@ msgstr "Max. storlek"
msgid "workspace.tokens.min-size"
msgstr "Min. storlek"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Referens saknas"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Högerklicka för att se alternativ"
@@ -8782,7 +8876,7 @@ msgstr "Inget tema aktiverat"
msgid "workspace.tokens.no-permisions-set"
msgstr "Du måste vara en redaktör för att aktivera / inaktivera uppsättningar"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Du måste vara redaktör för att använda teman"
@@ -8794,7 +8888,7 @@ msgstr "Det finns inga uppsättningar definierade. Skapa ett först."
msgid "workspace.tokens.no-sets-yet"
msgstr "Det finns inga uppsättningar."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Det finns inga teman."
@@ -8806,11 +8900,25 @@ msgstr "Du har för närvarande inga teman."
msgid "workspace.tokens.not-remap"
msgstr "Ommappa ej"
+#: src/app/main/data/workspace/libraries.cljs:848
+msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
+msgstr "Källuppsättningar eller teman för tokens har ändrats"
+
#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:132
msgid "workspace.tokens.num-active-sets"
msgstr "%s aktiva uppsättningar"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
+msgid "workspace.tokens.only-first-fill-or-stroke"
+msgstr ""
+"Design-tokens kan endast tillämpas på den första fyllningen eller linjen i "
+"listan."
+
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:104
+msgid "workspace.tokens.open-source-new-tab"
+msgstr "Öppna tokens källa i en ny flik"
+
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Ursprungligt värde: %s"
@@ -8822,15 +8930,15 @@ msgstr "Utfyllnader"
msgid "workspace.tokens.radius"
msgstr "Radie"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "Referensen i {%s} är ogiltig eller ingår inte i någon aktiv uppsättning."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Ange ett alias för token-typografi"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Ange ett token-skuggalias"
@@ -8870,7 +8978,7 @@ msgstr "Byt namn på token-grupp"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "Dina tokens kommer automatiskt att byta namn till %s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Uträknat värde: %s"
@@ -8908,27 +9016,27 @@ msgstr "Här kan du ställa in basteckenstorlek, vilket definierar värdet för
msgid "workspace.tokens.settings"
msgstr "Token-inställningar"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Lägg till skugga"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Oskärpa"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Infälld"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Ta bort skugga"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Spridning"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Oskärpa kan inte vara negativt"
@@ -8936,11 +9044,11 @@ msgstr "Oskärpa kan inte vara negativt"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Spridningsvärdet kan inte vara negativt"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8948,11 +9056,19 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Storlek"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:75
+msgid "workspace.tokens.source"
+msgstr "Källa:"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:311, src/app/main/ui/workspace/tokens/management/context_menu.cljs:335
+msgid "workspace.tokens.stroke-width"
+msgstr "Linjetjocklek"
+
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "Ange: ingen | versaler | gemener | versalisera eller {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "Ange textdekoration: ingen | understrykning | genomstrykning"
@@ -8966,35 +9082,39 @@ msgstr ""
msgid "workspace.tokens.themes-list"
msgstr "Temalista"
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:80
+msgid "workspace.tokens.this-file"
+msgstr "Denna fil"
+
#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:334, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:335
msgid "workspace.tokens.token-description"
msgstr "Beskrivning"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Välj typsnittsfamilj"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Typsnittsfamilj"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Typsnittsfamilj eller lista över typsnitt separerade med kommatecken (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Namn"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "En token finns redan på sökvägen: %s eller vid ett prefix därav."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Namnet måste innehålla minst 1 tecken"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" är inte ett giltigt token-namn.\n"
@@ -9005,11 +9125,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Värde"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Ange ett värde eller alias med {alias}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKEN - %s"
@@ -9028,15 +9148,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Typen '%s' stöds ej (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Använd en referens"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Värdet är inte giltigt"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Pil (%s)"
@@ -9044,75 +9164,75 @@ msgstr "Pil (%s)"
msgid "workspace.toolbar.assets"
msgstr "Tillgångar"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Färgpalett (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Kommentarer (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Kurva (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Ellips (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Tavla (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Bild (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
+msgid "workspace.toolbar.label"
+msgstr "Ritverktyg"
+
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Linje (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Anslut här"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP ansluten"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Flytta (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Palett"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Bana (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Plugins (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Rektangel (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Text (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Typografier (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Växla verktygsfält"
@@ -9133,11 +9253,11 @@ msgstr "Rendering är inte tillgänglig. Uppdatera för att återställa rediger
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Ladda om"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Det finns inga tidigare ändringar"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "av %s"
@@ -9277,19 +9397,19 @@ msgstr "typografitillgång"
msgid "workspace.undo.entry.unknown"
msgstr "Körning över %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Avfärda"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Mer info"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Det finns uppdateringar i delade bibliotek"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Uppdatera"
@@ -9379,3 +9499,36 @@ msgstr ""
#: src/app/main/ui/workspace/sidebar/versions.cljs:462
msgid "workspace.versions.warning.text"
msgstr "Autosparade versioner sparas i %s dagar."
+
+#: src/app/main/ui/dashboard/sidebar.cljs:228
+msgid "dashboard.clear-search"
+msgstr "Rensa sökning"
+
+#: src/app/main/ui/dashboard/fonts.cljs:442, src/app/main/ui/dashboard/fonts.cljs:443
+msgid "dashboard.fonts.delete-variant"
+msgstr "Radera typsnittsstil"
+
+#: src/app/main/ui/dashboard/import.cljs:625
+msgid "dashboard.import.check.message"
+msgstr ""
+"Säkerställer att varje fil kan importeras. Detta tar bara ett ögonblick."
+
+#: src/app/main/ui/dashboard/import.cljs:624
+msgid "dashboard.import.check.title"
+msgstr "Kontrollerar dina filer..."
+
+#: src/app/main/ui/dashboard/import.cljs:600
+msgid "dashboard.import.importing.done"
+msgid_plural "dashboard.import.importing.done"
+msgstr[0] "1 klar"
+msgstr[1] "%s klara"
+
+#: src/app/main/ui/dashboard/import.cljs:637
+msgid "dashboard.import.importing.message"
+msgstr "Bygger om sidor, komponenter och objekt i ditt projekt."
+
+#: src/app/main/ui/dashboard/import.cljs:598
+msgid "dashboard.import.importing.title"
+msgid_plural "dashboard.import.importing.title"
+msgstr[0] "Importerar 1 fil"
+msgstr[1] "Importerar %s filer"
diff --git a/frontend/translations/ta.po b/frontend/translations/ta.po
index 99dbe76696..5af90355d0 100644
--- a/frontend/translations/ta.po
+++ b/frontend/translations/ta.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "ஏற்கனவே ஒரு கணக்கு உள்ளதா?"
@@ -29,7 +29,7 @@ msgstr ""
"இது ஒரு டெமோ சேவை, உண்மையான வேலைக்கு பயன்படுத்த வேண்டாம், திட்டங்கள் "
"அவ்வப்போது அழிக்கப்படும்."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
@@ -37,27 +37,27 @@ msgstr "கடவுச்சொல்லை மறந்துவிட்
msgid "auth.fullname"
msgstr "முழு பெயர்"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "இங்கே உள்நுழைக"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "கிட்லேப்"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "கூகுள்"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "ஓப்பன் ஐடி"
@@ -79,7 +79,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "கடவுச்சொல் மீட்பு இணைப்பு உங்கள் இன்பாக்ஸிற்கு அனுப்பப்பட்டது."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "அணியில் வெற்றிகரமாக இணைந்தார்"
@@ -111,11 +111,11 @@ msgstr "கடவுச்சொல்லை மறந்துவிட்
msgid "auth.recovery-submit"
msgstr "உங்கள் கடவுச்சொல்லை மாற்றுக"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "இன்னும் கணக்கு இல்லையா?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "ஒரு கணக்கை உருவாக்கவும்"
@@ -123,63 +123,63 @@ msgstr "ஒரு கணக்கை உருவாக்கவும்"
msgid "auth.register-title"
msgstr "ஒரு கணக்கை உருவாக்கவும்"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "சேவை விதிமுறைகள்"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "வெளியிடுங்கள்"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "அனைத்து Penpot பயனர்களும்"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"இந்த இணைப்பை நிச்சயமாக அகற்ற விரும்புகிறீர்களா? நீங்கள் அதைச் செய்தால், அது "
"இனி யாருக்கும் கிடைக்காது"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(தற்போதைய)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "இணைப்பை அழிக்கவும்"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "இணைப்பைப் பெறுங்கள்"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "இணைப்பு வெற்றிகரமாக நகலெடுக்கப்பட்டது"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "அனுமதிகளை நிர்வகிக்கவும்"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 பக்கம் பகிரப்பட்டது"
msgstr[1] "%s பக்கங்கள் பகிரப்பட்டன"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "கருத்து தெரிவிக்கலாம்"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "குறியீட்டை ஆய்வு செய்யலாம்"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "இணைப்பு உள்ள எவருக்கும் அணுகல் இருக்கும்"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "பக்கங்கள் பகிரப்பட்டன"
diff --git a/frontend/translations/th.po b/frontend/translations/th.po
index 8addf5215a..b1412c17a2 100644
--- a/frontend/translations/th.po
+++ b/frontend/translations/th.po
@@ -11,7 +11,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2026.10.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "มีบัญชีแล้ว?"
@@ -29,7 +29,7 @@ msgstr ""
"บริการนี้มีไว้สำหรับสาธิตการใช้งาน ห้ามใช้สำหรับชิ้นงานจริง "
"เนื่องจากข้อมูลจะถูกลบเป็นระยะ ๆ"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "ลืมรหัสผ่าน?"
@@ -37,35 +37,35 @@ msgstr "ลืมรหัสผ่าน?"
msgid "auth.fullname"
msgstr "ชื่อเต็ม"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "ลงชื่อเข้าใช้บัญชีของฉัน"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "ลงชื่อเข้าใช้ที่นี่"
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot เป็นเครื่องมือออกแบบที่ฟรีและโอเพนซอร์สสำหรับการดีไซน์และโค้ดร่วมกัน"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -85,7 +85,7 @@ msgstr "โปรไฟล์นี้ยังไม่ได้รับกา
msgid "auth.notifications.recovery-token-sent"
msgstr "ลิงก์กู้คืนรหัสผ่านถูกส่งไปยังกล่องข้อความของคุณแล้ว"
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "เข้าร่วมทีมสำเร็จ"
@@ -113,7 +113,7 @@ msgstr "ลืมรหัสผ่าน?"
msgid "auth.recovery-submit"
msgstr "เปลี่ยนรหัสผ่านของคุณ"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "ยังไม่มีบัญชี?"
@@ -125,7 +125,7 @@ msgstr "เราควรเรียกคุณในแดชบอร์ด
msgid "auth.register-account-title"
msgstr "ชื่อของคุณ"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "สร้างบัญชี"
@@ -138,7 +138,7 @@ msgstr "สร้างบัญชี"
msgid "auth.terms-and-privacy-agreement"
msgstr "ฉันยอมรับ [ข้อกำหนดการให้บริการ](%s)และ[นโยบายความเป็นส่วนตัว](%s)"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "เงื่อนไขการให้บริการ"
@@ -146,94 +146,94 @@ msgstr "เงื่อนไขการให้บริการ"
msgid "auth.work-email"
msgstr "อีเมลทำงาน"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "ผู้ใช้ Penpot ทั้งหมด"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบลิงก์นี้? หากคุณลบ จะไม่มีใครสามารถเปิดได้"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(ปัจจุบัน)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "ทำลายลิงก์"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "สร้างลิงก์"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "คัดลอกลิงก์แล้ว"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "จัดการสิทธิ์"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "แชร์แล้ว %s หน้า"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "สามารถคอมเมนต์"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "สามารถตรวจดูโคด"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "ทุกคนที่มีลิงก์สามารถเข้าถึงได้"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "หน้าที่ต้องการแชร์"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "ลิงก์ที่สามารถแชร์ได้จะปรากฏที่นี่"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "สมาชิกในทีมเท่านั้น"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "แชร์โปรโตไทป์"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "เลือกทั้งหมด"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "การจัดการทีม"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot เป็นเครื่องมือสำหรับการทำงานเป็นทีม "
"เชิญชวนสมาชิกมาทำงานด้วยกันผ่านโปรเจกต์และไฟล์ต่าง ๆ เลย"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "รวบรวมทีมเลย!"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "เปลี่ยนอีเมล"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(คัดลอก)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "สร้างทีมใหม่"
@@ -241,27 +241,27 @@ msgstr "สร้างทีมใหม่"
msgid "dashboard.default-team-name"
msgstr "Penpot ของคุณ"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "ลบทีม"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "ดาวน์โหลดไฟล์ Penpot (.penpot)"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "เมื่อสมาชิกโปรเจกต์สร้างแบบร่าง จะปรากฏที่นี่"
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "ยังไม่มีแบบร่าง"
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "เมื่อสมาชิกของโปรเจกต์สร้างไฟล์ จะแสดงผลที่นี่"
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "ยังไม่มีไฟล์"
@@ -285,44 +285,44 @@ msgstr "ยังไม่มีไลบรารี"
msgid "dashboard.export-binary-multi"
msgstr "ดาวน์โหลด %s ไฟล์ Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "ส่งออกบอร์ดเป็น PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "ส่งออกเป็น PDF"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "ส่งออก"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "ส่งออกส่วนที่เลือก"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "ฟอนต์ที่หายไป"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "ฟอนต์ที่กำหนดเองที่คุณอัปโหลดจะปรากฏที่นี่"
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "ยังไม่มีฟอนต์ที่กำหนดเอง"
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "เมื่อสมาชิกโปรเจกต์เพิ่มฟอนต์ที่กำหนดเอง จะปรากฏที่นี่"
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "เพิ่มแล้ว %s ฟอนต์"
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -331,64 +331,40 @@ msgstr ""
"นอกจากนี้คุณอาจต้องการอ่านเพิ่มเติมเกี่ยวกับ[ลิขสิทธิ์ฟอนต์](https://www."
"typography.com/faq)"
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "อัปโหลดทั้งหมด"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "นำเข้าไฟล์ Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "ไม่สามารถนำเข้าไฟล์นี้ได้"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "นำเข้าสำเร็จแล้ว %s ไฟล์"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "บางไฟล์มีวัตถุที่ไม่ถูกต้อง ซึ่งถูกนำออกให้แล้ว"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "กำลังประมวลผลสี"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "กำลังประมวลผลคอมโพเนนต์"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "กำลังประมวลผลสื่อ"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "กำลังประมวลผลหน้า: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "กำลังอัปโหลดข้อมูลไปยังเซิร์ฟเวอร์ (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "กำลังอัปโหลดไฟล์: %s"
-
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "ออกจากทีม"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "ไลบรารีและเทมเพลต"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "พบปัญหาในการนำเข้าเทมเพลต เทมเพลตนี้จึงไม่ถูกนำเข้า"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "ไลบรารี"
@@ -396,7 +372,7 @@ msgstr "ไลบรารี"
msgid "dashboard.loading-files"
msgstr "กำลังโหลดไฟล์ของคุณ…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "กำลังโหลดฟอนต์ของคุณ…"
@@ -412,23 +388,23 @@ msgstr "ย้าน %s ไฟล์ไปยัง"
msgid "dashboard.move-to-other-team"
msgstr "ย้ายไปยังทีมอื่น"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ สร้างไฟล์ใหม่"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "สร้างไฟล์ใหม่"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ สร้างโปรเจกต์ใหม่"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "สร้างโปรเจกต์ใหม่"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "อัปเดตอีเมลสำเร็จแล้ว"
@@ -440,7 +416,7 @@ msgstr "บันทึกรหัสผ่านแล้ว"
msgid "dashboard.open-in-new-tab"
msgstr "เปิดไฟล์ในแท็บใหม่"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "ตัวเลือก"
@@ -460,87 +436,87 @@ msgstr "คุณเป็นเอดิเตอร์ในทีมนี้
msgid "dashboard.permissions-change.owner"
msgstr "คุณเป็นเจ้าของในทีมนี้แล้ว"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "บันทึกการตั้งค่า"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "ค้นหา…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "เลือกภาษาของ UI"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "เลือกธีม"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "แสดงไฟล์ทั้งหมด"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "ข้อมูลของทีม"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "สมาชิกของทีม"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "โปรเจกต์ของทีม"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "ธีมของ UI"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "ผลการค้นหา"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "อัปเดตการตั้งค่า"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "ประเภทเนื้อหา"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "สร้าง Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "สร้าง Webhook แล้ว"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "บัญชีของคุณ"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "อีเมล"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "ชื่อของคุณ"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "อนุญาต"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "ยกเลิก"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "อีเมลถูกใช้ไปแล้ว"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "โดเมนนี้ไม่ได้รับอนุญาต"
@@ -568,7 +544,7 @@ msgstr "อีเมลหรือรหัสผ่านไม่ถูกต
msgid "errors.wrong-old-password"
msgstr "รหัสผ่านเดิมไม่ถูกต้อง"
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "ชุมชน Penpot"
@@ -576,11 +552,11 @@ msgstr "ชุมชน Penpot"
msgid "inspect.attributes.shadow"
msgstr "เงา"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "ขนาดฟอนต์"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "ระยะห่างระหว่างตัวอักษร"
@@ -596,7 +572,7 @@ msgstr "SVG"
msgid "labels.code"
msgstr "โคด"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "ชุมชน"
@@ -604,63 +580,63 @@ msgstr "ชุมชน"
msgid "labels.confirm-password"
msgstr "ยืนยันรหัสผ่าน"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "คัดลอกลิงก์"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "สร้างทีมใหม่"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "แดชบอร์ด"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "แก้ไข"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "เอดิเตอร์"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "ส่งออก"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "ฟอนต์"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "กราฟิกดีไซน์"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "ภาษา"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "ไลบรารีและเทมเพลต"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "กำลังโหลด…"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "ลงชื่อออก"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "สมาชิก"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "สมาชิก"
@@ -672,18 +648,18 @@ msgstr "รหัสผ่านใหม่"
msgid "labels.old-password"
msgstr "รหัสผ่านเดิม"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "เจ้าของ"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "รหัสผ่าน"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "โปรไฟล์"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "โปรเจกต์"
diff --git a/frontend/translations/tr.po b/frontend/translations/tr.po
index 853e76ab7a..65bcff3456 100644
--- a/frontend/translations/tr.po
+++ b/frontend/translations/tr.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Oğuz Ersen \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Turkish "
" \n"
"Language: tr\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Zaten hesabın var mı?"
@@ -33,7 +33,7 @@ msgstr ""
"Bu bir DEMO hizmettir, gerçek işleriniz için KULLANMAYIN, projeler belirli "
"aralıklarla silinecektir."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Parolanı mı unuttun?"
@@ -41,37 +41,37 @@ msgstr "Parolanı mı unuttun?"
msgid "auth.fullname"
msgstr "Tam Adın"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Hesabımda oturum aç"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Buradan oturum açın."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
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:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -79,7 +79,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "Yeni bir parola gir"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "Artık %s organizasyonunun bir parçasısınız"
@@ -95,7 +95,7 @@ msgstr "Profil onaylanmamış, devam etmeden önce profili onaylayın."
msgid "auth.notifications.recovery-token-sent"
msgstr "Parola kurtarma bağlantısı e-posta kutuna gönderildi."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Takıma başarıyla katıldın"
@@ -127,7 +127,7 @@ msgstr "Parolanı mı unuttun?"
msgid "auth.recovery-submit"
msgstr "Parolanı değiştir"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Henüz hesabın yok mu?"
@@ -139,7 +139,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:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Bir hesap oluştur"
@@ -152,7 +152,7 @@ msgstr "Bir hesap oluştur"
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:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Hizmet şartları"
@@ -174,93 +174,93 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "@%s için kişi bulunamadı"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Yayınla"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Tüm Penpot kullanıcıları"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Bu bağlantıyı kaldırmak istediğinizden emin misiniz? Bunu yaparsanız, artık "
"kimse tarafından kullanılamayacak"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(geçerli)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Bağlantıyı yok et"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Bağlantıyı al"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Bağlantı başarıyla kopyalandı"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "İzinleri yönet"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 sayfa paylaşıldı"
msgstr[1] "%s sayfa paylaşıldı"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Yorum yapabilir"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Kodu inceleyebilir"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Bağlantıya sahip olan herkes erişebilir"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Paylaşılan sayfalar"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Paylaşılabilir bağlantı burada görünecek"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Yalnızca takım üyeleri"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Prototipleri paylaş"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Tümünü Seç"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Yayından kaldır"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Takım yönetimi"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot takımlar içindir. Üyeleri projeler ve dosyalar üzerinde birlikte "
"çalışmaya davet edin"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Takım olun!"
@@ -276,33 +276,33 @@ msgstr "Dosyayı geri yükle"
msgid "dashboard.add-file"
msgstr "Dosya ekle"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Paylaşılan Kütüphane olarak ekle"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "E-posta adresini değiştir"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "TAKIMI TAŞI"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "Şuraya taşı:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr ""
"Projeler ve dosyalar takım üyeleri tarafından erişilebilir olmaya devam "
"edecek. Takım, yeni organizasyondan yapılandırmayı alacak."
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "Organizasyon seç"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "Takımın organizasyonunu değiştir"
@@ -360,23 +360,23 @@ msgstr "Tüm değişiklik günlüğünü görüntüle"
msgid "dashboard.check-updates.view-release-notes"
msgstr "Sürüm notlarını görüntüle"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Çöp kutusunu temizle"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(kopya)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Yeni organizasyon oluştur"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Yeni takım oluştur"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Bu sürümü sabitle"
@@ -384,7 +384,7 @@ msgstr "Bu sürümü sabitle"
msgid "dashboard.default-team-name"
msgstr "Penpot'un"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Silinen tüm projelerinizi ve dosyalarınızı kalıcı olarak silmek "
@@ -396,42 +396,42 @@ msgstr ""
"%s dosyasını kalıcı olarak silmek istediğinizden emin misiniz? Bu işlem "
"geri alınamaz."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s dosya başarıyla silindi."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Kalıcı olarak sil"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Projeyi sil"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"%s projesini kalıcı olarak silmek istediğinizden emin misiniz? Bu projeyi "
"ve içindeki tüm dosyaları kalıcı olarak sileceksiniz. Bu işlem geri "
"alınamaz."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s başarıyla silindi."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Takımı sil"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Çöp kutunuz boş. Silinen dosyalar ve projeler burada görünecektir."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "%s'de silinecek"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Penpot dosyasını indir (.penpot)"
@@ -443,19 +443,19 @@ msgstr "Kopyasını oluştur"
msgid "dashboard.duplicate-multi"
msgstr "%s dosyanın kopyasını oluştur"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Bir proje üyesi taslak oluşturduğunda, bu taslak burada gösterilecektir."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Henüz taslak yok."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Bir proje üyesi dosya oluşturduğunda, bu dosya burada gösterilecektir."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Henüz dosya yok."
@@ -503,23 +503,23 @@ msgstr ".penpot dosyasını içe aktar"
msgid "dashboard.empty-project.start"
msgstr "Harika şeyler oluşturmaya başlayın"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Dosyaları silerken bir hata oluştu."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "%s projesini silerken bir hata oluştu."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "%s dosyasını geri yüklerken bir hata oluştu."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Dosyaları geri yüklerken bir hata oluştu."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "%s projesini ve dosyalarını geri yüklerken bir hata oluştu."
@@ -527,37 +527,37 @@ msgstr "%s projesini ve dosyalarını geri yüklerken bir hata oluştu."
msgid "dashboard.export-binary-multi"
msgstr "%s Penpot dosyasını indir (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Çalışma yüzeylerini PDF olarak dışa aktar"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "PDF olarak dışa aktar"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "%s / %s öge seçildi"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Dışa aktar"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Tasarım özelliklerinden (sağ kenar çubuğunun alt kısmında) ögelere dışa "
"aktarma ayarları ekleyebilirsiniz."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Penpot'ta dışa aktarmaların nasıl ayarlandırılacağı hakkında bilgi."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "Dışa aktarma ayarlarına sahip hiçbir öge yok."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Seçimi dışa aktar"
@@ -581,35 +581,35 @@ msgstr "Izgara görünümü"
msgid "dashboard.files-layout.list"
msgstr "Liste görünümü"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Yazı tipi silindi"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Hepsini kapat"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Yüklediğiniz özel yazı tipleri burada görünecektir."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Henüz özel yazı tipi yok."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Bir proje üyesi özel bir yazı tipi yüklediğinde, bu yazı tipi burada "
"gösterilecektir."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -619,7 +619,7 @@ 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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -629,11 +629,11 @@ msgstr ""
"[yazı tipi lisanslama](https://www.typography.com/faq) hakkında daha fazla "
"bilgi almak isteyebilirsiniz."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Tümünü karşıya yükle"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -644,23 +644,23 @@ msgstr ""
"hataları düzeltmek için [Transfonter](https://transfonter.org/) "
"kullanmanızı öneririz. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Yönetici Arayüzüne Git"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "Son değişiklik tarihi %s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Penpot dosyalarını içe aktar"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Oops! Bu dosyayı içeri aktaramadık"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "1 kütüphane, adına göre otomatik olarak bağlandı."
@@ -670,119 +670,123 @@ msgstr[1] "%s kütüphane, adına göre otomatik olarak bağlandı."
msgid "dashboard.import.bad-url"
msgstr "İçe aktarma başarısız oldu. Şablon URL'si yanlış"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "Kütüphane bağlantılarını doğrula"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:814
+msgid "dashboard.import.connect-selected-libraries"
+msgstr "Seçilen kütüphaneleri bağla"
+
+#: src/app/main/ui/dashboard/import.cljs:288
+msgid "dashboard.import.file-name-label"
+msgstr "Dosya adı"
+
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Bu dosyayı doğrulayamadık."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Bu dosya bozuk gibi görünüyor."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Tüm dosyalar içe aktarılmadı"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Şu dosyalarda hata var:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Hatalı dosyalar karşıya yüklenmeyecektir."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Bu dosya işlenirken bir hata oluştu."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Bazı dosyalar kaldırılmış geçersiz nesneler içeriyordu."
+#: src/app/main/ui/dashboard/import.cljs:815
+msgid "dashboard.import.next-file"
+msgstr "Sonraki dosya"
+
#: src/app/main/ui/dashboard.cljs:265
msgid "dashboard.import.no-perms"
msgstr "Bu takıma içe aktarma izniniz yok"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Renkler işleniyor"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Bileşenler işleniyor"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Ortam işleniyor"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Sayfa işleniyor: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Tipografiler işleniyor"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Veriler sunucuya yükleniyor (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Dosya yükleniyor: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr ""
"Bazı kütüphaneler otomatik olarak bağlanamadı. Her biri için doğru "
"kütüphaneyi seçin:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "Onaylamadan önce kütüphane bağlantılarını gözden geçirin:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:447
+msgid "dashboard.import.resolve-libraries.connect-to"
+msgstr "şuna bağla"
+
+#: src/app/main/ui/dashboard/import.cljs:441
+msgid "dashboard.import.resolve-libraries.original-library"
+msgstr "orijinal kütüphane"
+
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "Bağlandı"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:517
+msgid "dashboard.import.summary.manually-linked"
+msgstr "elle bağlandı"
+
+#: src/app/main/ui/dashboard/import.cljs:525
+msgid "dashboard.import.summary.new"
+msgstr "Yeni"
+
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "Kütüphane seçilmedi"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/import.cljs:522
+msgid "dashboard.import.summary.original"
+msgstr "Orijinal"
+
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Şu davetleri sileceksiniz:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Şu davetleri yeniden göndereceksiniz:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Davetleri sil"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Davetleri yeniden gönder"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr "Bu takıma kişileri davet etme, davetleri düzenleme veya silme izniniz yok."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "İnsanları davet et"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "Bu takıma kişi davet etme izniniz yok"
@@ -794,29 +798,29 @@ msgstr "Organizasyondan ayrıl"
msgid "dashboard.leave-organization.toast"
msgstr "Artık %s organizasyonunun bir parçası değilsiniz."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Takımdan ayrıl"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Kütüphaneler ve Şablonlar"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr ""
"Burada projenize ekleyebileceğiniz bazı kütüphaneler ve şablonlar "
"bulunmaktadır"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Paylaşılan Kütüphaneler"
@@ -824,7 +828,7 @@ msgstr "Paylaşılan Kütüphaneler"
msgid "dashboard.loading-files"
msgstr "dosyalarınız yükleniyor …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "yazı tipleriniz yükleniyor…"
@@ -844,61 +848,65 @@ msgstr "%s dosyayı şuraya taşı"
msgid "dashboard.move-to-other-team"
msgstr "Başka takıma taşı"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Yeni Dosya"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Yeni Dosya"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Yeni Proje"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Yeni Proje"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "\"%s\" için sonuç bulunamadı"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "Hiçbir organizasyonunuza takım ekleme izniniz yok."
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:268
+msgid "dashboard.no-organizations-yet"
+msgstr "Henüz organizasyon yok."
+
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"%s organizasyonu içinde takım oluşturmanıza izin verilmiyor. Daha fazla "
"bilgiye ihtiyacınız varsa, organizasyonun sahibiyle iletişime geçin."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"%s organizasyonuna ait takımları silmenize izin verilmiyor. Daha fazla "
"bilgiye ihtiyacınız varsa, organizasyonun sahibiyle iletişime geçin."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"%s organizasyonuna ait takımları taşımanıza izin verilmiyor. Daha fazla "
"bilgiye ihtiyacınız varsa, organizasyonun sahibiyle iletişime geçin."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Sabitlenmiş projeler burada görünür"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Bildirimler"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "E-posta adresiniz başarıyla güncellendi"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "E-posta adresin başarıyla doğrulandı"
@@ -910,11 +918,11 @@ msgstr "Bildirim ayarları güncellendi"
msgid "dashboard.notifications.password-saved"
msgstr "Parola başarıyla kaydedildi!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Bildirimleri görüntüle"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s üye"
@@ -922,23 +930,23 @@ msgstr "%s üye"
msgid "dashboard.open-in-new-tab"
msgstr "Dosyayı yeni sekmede aç"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Seçenekler"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Role göre sırala"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Duruma göre sırala"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "%s organizasyonu silindi."
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "Diğer takımlar"
@@ -962,11 +970,11 @@ msgstr "Artık bu takımın sahibisiniz."
msgid "dashboard.permissions-change.viewer"
msgstr "Artık bu takımda bir görüntüleyicisiniz."
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "Kişisel Projeler"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Sabitle/Sabitleme"
@@ -982,27 +990,27 @@ msgstr "Eklenti bildirim dosyası ayrıştırılamıyor"
msgid "dashboard.plugins.try-plugin"
msgstr "Eklentiyi deneyin: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Dosyalar siliniyor…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Dosyalar geri yükleniyor…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Silme işlemi beklenmedik şekilde yavaş"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Geri yükleme işlemi beklenmedik şekilde yavaş"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Projeler"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Hesabınızı kaldırmak mı istiyorsunuz?"
@@ -1010,116 +1018,116 @@ msgstr "Hesabınızı kaldırmak mı istiyorsunuz?"
msgid "dashboard.removed-from-team"
msgstr "Artık “%s” takımının bir parçası değilsiniz."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr ""
"Tüm projelerinizi ve dosyalarınızı geri yükleyeceksiniz. Bu işlem biraz "
"zaman alabilir."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Tüm projeleri ve dosyaları geri yükle"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Tümünü Geri Yükle"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s dosya başarıyla geri yüklendi."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Projeyi geri yükle"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "%s projesini ve içindeki tüm dosyaları geri yükleyeceksiniz."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Projeyi Geri Yükle"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s başarıyla geri yüklendi."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Ayarları kaydet"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Ara…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "“%s“ aranıyor…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Organizasyonlar"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "Takımlar"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "ORGANİZASYONA EKLE"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "Organizasyon seç:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr ""
"\"%s\", yalnızca organizasyon üyelerinin takımlarına katılmasına izin "
"veriyor. Organizasyon dışındaki kişilere gönderilmiş bekleyen davetler "
"iptal edilecektir."
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "Dış kullanıcılara gönderilen bekleyen davetler iptal edilecektir."
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr ""
"Burada, takım oluşturmanıza veya eklemenize izin verilen tüm "
"organizasyonlarınızı bulabilirsiniz."
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr ""
"Burada, parçası olduğunuz ve takım oluşturmanıza veya eklemenize izin "
"verilen organizasyonları bulabilirsiniz."
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "Organizasyon seç"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "Takımı bir organizasyona ekle"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Arayüz dilini seç"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Tema seç"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Koyu (öntanımlı)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Açık"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Sistem teması"
@@ -1183,11 +1191,11 @@ msgstr "Ayarları güncelle"
msgid "dashboard.settings.notifications.title"
msgstr "Bildirimler"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Tüm dosyaları göster"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Sürüm geçmişi"
@@ -1211,7 +1219,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Dosyan başarıyla taşındı"
@@ -1223,108 +1231,108 @@ msgstr "Dosyaların başarıyla taşındı"
msgid "dashboard.success-move-project"
msgstr "Projen başarıyla taşındı"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s artık %s organizasyonuna ait"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Takım bilgisi"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Takım üyeleri"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s artık %s organizasyonuna ait değil"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Takım organizasyonu"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Organizasyona ekle"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "Bu takımı hiçbir organizasyonunuza ekleme izniniz yok."
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Takım organizasyonunu değiştir"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "Yalnızca organizasyonunuzdaki kişiler davet edilebilir."
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Bu takım herhangi bir organizasyonun parçası değil"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Takımı organizasyondan kaldır"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Takım projeleri"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Projenize ekleyin"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Kullanıcı arayüzü teması"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Arama sonuçları"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Silinen dosyaların çöp kutusunda kalacağı süre"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s gün "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Bundan sonra, kalıcı olarak silinecektir."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Fikrinizi değiştirirseniz, her dosyanın menüsünden bunları geri "
"yükleyebilir veya kalıcı olarak silebilirsiniz."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Aramak için yazın"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Kütüphaneyi Yayından Kaldır"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Ayarları güncelle"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "Artık %s organizasyonunun üyesi değilsiniz"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Beta"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"WebGL görselleştirme performansı iyileştirebilir, ancak bu özellik henüz "
@@ -1332,76 +1340,76 @@ msgstr ""
"(SVG/PDF) ve görüntüleme modu arasında bazı görsel farklılıklar ortaya "
"çıkabilir."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Devre dışı"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Etkin"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Geri bildirimde bulun"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Durum"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL görselleştirme"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Etkin"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Bu kanca tetiklendiğinde olay ayrıntıları iletilecektir"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr ""
"Yalnızca sizin oluşturduğunuz web kancalarını silebilir veya "
"değiştirebilirsiniz."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "İçerik türü"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Web kancası oluştur"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Web kancası başarıyla oluşturuldu."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Web kancaları, Penpot'ta belirli olaylar gerçekleştiğinde diğer web "
"sitelerinin ve uygulamaların bilgilendirilmesine izin vermenin basit bir "
"yoludur. Belirttiğiniz URL'lerin her birine bir POST isteği göndereceğiz."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Bir tane eklemek için \"Web kancası ekle\" düğmesine basın."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "Şimdiye kadar web kancası oluşturulmadı."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Hesabınız"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "E-posta"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Adın"
@@ -1417,11 +1425,11 @@ msgstr "Dikkat"
msgid "ds.component-subtitle"
msgstr "Güncellenecek bileşenler:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "İzin ver"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "İptal"
@@ -1441,7 +1449,7 @@ msgstr "Etkin kümelerde veya temalarda geçerli token yok."
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Eşleşme bulunamadı."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Token listesini aç"
@@ -1449,6 +1457,12 @@ msgstr "Token listesini aç"
msgid "ds.inputs.token-field.no-active-token-option"
msgstr "{%s} herhangi bir etkin kümede bulunmuyor veya geçersiz bir değere sahip."
+#: src/app/main/ui/auth/login.cljs:113
+msgid "errors.account-locked"
+msgstr ""
+"Çok fazla başarısız deneme yapıldı. Hesabınız %s dakika kilitlendi. Lütfen "
+"daha sonra tekrar deneyin."
+
#: src/app/main/data/auth.cljs:344
msgid "errors.auth-provider-not-allowed"
msgstr "Kimlik doğrulama sağlayıcısına bu profil için izin verilmiyor"
@@ -1457,15 +1471,15 @@ msgstr "Kimlik doğrulama sağlayıcısına bu profil için izin verilmiyor"
msgid "errors.auth-provider-not-configured"
msgstr "Kimlik doğrulama sağlayıcısı yapılandırılmadı."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "%s yazı tipi yüklenemedi"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "%s yazı tipleri yüklenemedi"
@@ -1477,57 +1491,61 @@ msgstr "Medya dosyası yüklenemedi."
msgid "errors.character-limit-exceeded"
msgstr "Karakter sınırı aşıldı"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "Kütüphane eklenemiyor: bu, döngüsel bir bağımlılık oluşturur"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"Pano API'si kullanılabilir değil. Pano erişimini etkinleştirmek için "
"Penpot'u HTTPS üzerinden sunun"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Tarayıcın bu işlemi gerçekleştiremiyor"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Pano erişimi reddedildi. İçeriği yapıştırmak için lütfen tarayıcınızda pano "
"izinlerini etkinleştirin"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "Yorumla ilgili bir hata oluştu"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:586
+msgid "errors.connection-error"
+msgstr "Sunucuya erişilemiyor. Bağlantınızı gözden geçirin ve tekrar deneyin."
+
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Üzgünüz! Bu, artık kullanılmayan bir Penpot varlık türü kullanan eski bir "
"dosyadır ve açamazsınız."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "böylece size yardımcı olabiliriz."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Penpot artık bu tür varlıkları desteklemese de, bizimle"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "iletişime geçebilirsiniz"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Bir üst kümeyi kendi alt kümesine bırakamazsınız."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "E-posta zaten kullanımda"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "E-posta zaten doğrulandı."
@@ -1539,29 +1557,29 @@ msgstr "E-postanızı parola olarak kullanamazsınız"
msgid "errors.email-does-not-match-invitation"
msgstr "E-posta adresi davetiyeyle eşleşmiyor."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Etki alanına izin verilmiyor"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "«%s» adresi için çok fazla geri dönme raporu var."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "«%s» e-postasının spam veya kalıcı olarak geri döndüğü bildirildi."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Görünüşe göre '%s' özelliğinin etkin olduğu bir dosyayı açıyorsunuz, ancak "
"şu anki penpot sürümü bunu desteklemiyor veya devre dışı bırakıldı."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "'%s' özelliği desteklenmiyor."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "En fazla %s karakter içermelidir."
@@ -1569,7 +1587,7 @@ msgstr "En fazla %s karakter içermelidir."
msgid "errors.field-min-length"
msgstr "En az 1 karakter içermelidir."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Boş alan"
@@ -1577,24 +1595,24 @@ msgstr "Boş alan"
msgid "errors.field-not-all-whitespace"
msgstr "Ad boşluk dışında bir karakter içermelidir."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Etkinleştirilen özellikler ile açmaya çalıştığınız dosyanın özellikleri "
"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/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Yazı tipi ailesi adı yalnızca harfler, rakamlar, boşluklar, tireler, alt "
"çizgiler ve noktalardan oluşabilir."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Bir şeyler ters gitti."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Web çalıştırıcısında bir sorun oluştu."
@@ -1610,7 +1628,7 @@ msgstr "Geçersiz veri"
msgid "errors.invalid-email"
msgstr "Lütfen geçerli bir e-posta adresi girin"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Doğrulama e-postası eşleşmiyor"
@@ -1646,11 +1664,11 @@ msgstr "Bu davet iptal edilmiş veya süresi dolmuş olabilir."
msgid "errors.ldap-disabled"
msgstr "LDAP ile oturum açma devre dışı bırakıldı."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "'%s' sınırına ulaştınız. Destek ile iletişime geçin."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "Tek bir istekte davet edilebilecek en fazla (%s) e-posta sayısına ulaşıldı"
@@ -1666,21 +1684,21 @@ msgstr "Görselin içeriği, dosya uzantısı ile eşleşmiyor gibi görünüyor
msgid "errors.media-type-not-allowed"
msgstr "Geçerli bir görsel gibi görünmüyor."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Davet ettiğiniz profilin e-posta adresine ait çok fazla geri dönme raporu "
"var veya spam olarak bildirilmiş."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Geçiş devam ediyor"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Yalnızca sürüm oluşturucu onu kilitleyebilir"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Yalnızca sürüm oluşturucu onun kilidini açabilir"
@@ -1692,7 +1710,7 @@ msgstr "Organizasyondan ayrılma sırasında bir hata oluştu. Lütfen tekrar de
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "Organizasyon sahibi organizasyondan ayrılamaz."
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "Bu organizasyon yok"
@@ -1704,7 +1722,7 @@ msgstr "Parolalar eşleşmedi"
msgid "errors.password-too-short"
msgstr "Parola en az 8 karakterden oluşmalı"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Panoda geçersiz veri"
@@ -1712,7 +1730,7 @@ msgstr "Panoda geçersiz veri"
msgid "errors.profile-blocked"
msgstr "Profil engellendi"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Profilinizde sessize alınmış e-postalar var (spam raporları veya yüksek "
@@ -1722,7 +1740,7 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Kayıt olma şu anda devre dışı."
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr ""
"En son yaptığınız değişiklikler kaydedildi olarak onaylanmadı. Kaydetme "
@@ -1730,19 +1748,23 @@ msgstr ""
"yüklemeyin: değişiklikleriniz kaybolabilir. Yardım için destek ile "
"iletişime geçin."
-#: src/app/main/errors.cljs:764
+#: src/app/main/data/persistence.cljs:447
+msgid "errors.save-retrying"
+msgstr "Bağlantı kesildi. Değişikliklerinizi kaydetmek için yeniden deneniyor."
+
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG geçersiz veya biçimi yanlış"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Uyumsuz '%s' özelliği algılandı"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "Takımdan ayrılmak için yeterli üye yok, onu silmek isteyebilirsiniz."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Atamaya çalıştığınız üye mevcut değil."
@@ -1750,7 +1772,7 @@ msgstr "Atamaya çalıştığınız üye mevcut değil."
msgid "errors.team-leave.only-owner-can-delete"
msgstr "Bir takımı yalnızca sahibi silebilir."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Sahip takımdan ayrılamaz, sahip rolünü yeniden atamanız gerekir."
@@ -1762,11 +1784,11 @@ msgstr "Takım adı şu karakterleri içeremez:'.', ':' veya '/'"
msgid "errors.token-set-already-exists"
msgstr "Aynı ada sahip bir küme zaten var"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "Bırakma işlemi tamamlanamıyor, aynı ada sahip bir küme zaten bu yolda var."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Aynı ada sahip tema seçeneği var"
@@ -1778,13 +1800,13 @@ msgstr "Tema, var olmayan bazı kümelere referans veriyor: %s"
msgid "errors.tokens.circular-reference"
msgstr "Tokende döngüsel referans var"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr ""
"Satır yüksekliği yazı tipi boyutuna bağlıdır. Çözülen değeri elde etmek "
"için bir yazı tipi boyutu ekleyin."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "Bu alan boş olamaz"
@@ -1804,11 +1826,11 @@ msgstr "İçe Aktarma Hatası:"
msgid "errors.tokens.invalid-color"
msgstr "Geçersiz renk değeri: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "Geçersiz token değeri: yalnızca font-family tokenine referans verebilirsiniz"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr ""
"Geçersiz yazı tipi kalınlığı değeri: sayısal değerler (100-950) veya "
@@ -1830,39 +1852,39 @@ msgstr ""
"Token adları yalnızca . karakterleriyle ayrılan harfler ve rakamlar "
"içermeli ve $ işaretiyle başlamamalıdır."
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "Geçersiz gölge türü: yalnızca 'innerShadow' veya 'dropShadow' kabul edilir"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr ""
"Geçersiz token değeri: yalnızca none, Uppercase, Lowercase veya Capitalize "
"kabul edilir"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr ""
"Geçersiz token değeri: yalnızca none, underline ve strike-through kabul "
"edilir"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "Geçersiz değer: bileşik gölge tokenine referans vermelidir."
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "Geçersiz değer: bileşik tipografi tokenine referans vermelidir."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Geçersiz token değeri: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Eksik token referansları: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "%s grup adı, başka bir etkin kümedeki aynı adlı bir tokenle çakışıyor."
@@ -1874,31 +1896,31 @@ msgstr "Bu dosyada token, küme veya tema bulunamadı."
msgid "errors.tokens.number-too-large"
msgstr "Geçersiz token değeri. Çözülen değer çok büyük: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Opaklık 0 ile %100 veya 0 ile 1 arasında olmalıdır (örneğin %50 veya 0.5)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Tokenin kendine referansı var"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "Gölge bulanıklığı 0 veya 0'dan büyük olmalıdır."
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "Gölge yayılımı 0 veya 0'dan büyük olmalıdır."
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Çerçeve genişliği 0'dan büyük veya 0 olmalıdır."
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "Geçersiz değer: % izin verilmiyor."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Geçersiz değer: Birimlere izin verilmiyor."
@@ -1906,19 +1928,19 @@ msgstr "Geçersiz değer: Birimlere izin verilmiyor."
msgid "errors.unexpected-error"
msgstr "Beklenmedik bir hata oluştu."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Bilinmeyen jeton"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Bu sürüm zaten kilitli"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Bu sürüm kilitlidir ve başkaları tarafından silinemez"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Dosyanın uyumsuz bir sürüm numarası var"
@@ -1951,39 +1973,39 @@ msgstr "En az 1 büyük harf"
msgid "errors.weak-password.too-short"
msgstr "En az 8 karakter"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL çalışmayı durdurdu. Sıfırlamak için lütfen sayfayı yeniden yükleyin"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "Oops! Tuval içeriği kayboldu"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Bağlantı hatası, URL'ye erişilemiyor"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL doğrulamayı geçemiyor."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Son iletim başarılı olmadı."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSL doğrulamasında hata."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Zaman aşımı"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Doğrulamada beklenmeyen hata"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Beklenmeyen durum %s"
@@ -2003,17 +2025,17 @@ msgstr "Açıklama"
msgid "feedback.description-placeholder"
msgstr "Lütfen geri bildiriminizin nedenini açıklayın"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Burada olmanızdan mutluluk duyuyoruz. Yardıma ihtiyacınız varsa, lütfen "
"göndermeden önce arama yapın."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot topluluğu"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Bizimle iletişime geçmenin diğer yolları"
@@ -2037,11 +2059,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Bizimle iletişime geçin"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Teknik sorularınıza yardımcı olmak için buradayız."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X destek hesabı"
@@ -2061,45 +2083,41 @@ msgstr "Fikir"
msgid "feedback.type.issue"
msgstr "Sorun"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Dosyaları indir"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "Bağlantılı kütüphane varlıkları dosyaya dahil edilmeyecek."
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "Varlıkları temel nesneler olarak değerlendir"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr ""
"Bağlantılı kütüphaneler içeren dosyalar, bağlantıları korunacak şekilde "
"dışa aktarıma dahil edilecek. "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "Dosyayı ve kütüphaneleri dışa aktar"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr ""
"İçe aktarıldığında, aynı ada sahip var olan kütüphaneleri birbirine "
"bağlayabileceksiniz."
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "İçe aktarımda eşleşen kütüphaneleri bağla"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr ""
"Dosyanız, kütüphane varlığı yerel kütüphaneye birleştirilmiş olarak dışa "
"aktarılacak."
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "Kütüphane varlıklarını dosyaya göm"
@@ -2107,7 +2125,7 @@ msgstr "Kütüphane varlıklarını dosyaya göm"
msgid "generic.error"
msgstr "Bir hata oluştu"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "Uygula"
@@ -2155,7 +2173,7 @@ msgstr "Şeklin dolgu görselinin ön izlemesi"
msgid "inspect.attributes.shadow"
msgstr "Gölge"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Boyut ve konum"
@@ -2163,43 +2181,31 @@ msgstr "Boyut ve konum"
msgid "inspect.attributes.stroke"
msgstr "Çerçeve"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Merkezi"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "İçinde"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Dışarıda"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Tipografi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Yazı Tipi Ailesi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Yazı Tipi Boyutu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Yazı Tipi Biçimi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Harf Aralığı"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Satır Yüksekliği"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "Karışık Yazı Tipi Aileleri"
@@ -2207,15 +2213,19 @@ msgstr "Karışık Yazı Tipi Aileleri"
msgid "inspect.attributes.typography.text-decoration.none"
msgstr "Hiçbiri"
+#: src/app/main/ui/inspect/attributes/text.cljs:117
+msgid "inspect.attributes.typography.text-decoration.strikethrough"
+msgstr "Üstü çizili"
+
#: src/app/main/ui/inspect/attributes/text.cljs:115
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Altı Çizili"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "İlk Harfleri Büyük"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Küçük Harf"
@@ -2227,7 +2237,7 @@ msgstr "Hiçbiri"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Ayarlanmadı"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Büyük Harf"
@@ -2275,6 +2285,10 @@ msgstr "Kopyala"
msgid "inspect.subtitle.main"
msgstr "Ana bileşen"
+#: src/app/main/ui/inspect/right_sidebar.cljs:176
+msgid "inspect.tabs-switcher-label"
+msgstr "Sekme incelemeye geç"
+
#: src/app/main/ui/inspect/right_sidebar.cljs:142
msgid "inspect.tabs.code.selected.circle"
msgstr "Daire"
@@ -2351,23 +2365,23 @@ msgstr "Çözülen değer:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Çeşit özellikleri"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "Yeni erişim tokeni oluştur"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "Bir tane oluşturmak için \"Yeni erişim tokeni oluştur\" düğmesine basın."
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "Şu ana kadar hiç tokeniniz yok."
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "Kişisel erişim tokenleri"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr ""
"Kişisel erişim tokenleri, kullanıcı adı/parola kimlik doğrulama sistemimize "
@@ -2452,53 +2466,53 @@ msgstr "MCP anahtarının geçerlilik süresi %s tarihinde sona erecek"
msgid "integrations.mcp-key.will-not-expire"
msgstr "MCP anahtarının geçerlilik süresinin sonu yok"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr ""
"Penpot MCP Sunucusu, MCP istemcilerinin Penpot tasarım dosyalarıyla "
"doğrudan etkileşime girmesini sağlar."
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "MCP istemcileri nasıl yapılandırılır"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Bu, MCP istemcinizi Penpot MCP sunucusuna bağlamak için yapılandırmanız "
"gereken sunucu adresidir."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "MCP anahtarını yeniden oluştur"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP anahtarı"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "MCP istemcisinin kurulumu için MCP anahtarı gereklidir"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Durum"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Devre dışı"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Etkin"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr ""
"MCP sunucusuna bağlanmak için kullanılan MCP anahtarının geçerlilik süresi "
"doldu. Bu nedenle bağlantı kurulamıyor."
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr ""
"Lütfen MCP anahtarını yeniden oluşturun ve istemci yapılandırmanızı yeni "
@@ -2508,10 +2522,6 @@ msgstr ""
msgid "integrations.mcp-server.title"
msgstr "MCP Sunucusu"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "Beta"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "Ad"
@@ -2562,7 +2572,7 @@ msgstr "MCP anahtarını yeniden oluştur"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP anahtarı yeniden oluşturuldu"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "Bütünleşmeler"
@@ -2580,47 +2590,47 @@ msgstr "Tokenin geçerlilik süresi %s tarihinde sona erecek"
msgid "integrations.token.will-not-expire"
msgstr "Tokenin geçerlilik süresinin sonu yok"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Tümünü okundu olarak işaretle"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Kısayollar"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Penpot hakkında"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Kabul et"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Etkin"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Ekle"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Özel yazı tipi ekle"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Ekleniyor..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Yönetici"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Hepsi"
@@ -2628,17 +2638,17 @@ msgstr "Hepsi"
msgid "labels.and"
msgstr "ve"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Geri"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Görünüşe göre biraz beklemen ve yeniden denemen gerekiyor; sunucularımızda "
"küçük bir bakım yapıyoruz."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Hatalı Ağ Geçidi"
@@ -2650,23 +2660,23 @@ msgstr "Bulanıklık"
msgid "labels.blur-effects"
msgstr "Bulanıklık efektleri"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "İptal"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "Güncellemeleri denetle"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "Güncellemeler denetleniyor..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Kapat"
@@ -2674,7 +2684,7 @@ msgstr "Kapat"
msgid "labels.code"
msgstr "Kod"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Daralt"
@@ -2686,15 +2696,15 @@ msgstr "Renk"
msgid "labels.comment"
msgstr "Yorum"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Yorumlar"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Topluluk"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Topluluk ve Katkılar"
@@ -2706,19 +2716,19 @@ msgstr "Hesaplanan"
msgid "labels.confirm-password"
msgstr "Parolayı onayla"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Destek için iletişime geçin"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Bizimle iletişime geçin"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Devam et"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Penpot hesabıyla devam edebilirsiniz"
@@ -2730,23 +2740,23 @@ msgstr "Kopyala"
msgid "labels.copy-color"
msgstr "Rengi kopyala"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Bağlantıyı kopyala"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-şimdiye kadar"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Oluştur"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Yeni takım oluştur"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Yeni takım adı gir"
@@ -2754,7 +2764,7 @@ msgstr "Yeni takım adı gir"
msgid "labels.current"
msgstr "Geçerli"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Denetim paneli"
@@ -2762,7 +2772,7 @@ msgstr "Denetim paneli"
msgid "labels.default"
msgstr "Öntanımlı"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Sil"
@@ -2774,7 +2784,7 @@ msgstr "Yorumu sil"
msgid "labels.delete-comment-thread"
msgstr "Mesaj dizisini sil"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Daveti sil"
@@ -2782,39 +2792,35 @@ msgstr "Daveti sil"
msgid "labels.delete-multi-files"
msgstr "%s dosyayı sil"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "Profil fotoğrafınızı silmek istediğinizden emin misiniz?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "Profil fotoğrafını sil"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Silindi"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Geliştirici"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "At"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "%s indir"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "İndir"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "Dosya indiriliyor…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Taslak"
@@ -2822,19 +2828,19 @@ msgstr "Taslak"
msgid "labels.duplicate"
msgstr "Çoğalt"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Düzenle"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Düzenleyici"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Boş"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Hata"
@@ -2842,11 +2848,11 @@ msgstr "Hata"
msgid "labels.exit"
msgstr "Çıkış"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Süresi doldu"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Dışa aktar"
@@ -2858,7 +2864,7 @@ msgstr "Geri bildirim devre dışı bırakıldı"
msgid "labels.feedback-sent"
msgstr "Geri bildirim gönderildi"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2866,63 +2872,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "Doldur"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Esnek düzen"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Yazı Tipi Ailesi"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Biçimler"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Yazı tipleri"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Github deposu"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Geri bildirimde bulun"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Geri dön"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Grafik tasarımı"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "Izgara düzen"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Yardım Merkezi"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Yardım ve Öğrenme"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Gizle"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Çözülen yorumları gizle"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "İçe aktar"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Etkin değil"
@@ -2930,53 +2936,53 @@ msgstr "Etkin değil"
msgid "labels.info"
msgstr "Bilgi"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Kurulu yazı tipleri"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "Bütünleşmeler"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Kötü bir şey oldu."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr ""
"İşlemi yeniden deneyebilir veya hatayı bildirmek için destek ekibiyle "
"iletişime geçebilirsiniz."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "İç Hata"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Davetler"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Dil"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Yerleşim düzeni"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Öğrenme Merkezi"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Kütüphaneler ve Şablonlar"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Yükleniyor…"
@@ -2984,7 +2990,7 @@ msgstr "Yükleniyor…"
msgid "labels.lock"
msgstr "Kilitle"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Oturum açın veya kaydolun"
@@ -2992,19 +2998,19 @@ msgstr "Oturum açın veya kaydolun"
msgid "labels.login"
msgstr "Oturum aç"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Oturumu kapat"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Pazarlama"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Üye"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Üyeler"
@@ -3016,41 +3022,41 @@ msgstr "Değinme"
msgid "labels.new-password"
msgstr "Yeni parola"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Sonraki"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr "Bu örnek, en son sürümle birlikte gelen bir kurulum adımına ihtiyaç duyuyor."
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "Göz atın"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot henüz başlatılamıyor."
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "teknik kılavuz"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr ""
"Penpot, bir sistem sorunu nedeniyle geçici olarak kullanılamıyor. Lütfen "
"biraz sonra tekrar deneyin."
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Hepsini bitirdiniz! Yeni yorum bildirimleri burada görünecektir."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "Bekleyen davetiye yok."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Arkadaşlarınızı toplayın ve birlikte harika şeyler oluşturun."
@@ -3058,27 +3064,27 @@ msgstr "Arkadaşlarınızı toplayın ve birlikte harika şeyler oluşturun."
msgid "labels.no-matches"
msgstr "Eşleşme yok"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Oops!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Bildirimler"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 dosya"
msgstr[1] "%s dosya"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 çalışma yüzeyi"
msgstr[1] "%s çalışma yüzeyi"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 proje"
@@ -3088,43 +3094,43 @@ msgstr[1] "%s proje"
msgid "labels.old-password"
msgstr "Eski parola"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "Aç"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Seçenekler"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Diğer (lütfen belirtiniz)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Diğer"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Sahip"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Parola"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Bekliyor"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot Değişiklik Günlüğü"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot merkezi"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Sabitlenen Projeler"
@@ -3132,31 +3138,31 @@ msgstr "Sabitlenen Projeler"
msgid "labels.post"
msgstr "Gönder"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Önceki"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Ürün veya kullanıcı deneyimi tasarımı"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Ürün veya Proje yöneticisi"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Profil"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Projeler"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Son kullanılanlar"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Referans"
@@ -3164,27 +3170,27 @@ msgstr "Referans"
msgid "labels.refresh"
msgstr "Yenile"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Sürüm notları"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Sayfayı yeniden yükle"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Kaldır"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Üyeyi kaldır"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Yeniden adlandır"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Takımı yeniden adlandır"
@@ -3208,11 +3214,11 @@ msgstr "yeni yanıt"
msgid "labels.reply.thread"
msgstr "Yanıtla"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Yeniden gönder"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Daveti yeniden gönder"
@@ -3220,43 +3226,43 @@ msgstr "Daveti yeniden gönder"
msgid "labels.restore"
msgstr "Geri yükle"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Yeniden dene"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Rol"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Kaydet"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Ara"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Yazı tipi ara"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Bir seçenek belirleyin"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Gönder"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Gönderiliyor…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Sistemlerimizin programlı bakımını yapıyoruz."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Hizmet Kullanılamıyor"
@@ -3264,70 +3270,74 @@ msgstr "Hizmet Kullanılamıyor"
msgid "labels.sets"
msgstr "Kümeler"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Ayarlar"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Gölge"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Paylaş"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Paylaşılan Kütüphaneler"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Göster"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Tüm yorumları göster"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Yorum listesini göster"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Yalnızca değinmelerinizi göster"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Yalnızca kendi yorumlarımı göster"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/import.cljs:808
+msgid "labels.skip"
+msgstr "Atla"
+
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Kaynaklar"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr ""
"Organizasyonunuzun kimlik sağlayıcısıyla oturum açma işlemi tamamlanmadı. "
"Sağlayıcı şu anda kullanılamıyor olabilir veya hesabınız henüz sağlayıcının "
"dizininde yer almıyor olabilir."
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "Tekrar deneyin"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "%s için oturum açamadık"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Başla"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Durum"
@@ -3335,7 +3345,7 @@ msgstr "Durum"
msgid "labels.stroke"
msgstr "Çerçeve"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Öğrenci veya öğretmen"
@@ -3347,27 +3357,31 @@ msgstr "Biçimler"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Değiştir"
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:657
+msgid "labels.team-management"
+msgstr "Takım yönetimi"
+
#: src/app/main/ui/inspect/styles/style_box.cljs:30
msgid "labels.text"
msgstr "Metin"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Temalar"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Öğreticiler"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Tipografi"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Bilinmeyen hata"
@@ -3379,35 +3393,31 @@ msgstr "Kilidi aç"
msgid "labels.unpublish-multi-files"
msgstr "%s dosyayı yayından kaldır"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Güncelle"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Takımı güncelle"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Yükle"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Özel yazı tipi yükle"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Yükleniyor…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "Dosya karşıya yükleniyor…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Çeşit"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Sürüm %s notları"
@@ -3415,7 +3425,7 @@ msgstr "Sürüm %s notları"
msgid "labels.view-only"
msgstr "Yalnızca görüntüle"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Görüntüleyici"
@@ -3429,7 +3439,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s uyarı"
msgstr[1] "%s uyarı"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Web kancaları"
@@ -3437,11 +3447,11 @@ msgstr "Web kancaları"
msgid "labels.write-new-comment"
msgstr "Yeni yorum yaz"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(siz)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Hesabınız"
@@ -3584,7 +3594,7 @@ msgstr ""
"Bazı takımların tek üyesi sizsiniz. Bu takımlar, projeleriyle ve "
"dosyalarıyla birlikte silinecek."
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "ORGANİZASYONDAN AYRILMADAN ÖNCE"
@@ -3592,80 +3602,80 @@ msgstr "ORGANİZASYONDAN AYRILMADAN ÖNCE"
msgid "modals.before-leave-organization.warning"
msgstr "Tek üyesi olduğunuz tüm takımlar silinecektir."
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Büyük dürtme"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Yeni e-postayı doğrulayın"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"“%s” e-posta adresinize kimliğinizi doğrulamak için bir e-posta "
"göndereceğiz."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Yeni e-posta"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "E-postayı değiştir"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "E-postanızı değiştirin"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Web kancası oluştur"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Web kancası oluştur"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Yük URL'si"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "İptal et ve hesabımı koru"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Evet, hesabımı sil"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Hesabını silerek tüm projelerini ve arşivlerini kaybedeceksin."
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr ""
"Bu işlem geri alınamaz. Hesabınız, aboneliğiniz ve organizasyonlarınız "
"hemen silinecektir. Ayrıca var olan projelerinize ve dosyalarınıza "
"erişiminizi de kaybedeceksiniz."
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "Silinecek organizasyonlar"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s üye"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s takım"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Hesabını silmek istediğinden emin misin?"
@@ -3725,23 +3735,23 @@ 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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Yazı tipi biçimini sil"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Yazı tipini sil"
@@ -3751,19 +3761,19 @@ msgstr ""
"%s organizasyonunun parçası olan bu takımı silmek istediğinizden emin "
"misiniz?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Bu sayfayı silmek istediğinden emin misin?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Sayfayı sil"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "Seçilen sayfaları silmek istediğinizden emin misiniz?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "Sayfaları sil"
@@ -3779,31 +3789,31 @@ msgstr "Bu projeyi silmek istediğinden emin misin?"
msgid "modals.delete-project-confirm.title"
msgstr "Projeyi sil"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Dosyayı sil"
msgstr[1] "Dosyaları sil"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Hiçbir dosyada etkinleştirilmedi."
msgstr[1] "Hiçbir dosyada etkinleştirilmediler."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Bu kütüphane burada etkinleştirildi: "
msgstr[1] "Bu kütüphaneler burada etkinleştirildiler: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Bu dosyayı silmek istediğinizden emin misiniz?"
msgstr[1] "Bu dosyaları silmek istediğinizden emin misiniz?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Dosya siliniyor"
@@ -3823,19 +3833,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Takım siliniyor"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Üyeyi sil"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Bu üyeyi takımdan silmek istediğinden emin misin?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Takım üyesini sil"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3845,23 +3855,23 @@ msgstr[1] ""
"Bu dosyalarda daha önce kullanılmış olan varlıklar orada kalmaya devam "
"edecek (hiçbir tasarım bozulmayacak)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Web kancasını sil"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Bu web kancasını silmek istediğinizden emin misiniz?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Web kancası siliniyor"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Web kancasını düzenle"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Web kancasını düzenle"
@@ -3877,15 +3887,15 @@ msgstr "Tokenleri içe aktar"
msgid "modals.import-library-tokens.title"
msgstr "Kütüphaneden tokenler içe aktarılsın mı?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Davet gönder"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "E-posta adresleri, virgülle ayrılmış"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Bazı e-posta adresleri mevcut takım üyelerine aittir. Davetleri "
@@ -3908,99 +3918,99 @@ msgstr ""
"kişiler zaten takımın üyeleridir. Daha fazla bilgiye ihtiyacınız varsa, "
"organizasyonun sahibiyle iletişime geçin."
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "Davet almayacak adresler"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "İptal"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "Yalnızca organizasyonun var olan üyeleri davet edilebilir."
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "Davetleri gönder"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "Bazı davetler gönderilemiyor"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "Listenizdeki bazı kişiler davet almayacak."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Üyeleri takıma davet ederek bu dosyaya ve tüm takım dosyalarına "
"erişmelerini sağlayabilirsiniz."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Üyeleri takıma davet et"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Tek üyesi siz olduğunuz için takım, projeleri ve dosyaları ile birlikte "
"silinecektir."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "%s takımından ayrılmak istediğinizden emin misiniz?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Birisini takımın sahibi yapmadan takımı bırakamazsın. Takımı silmek "
"isteyebilirsin."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Bu takımın sahibi sizsiniz. Lütfen ayrılmadan önce sahibi olarak belirlemek "
"için başka bir üye seçin."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Terfi ettir ve ayrıl"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Terfi ettirmek için bir üye seçin"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Ayrılmadan önce"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Takımdan ayrıl"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Bu takımdan ayrılmak istediğinden emin misin?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Takımdan ayrıl"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr ""
"Bazı organizasyon takımlarının sahibi sizsiniz. Lütfen başka bir üyeyi "
"sahibi olarak atayın."
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr ""
"Bazı takımların tek üyesi sizsiniz. Bu takımlar, projeleriyle ve "
"dosyalarıyla birlikte silinecek."
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr ""
"Ayrıca, bazı organizasyon takımlarının sahibi sizsiniz. Lütfen başka bir "
@@ -4020,57 +4030,57 @@ msgstr ""
msgid "modals.leave-organization-confirm.title"
msgstr "%s organizasyonundan ayrılıyor musunuz?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Taşı"
msgstr[1] "Taşı"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Bu kütüphaneyi taşımak istediğinizden emin misiniz?"
msgstr[1] "Bu kütüphaneleri taşımak istediğinizden emin misiniz?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Kütüphaneyi taşı"
msgstr[1] "Kütüphaneleri taşı"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Dürtme miktarı"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Sahipliği aktar"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Sahipliği aktarırsanız, rolünüzü Yönetici olarak değiştireceksiniz ve bu "
"takım üzerindeki bazı izinleri kaybedeceksiniz. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Bu takımın şu anki sahibi sizsiniz. %s kişisini takımın yeni sahibi yapmak "
"istediğinizden emin misiniz?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Yeni takım sahibi"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Yayınla"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Boş kütüphaneyi yayınla"
@@ -4092,23 +4102,23 @@ msgstr "'%s' takımını '%s' organizasyonundan kaldırmak istediğinizden emin
msgid "modals.remove-team-organization.title"
msgstr "TAKIMI ORGANİZASYONDAN KALDIR"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Küçük dürtme"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Yayından kaldır"
msgstr[1] "Yayından kaldır"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Bu kütüphaneyi yayından kaldırmak istediğinizden emin misiniz?"
msgstr[1] "Bu kütüphaneleri yayından kaldırmak istediğinizden emin misiniz?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Kütüphaneyi yayından kaldır"
@@ -4198,38 +4208,38 @@ msgstr "Etkinleştir"
msgid "nitrate.code-activation.title"
msgstr "Nitrate'yi etkinleştir"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "Satış birimiyle iletişime geçin"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr ""
"Bu plana geçmek için lütfen satış birimimizle iletişime geçin. "
"Aboneliğinizi güncellemenize yardımcı olacak ve her şeyin doğru şekilde "
"ayarlandığından emin olacağız."
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "Organizasyonunuz silinecek."
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr ""
"Toplam depolama alanınız, otomatik sürüm geçmişiniz ve dosya kurtarma "
"süreniz sınırlandırılacak."
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr ""
"Takımlar, projeler ve dosyalar artık hiçbir organizasyonun parçası "
"olmayacak, ancak kullanılabilir olmaya devam edecek."
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "Sürüm düşürdüğünüzde:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "%s planına geçmek ister misiniz?"
@@ -4247,15 +4257,15 @@ msgstr "Kurumsal planı 14 gün boyunca denemek için bizimle iletişime geçin:
msgid "nitrate.form.contact-upgrade"
msgstr "Kurumsal plana yükseltmek için bizimle iletişime geçin:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "Kurumsal planı 14 gün boyunca denemek için bizimle iletişime geçin:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "Kurumsal plana geçmek için bizimle iletişime geçin:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr ""
"Şu anda herhangi bir ücret tahsil edilmeyecek. Ödeme, deneme süresinin "
@@ -4275,7 +4285,7 @@ msgstr ""
msgid "nitrate.form.enterprise-feature-3"
msgstr "Organizasyonunuzun ihtiyaç duyduğu yönetim ile tam açık kaynak özgürlüğü"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "Takımlarınızın güvenli ve geniş ölçekte çalışabilmesi için gereken her şey%s"
@@ -4283,7 +4293,7 @@ msgstr "Takımlarınızın güvenli ve geniş ölçekte çalışabilmesi için g
msgid "nitrate.form.enterprise.price"
msgstr "üye başına aylık"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "14 gün boyunca ücretsiz deneyin"
@@ -4299,7 +4309,7 @@ msgstr "Kurumsal planı kullanmaya başlayın"
msgid "nitrate.form.subscribe-with-code"
msgstr "Etkinleştirme koduyla abone olun"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "Kurumsal plan özelliklerinin kilidini açın"
@@ -4311,7 +4321,7 @@ msgstr "14 gün boyunca ücretsiz deneyin"
msgid "nitrate.modal-success.title"
msgstr "Kurumsal plana hoş geldiniz!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "%s tarihine kadar etkin"
@@ -4319,23 +4329,23 @@ msgstr "%s tarihine kadar etkin"
msgid "nitrate.subscription.renew-success"
msgstr "Nitrate aboneliğiniz yenilendi."
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "Aboneliği iptal et"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "Nitrate aboneliğinizi iptal etmek için lütfen bizimle iletişime geçin:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "Etkinleştirme koduyla yenile"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Bu sayfa yok"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 hatası"
@@ -4355,11 +4365,11 @@ msgstr ""
"E- posta kutunuza bakın ve yeni bir parola oluşturmak için bağlantıya "
"tıklayın."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Ücretsiz kaydolun"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "Ve saniyeler içinde Penpot kullanmaya başlayın!"
@@ -4367,67 +4377,67 @@ msgstr "Ve saniyeler içinde Penpot kullanmaya başlayın!"
msgid "not-found.made-with-love"
msgstr "Aşkla ve Açık Kaynakla Yapıldı"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Bu dosyaya zaten erişim talep ettiniz."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Bu dosyaya veya bu takımın diğer dosyalarına veya projelerine zaten erişim "
"talep ettiniz."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Bu projeye veya bu takımın diğer projelerine veya dosyalarına zaten erişim "
"talep ettiniz."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Bu projeye zaten erişim talep ettiniz."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "ERİŞİM İSTE"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Unutmayın, sahibi izin verirse takıma davet edileceksiniz."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Talebiniz doğru bir şekilde gönderildi!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Bu dosyaya erişiminiz yok."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Penpot'unuza gidin"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Sahibi izin verirse takıma davet edileceksiniz."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot dosyası"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Bu projeye erişiminiz yok."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "PROJE"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Bu dosyaya erişimi takım sahibinden isteyebilirsiniz."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Bu projeye erişimi takım sahibinden isteyebilirsiniz."
@@ -4439,31 +4449,31 @@ msgstr "Bakım arası: 5 dakika içinde kısa bir bakım için kapalı olacağı
msgid "notifications.by-code.upgrade-version"
msgstr "Yeni bir sürüm mevcut."
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "Bu davet artık geçerli değil."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Davet başarıyla silindi"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Davet başarıyla iletildi"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Davet bağlantısı kopyalandı"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "Profilinizi silemezsiniz. Devam etmeden önce takımlarınızı birine atayın."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Profil başarıyla kaydedildi!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "%s adresine doğrulama e-postası gönderildi. E-posta kutunuza bakın!"
@@ -4499,7 +4509,7 @@ msgstr "Takım adı"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Takım oluşturun"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Üyeleri davet edin"
@@ -4509,98 +4519,98 @@ msgstr ""
"Geliştiriciler, tasarımcılar, yöneticiler... herkese kapımız açık. Daha "
"sonra başkalarını da davet edebilirsiniz."
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Rol ile davet et:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Haydi başlayalım!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Tasarımlardan gerçek kod oluşturma"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Tasarım Sistemleri Oluşturma"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Prototip oluşturma"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Bir uygulamanın kullanıcı arayüzünü/deneyimini tasarlama"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Çerçeve oluşturma"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Penpot'u ne için kullanacaksınız?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Penpot'un sizin için çalışmasını sağlamamıza yardımcı olmak için hakkınızda "
"biraz bilgi verin. Yanıtlarınız, yeni özelliklere öncelik vermemize ve "
"başlamak için sizi doğru yöne yönlendirmemize yardımcı olacaktır."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Sizi tanımamıza yardımcı olun"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Bu araçlardan en çok hangisini kullanıyorsunuz?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Ne tür bir iş yapıyorsunuz?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Şirketinizin büyüklüğü nedir?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Nereden başlamak istersiniz?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1001 - 5000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "Yalnızca ben"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5001 ve üzeri"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Eğitim"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Kişisel"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "İş"
@@ -4682,11 +4692,11 @@ msgstr "Öntanımlı yapılandırmayı geri yükle"
msgid "restore-shortcuts.restore"
msgstr "Geri yükle"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Çıkar"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Karışık"
@@ -4698,35 +4708,35 @@ msgstr "Rengi kaldır"
msgid "settings.select-this-color"
msgstr "Bu biçimi kullanan ögeleri seç"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Yorumlar"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Alta hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Ortayı yatay olarak hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Sola hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Sağa hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Üste hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Ortayı dikey olarak hizala"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Seçimden çalışma yüzeyi oluştur"
@@ -4734,55 +4744,55 @@ msgstr "Seçimden çalışma yüzeyi oluştur"
msgid "shortcuts.bold"
msgstr "Kalın yazı aç/kapat"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Boole farkı"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boole hariç tut"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Boole kesişim"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Boole birleşim"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "En arkaya gönder"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Arkaya gönder"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Öne getir"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "En öne getir"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Geri almayı temizle"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Kopyala"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Bağlantıyı kopyala"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Özellikleri kopyala"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Bileşen / çeşit oluştur"
@@ -4790,63 +4800,63 @@ msgstr "Bileşen / çeşit oluştur"
msgid "shortcuts.create-new-project"
msgstr "Yeni oluştur"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Kes"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Uzaklaştır"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Sil"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Düğümü sil"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "Düğümü ve bölümleri sil"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "Tüm seçimi kaldır"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Bileşeni ayır"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "Kısayolu devre dışı bırak"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "Devre dışı"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "Kısayol devre dışı bırakıldı"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "Ok"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Eğri"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Elips"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Çalışma yüzeyi"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "Çizgi"
@@ -4854,65 +4864,65 @@ msgstr "Çizgi"
msgid "shortcuts.draw-nodes"
msgstr "Yol çiz"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Yol"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Dikdörtgen"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Metin"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Çoğalt"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "Birleşim \"%s\" olarak atandı. Kaydedildiğinde buradan kaldırılacak."
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "Kaydederseniz, bu kısayol orijinal değerine geri dönecek:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr ""
"Bu tuş birleşimi kullanılabilir durumda ve herhangi bir çakışma olmadan "
"atanabilir."
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "Ayarlarda özelleştir"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "İptal"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Şekilleri dışa aktar"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "Bul"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "Bul ve değiştir"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Tümüne uydurmak için yakınlaştır"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Yatay olarak çevir"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Dikey olarak çevir"
@@ -4936,27 +4946,27 @@ msgstr "Paylaşılan kütüphanelere git"
msgid "shortcuts.go-to-search"
msgstr "Ara"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Grup"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Yatay olarak dağıt"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Kullanıcı arayüzünü göster/gizle"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "İçe/Dışa aktar"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Yakınlaştır"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Görsel ekle"
@@ -4964,11 +4974,11 @@ msgstr "Görsel ekle"
msgid "shortcuts.italic"
msgstr "İtalik yazı aç/kapat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Düğümlere katıl"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "Tuş birleşimine basın"
@@ -4976,39 +4986,39 @@ msgstr "Tuş birleşimine basın"
msgid "shortcuts.line-through"
msgstr "Üstü çizili yazı aç/kapat"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Köşe yap"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Eğri yap"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Maskele"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Düğümleri birleştir"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Hızlı aşağı taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Hızlı sola taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Hızlı sağa taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Hızlı yukarı taşı"
@@ -5016,379 +5026,379 @@ msgstr "Hızlı yukarı taşı"
msgid "shortcuts.move-nodes"
msgstr "Düğümü taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Aşağı taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Sola taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Sağa taşı"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Yukarı taşı"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Sonraki çalışma yüzeyi"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "Devre dışı bırakılan kısayol yok"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "Kısayollarınızı özelleştirmeye başlamak için Tümü bölümüne gidin."
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "Aramanızla eşleşen kısayol yok"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Kısayol bulunamadı"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Opaklığı %100 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Opaklığı %10 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Opaklığı %20 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Opaklığı %30 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Opaklığı %40 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Opaklığı %50 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Opaklığı %60 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Opaklığı %70 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Opaklığı %80 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Opaklığı %90 olarak ayarla"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Renk seçici"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Görüntüleyici yorum bölümüne git"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Denetim paneline git"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Görüntüleyici inceleme bölümüne git"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Görüntüleyici etkileşimleri bölümüne git"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Görüntüleyici etkileşimleri bölümüne git"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Çalışma alanına git"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " veya "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "Bu kısayol %s olarak yeniden atandı"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "Kısayollar sayfası"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Yapıştır"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Özellikleri yapıştır"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "Yapıştır ve değiştir"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "Kişiselleştirildi"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Eklenti yöneticisi"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Önceki çalışma yüzeyi"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Yeniden yap"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr ""
"Kısayolları düzenledikten sonra, değişikliklerin geçerli olması için açık "
"olan diğer Penpot sekmelerini yeniden yükleyin."
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Yeniden adlandır"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "Öntanımlıya sıfırla"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Yakınlaştırmayı sıfırla"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Ölçeklendir"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Temel bilgiler"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Denetim paneli"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Görüntüleyici"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Çalışma alanı"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Tümünü seç"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Sonraki katmanı seç"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Ana katmanı seç"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Önceki katmanı seç"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Düğümleri ayır"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "Ölçüleri göster"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Piksel ızgarasını göster/gizle"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Kısayolları göster/gizle"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Düğümlere tuttur"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Piksel ızgarasına tuttur"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Düzenlemeye başla"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Hizalama"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Düzenle"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Genel"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Ana menü"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Katmanları değiştir"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Gezinme"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Gezinme"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Gezinme"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Paneller"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Yollar"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Şekiller"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Metinler"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Araçlar"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Yakınlaştır"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Yakınlaştır"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Küçük resimleri ayarla"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Klavye kısayolları"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Dinamik hizalamayı aç/kapat"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Varlıkları değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Renk paletini değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "Yorumların görünürlüğünü değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Odak modunu değiştir"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Tam ekranı değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Kılavuzları göster/gizle"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Geçmişi değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Katmanları değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Düzen esnekliği ekle/kaldır"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Izgara düzeni ekle/kaldır"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Seçileni kilitle"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Oranları kilitle"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Cetvelleri göster/gizle"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Kılavuzlara tuttur"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Cetvel kılavuzlarına tuttur"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Metin paletini değiştir"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Temayı değiştir"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Göster / Gizle"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Yakınlaştırma şeklini değiştir"
@@ -5396,31 +5406,31 @@ msgstr "Yakınlaştırma şeklini değiştir"
msgid "shortcuts.underline"
msgstr "Alt çizgiyi aç/kapat"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Geri al"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Grubu dağıt"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Maskelemeyi kaldır"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Dikey olarak dağıt"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Görüntüyü küçült"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Görüntüyü büyült"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Seçilene yakınlaştır"
@@ -5439,7 +5449,7 @@ msgstr "Kurumsal planı çalışırken görün"
msgid "subscription.current-plan.enterprise"
msgstr "Kurumsal"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Kurumsal"
@@ -5451,7 +5461,7 @@ msgstr "Kurumsal Planı Deneyin"
msgid "subscription.current-plan.professional"
msgstr "Profesyonel"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "Aboneliğiniz"
@@ -5584,277 +5594,277 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Sınırsız plandayken kişileri davet etme"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "Ödeme işlemi tamamlanmadı. Hazır olduğunuzda lütfen tekrar deneyin."
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr ""
"Ödeme işlemi tamamlanmadı. Lütfen tekrar deneyin. Sorun devam ederse "
"bizimle iletişime geçin: support@penpot.app."
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Abonelik"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "Etkinleştirme kodunu girin"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Deneme süreniz bittikten sonra devam etmek için bir ödeme yöntemi ekleyin"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "Yönetici Arayüzü"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Tüm Profesyonel plan faydaları ve:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Tüm Sınırsız plan faydaları ve:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "Tüm Sınırsız plan faydaları ve:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s düzenleyici)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Kurumsal"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Kurumsal (deneme)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90 günlük sürümleri otomatik kaydetme ve dosya kurtarma"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Sabit aylık fatura"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "Gelişmiş Denetim:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "Kurumsal Güvenlik:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "Çoklu Organizasyon Yönetimi:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "Uyumluluk raporlaması için yerel SAML/SSO ve tam denetim izi günlüğü."
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr ""
"Yapay zeka bağlantısı için güvenli ve yalıtılmış MCP sunucumuz dahil olmak "
"üzere, eklentiler için ayrıntılı beyaz liste oluşturma özelliği."
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "Karmaşık takım yapıları ve ayrı alt organizasyonlar için destek."
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Sınırsız depolama alanı"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Aboneliğinizi yönetin"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Ödeme bilgilerini ekleyin"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Deneme süresi sona erdikten sonra aboneliğinizin sorunsuz bir şekilde devam "
"etmesi ve açık kaynaklı projemizi desteklemeye devam etmek için şimdi ödeme "
"bilgilerinizi ekleyin. Henüz herhangi bir ücret alınmayacaktır."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Şimdilik atlayın ve deneme sürümünü başlatın"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Büyümemize yardım edin ve deneme sürenizi kolaylaştırın"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Şu anda, takımlarınızda düzenleme yapabilen %s kişi bulunuyor."
msgstr[1] "Şu anda, takımlarınızda düzenleme yapabilen %s kişi bulunuyor."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Dikkat: Daha düşük bir plana geçmek, daha az depolama alanı, daha kısa "
"yedeklemeler ve daha kısa sürüm geçmişi anlamına gelir."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Düzenleyiciler"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr ""
"(Sahipler, Yöneticiler ve Düzenleyiciler. Görüntüleyiciler, Düzenleyici "
"olarak sayılmaz)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Şu anda sahip olduğunuzdan daha az sayıda düzenleyici ayarlayamazsınız. "
"Takım ayarlarında, dosyaları düzenlemeyen kişilerin rolünü "
"(düzenleyici/yönetici yerine görüntüleyici) değiştirin."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Deneme süresinden sonra ücretlendirilir. Şu anda kredi kartı gerekmez."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**%s$**/ay"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Takımlarınıza %s uygulayın"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"İpucu: Davetlerin öncesinde hazırlıklı olmak için şimdi koltuk sayınızı "
"artırabilirsiniz. Takımlar genelinde 25'ten fazla düzenleyiciye aylık 175$ "
"sabit ücretten sahip olacaksınız."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Penpot üyelik tarihi: %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Daha fazla bilgi"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "organizasyon üyesi / ay"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Diğer penpot planları"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "aylık organizasyon"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "kullanıcı / ay"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Profesyonel"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7 günlük sürümleri otomatik kaydetme ve dosya kurtarma"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "Topluluğun desteklediği tüm tasarım ve prototip oluşturma özellikleri."
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "Veriler ve altyapı üzerinde tam denetim."
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "Sınırsız kullanıcı, takım ve dosya."
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB depolama alanı"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Sınırsız sayıda takım. Sahip olduğunuz takımlarda en fazla 8 düzenleyici."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Tavsiye edilen"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Aboneliğiniz"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Ücretsiz denemeyi başlat"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Abone ol"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "%s planındasınız (%s tarihinden bu yana)."
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Aboneliğinizi, hesap ayrıntılarınızdaki 'Abonelik' sayfasından istediğiniz "
"zaman düzenleyebilirsiniz."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Planınızın tadını çıkarın!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Penpot %s planını seçtiğiniz için teşekkür ederiz!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "%s oldunuz!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "14 gün boyunca ücretsiz deneyin"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Sınırsız"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Sınırsız (deneme)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30 günlük sürümleri otomatik kaydetme ve dosya kurtarma"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Aylık fatura üst sınırı 175$"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB depolama alanı"
@@ -5879,45 +5889,45 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Bu sınırı artırmak isterseniz, [planınızı yükseltin|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "1 davet seçildi"
msgstr[1] "%s davet seçildi"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Yazı Tipi Sağlayıcıları - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Yazı Tipleri - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Projeler - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Ara - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Paylaşılmış Kütüphaneler - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - Takımlar için Özgür Tasarım"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Geri bildirimde bulun - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "Bütünleşmeler - Penpot"
@@ -5925,7 +5935,7 @@ msgstr "Bütünleşmeler - Penpot"
msgid "title.settings.notifications"
msgstr "Bildirimler - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Ayarlar - Penpot"
@@ -5933,27 +5943,27 @@ msgstr "Ayarlar - Penpot"
msgid "title.settings.password"
msgstr "Parola - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profil - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Davetler - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Üyeler - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Ayarlar - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Web kancaları - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Görünüm modu - Penpot"
@@ -5965,51 +5975,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "Tokeni ayır"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "Sayfada çalışma yüzeyi bulunamadı."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Çalışma yüzeyi bulunamadı."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Yorumlar (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Etkileşimleri gösterme"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Tam Ekran"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "İncele (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Etkileşimler"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Etkileşimler (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Bağlantıyı kopyala"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Etkileşimleri göster"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Tıklamada etkileşimleri göster"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Site haritası"
@@ -6046,67 +6056,67 @@ msgstr ""
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL sorun giderme kılavuzumuzu"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL görselleştirme devre dışı"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL görselleştirme etkin"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL içeriği kayboldu"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL içeriği kurtarıldı"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Son iletim başarılı oldu."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Yatay olarak ortaya hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Yatayda dağıt (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Sola hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Sağa hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Alta hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Dikey olarak ortaya hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Dikeyde dağıt (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Üste hizala (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Kütüphane ekle"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Tüm varlıklar"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Renkler"
@@ -6118,7 +6128,7 @@ msgstr "Renk ekle"
msgid "workspace.assets.component-group-options"
msgstr "Bileşen grubu seçenekleri"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Bileşenler"
@@ -6126,7 +6136,7 @@ msgstr "Bileşenler"
msgid "workspace.assets.components.add-component"
msgstr "Bileşen ekle"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Çeşit"
@@ -6134,11 +6144,11 @@ msgstr "%s Çeşit"
msgid "workspace.assets.create-group"
msgstr "Grup oluştur"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
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:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Sil"
@@ -6146,11 +6156,11 @@ msgstr "Sil"
msgid "workspace.assets.delete-group"
msgstr "Grubu sil"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "Sayfaları sil"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Çoğalt"
@@ -6158,39 +6168,39 @@ msgstr "Çoğalt"
msgid "workspace.assets.duplicate-main"
msgstr "Ana bileşeni çoğalt"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Düzenle"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Filtrele"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Izgara görünümü"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Grup"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Grup adı"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Liste görünümü"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "yerel kütüphane"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Kütüphaneyi yönet"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Varlık bulunmadı"
@@ -6198,7 +6208,7 @@ msgstr "Varlık bulunmadı"
msgid "workspace.assets.open-library"
msgstr "Kütüphane dosyasını aç"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Yeniden adlandır"
@@ -6206,11 +6216,11 @@ msgstr "Yeniden adlandır"
msgid "workspace.assets.rename-group"
msgstr "Grubu yeniden adlandır"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Varlık ara"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Paylaşılan kütüphane"
@@ -6220,43 +6230,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 bileşen"
msgstr[1] "%s bileşen"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Sırala"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Tipografiler"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Tipografi ekle"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Boyut"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Yazı Tipi Biçimi"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
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:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Harf Boşluğu"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Satır Yüksekliği"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Metin Dönüşümü"
@@ -6264,99 +6274,103 @@ msgstr "Metin Dönüşümü"
msgid "workspace.assets.ungroup"
msgstr "Grubu dağıt"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "Görsel kopyalanıyor…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "Görsel panoya kopyalandı"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "Görsel kopyalanırken hata oluştu"
+#: src/app/main/ui/workspace/colorpicker.cljs:447
+msgid "workspace.colorpicker.color-picker"
+msgstr "Ekrandan renk seç"
+
#: src/app/main/ui/workspace/colorpicker.cljs:439, src/app/main/ui/workspace/colorpicker.cljs:454
msgid "workspace.colorpicker.color-tokens"
msgstr "Tokenleri renklendir"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Bileşenler kendi içlerinde iç içe geçemez."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "Bazı kopyalar değiştirilemedi. Bileşenler kendi içlerinde iç içe geçemez."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Alan oluştur"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "Sütunları kopyala"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "Satırları kopyala"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Çalışma yüzeyi oluştur"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Hücreleri birleştir"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "Yapıştır"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Sağa 1 sütun ekle"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Sola 1 sütun ekle"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Sütunu sil"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Sütun ve şekilleri sil"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Yinelenen sütun"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
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:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Yukarıya 1 satır ekle"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Satırı sil"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Satır ve şekilleri sil"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Yinelenen satır"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "Kılavuz rengi"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "Kılavuzu kaldır"
@@ -6364,15 +6378,15 @@ msgstr "Kılavuzu kaldır"
msgid "workspace.debug.title"
msgstr "Hata ayıklama araçları"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Odaklanma modu"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Odaklanma kapalı"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Odaklanma açık"
@@ -6384,243 +6398,247 @@ msgstr "Doğrusal degrade"
msgid "workspace.gradients.radial"
msgstr "Dairesel degrade"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Dinamik hizalamayı devre dışı bırak"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Orantılı ölçeklendirmeyi devre dışı bırak"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Kılavuzlara tutturmayı devre dışı bırak"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Piksele tutturmayı devre dışı bırak"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Cetvel kılavuzlarına tutturmayı devre dışı bırak"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "WebGL görselleştirmeyi devre dışı bırak (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Dinamik hizalamayı etkinleştir"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Orantılı ölçeklendirmeyi etkinleştir"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Kılavuzlara tuttur"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Piksele tutturmayı etkinleştir"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Cetvel kılavuzlarına tuttur"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "WebGL görselleştirmeyi etkinleştir (beta)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "Bul"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "Bul ve Değiştir"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Çalışma yüzeyi adlarını gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "Yorumları gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Kılavuzları gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Renk paletini gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Piksel ızgarasını gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Cetvelleri gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Yazı tipi paletini gizle"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "Kılavuzları kilitle"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "Bağlan"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "Bağlantıyı kes"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "Yönet (Durum: devre dışı)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "Yönet (Durum: etkin)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Düzenle"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Dosya"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Yardım ve bilgi"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP sunucusu"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Tercihler"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Görünüm"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Tekrarla"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Tümünü seç"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Çalışma yüzeylerinin adlarını göster"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "Yorumları göster"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Kılavuzları göster"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Renk paletini göster"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Piksel ızgarasını göster"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Cetvelleri göster"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Yazı tipi paletini göster"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Koyu temaya geç"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Açık temaya geç"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Sistem temasına geç"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Geri al"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "Kılavuzların kilidini aç"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Sıfırla"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:133
+msgid "workspace.header.retrying"
+msgstr "Kaydetme yeniden deneniyor"
+
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Kaydetme hatası"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Kaydedildi"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Kaydediliyor"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Paylaş"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
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:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Yakınlaştırma"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Doldur - Doldurmak için ölçeklendir"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Sığdır - Sığdırmak için küçült"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Tümüne uydurmak için yakınlaştır"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Tam ekran"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Seçilene yakınlaştır"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Izgarayı düzenle"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Çıkış"
@@ -6628,7 +6646,7 @@ msgstr "Çıkış"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Alt dolgu"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "4 taraflı dolgu seçeneklerini göster"
@@ -6664,37 +6682,37 @@ msgstr "Bitti"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Bul"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Izgara düzenini bul"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 renk"
msgstr[1] "%s renk"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "Kütüphaneye renk ekle"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Kütüphanenizde henüz renk stili yok"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "Henüz son kullanılan renkler yok"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Kütüphanenizde henüz tipografi stili yok"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Dosya kütüphanesi"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Son renkler"
@@ -6706,75 +6724,99 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Renk biçimini kaydet"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "Renk paletini değiştir"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 bileşen"
msgstr[1] "%s bileşen"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:864
+msgid "workspace.libraries.connected-libraries"
+msgstr "Bağlantılı kütüphane"
+
+#: src/app/main/ui/workspace/libraries.cljs:235
+msgid "workspace.libraries.connected-through"
+msgstr "Şununla bağlandı"
+
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Bağlandı"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Veya denemek için bunlardan bazılarını ekleyin:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:834
+msgid "workspace.libraries.empty.no-assets"
+msgstr "Henüz varlık yok"
+
+#: src/app/main/ui/workspace/libraries.cljs:918
+msgid "workspace.libraries.empty.no-connected-libraries"
+msgstr "Henüz bağlantılı kütüphane yok."
+
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "Takımınızda Paylaşılan Kütüphaneler bulunmuyor, burada bulunan"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "şablonlara bakabilirsiniz"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Dosya kütüphanesi"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 grafik"
msgstr[1] "%s grafik"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "BU DOSYADAKİ KÜTÜPHANELER"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "KÜTÜPHANELER"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "KÜTÜPHANE GÜNCELLEMELERİ"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Yükleniyor…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Güncelleme gerektiren Paylaşılmış Kütüphane bulunmuyor"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "“%s“ için eşleşme bulunmadı"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Paylaşılmış kütüphane ara"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:849, src/app/main/ui/workspace/libraries.cljs:897
+msgid "workspace.libraries.set-as-tokens-source"
+msgstr "Token kaynağı olarak ayarla"
+
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "PAYLAŞILMIŞ KÜTÜPHANELER"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:674
+msgid "workspace.libraries.shared-library-added"
+msgstr "Eklendi"
+
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Kütüphaneyi bağla"
@@ -6798,25 +6840,47 @@ msgstr "Tüm varlıkları ayır"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "Tüm tokenleri ayır"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:219, src/app/main/ui/workspace/libraries.cljs:263
+msgid "workspace.libraries.token-sets"
+msgid_plural "workspace.libraries.token-sets"
+msgstr[0] "1 küme"
+msgstr[1] "%s küme"
+
+#: src/app/main/ui/workspace/libraries.cljs:222, src/app/main/ui/workspace/libraries.cljs:267
+msgid "workspace.libraries.token-themes"
+msgid_plural "workspace.libraries.token-themes"
+msgstr[0] "1 tema"
+msgstr[1] "%s tema"
+
+#: src/app/main/ui/workspace/libraries.cljs:216, src/app/main/ui/workspace/libraries.cljs:259
+msgid "workspace.libraries.tokens"
+msgid_plural "workspace.libraries.tokens"
+msgstr[0] "1 token"
+msgstr[1] "%s token"
+
+#: src/app/main/ui/workspace/libraries.cljs:842, src/app/main/ui/workspace/libraries.cljs:889
+msgid "workspace.libraries.tokens-source"
+msgstr "Token kaynağı"
+
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 tipografi"
msgstr[1] "%s tipografi"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Kütüphanenin bağlantısını kes"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Güncelle"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "tüm değişiklikleri gör"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "GÜNCELLEMELER"
@@ -6878,7 +6942,7 @@ msgstr "Bulanıklığı değiştir"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "Daha fazla seçenek göster/gizle"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "İptal"
@@ -6886,117 +6950,121 @@ msgstr "İptal"
msgid "workspace.options.canvas-background"
msgstr "Tuval arka planı"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:75
+msgid "workspace.options.canvas-background-section"
+msgstr "Tuval arka plan bölümü"
+
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "İçeriği kırp"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Bileşen"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Açıklama"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Kopyala"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Bir açıklama oluştur"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Bir açıklamayı düzenle"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Ana bileşen"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Bileşeni değiştir"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "Bu kütüphanede henüz varlık yok"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Ayrıldı"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "Çakışan çeşitleri bul"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Bu bileşenin çakışan çeşitleri var. Her çeşidin kendine özgü özellik "
"değerleri olduğundan emin olun."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Yinelenen çeşitleri bul"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Bazı çeşitler aynı özelliklere ve değerlere sahip"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr ""
"Bu çeşitler aynı özelliklere ve değerlere sahiptir. Değerleri, "
"çağrılabilecekleri şekilde ayarlayın."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr ""
"Bu çeşit, başka bir çeşitle aynı özelliklere ve değerlere sahiptir. "
"Değerleri, çağrılabilecekleri şekilde ayarlayın."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr ""
"Bu çeşitlerden bazıları aynı özelliklere ve değerlere sahiptir. Değerleri, "
"geri çağrılabilecekleri şekilde ayarlayın."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Bu bileşenin geçersiz ada sahip çeşitleri var. Her çeşidin doğru yapıyı "
"takip ettiğinden emin olun."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Geçersiz çeşitleri bul"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Bazı çeşitlerin adları geçersiz"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Geçersiz çeşitleri bul"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Bu çeşitlerin adları geçersiz."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Bu çeşidin adı geçersiz."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Bu çeşitlerden bazılarının adları geçersiz."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[özellik]=[değer], [özellik]=[değer]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Şu yapıyı kullanmayı deneyin:"
@@ -7033,7 +7101,7 @@ msgstr "Aynı hiyerarşi düzeyine sahip."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Gruplar, çalışma yüzeyleri ve yerleşim düzenleri eş değer kabul edilir."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Çeşitler nasıl bağlantılı kalır"
@@ -7081,11 +7149,11 @@ msgstr "Üst ve Alt"
msgid "workspace.options.convert-to-typography"
msgstr "Tipografi biçimi oluştur"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Tasarım"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Dışa aktar"
@@ -7093,53 +7161,53 @@ msgstr "Dışa aktar"
msgid "workspace.options.export-multiple"
msgstr "Seçimi dışa aktar"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Dışa aktarım ekle"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Dışa aktarımı kaldır"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Son ek"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "Dışa aktarma hizmeti meşgul, lütfen daha sonra tekrar deneyin"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "Dışa aktarma iptal edildi"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "İptal ediliyor..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Dışa aktarma tamamlandı"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Dışa aktarılıyor…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Dışa aktarılamadı"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Dışa aktarma beklenmedik şekilde yavaş"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "Bekleniyor..."
@@ -7159,7 +7227,7 @@ msgstr "Doldurmayı kaldır"
msgid "workspace.options.fill.section"
msgstr "Bölümü doldur"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Çalışma yüzeyini içeriğe sığacak şekilde yeniden boyutlandır"
@@ -7179,71 +7247,77 @@ msgstr "Akış başlangıcı"
msgid "workspace.options.flows.flow-starts"
msgstr "Akış başlar"
+#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:300, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:526
+msgid "workspace.options.font-not-available"
+msgstr ""
+"Bu metinde kullanılan yazı tipi (%s) artık kullanılabilir değil. Bir "
+"tipografi biçimi oluşturmak için yazı tipini yeniden yükleyin"
+
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:34
msgid "workspace.options.grid.auto"
msgstr "Otomatik"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Sütunlar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Renk"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Aralık"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Yükseklik"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Kenar Boşluğu"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Öntanımlı olarak ayarla"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Alt"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Orta"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Sol"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Sağ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Ger"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Üst"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Öntanımlıyı kullan"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Genişlik"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Satırlar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Kare"
@@ -7255,7 +7329,7 @@ msgstr "Grubu doldur"
msgid "workspace.options.group-stroke"
msgstr "Grubu çiz"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Kılavuz ekle"
@@ -7263,19 +7337,19 @@ msgstr "Kılavuz ekle"
msgid "workspace.options.guides.remove-guide"
msgstr "Kılavuzu kaldır"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Kılavuzlar"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Kılavuzu değiştir"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Yükseklik"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "İncele"
@@ -7491,115 +7565,119 @@ msgstr "Etkileşimler"
msgid "workspace.options.interactions.add-interaction"
msgstr "Etkileşim ekle"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Renk"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Renk yanması"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Renk atlatması"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Karart"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Fark"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Dışla"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Sert ışık"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Ton"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Aydınlat"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Parlaklık"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Çoğalt"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Normal"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Üst katman"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Doygunluk"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Ekran"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Yumuşak ışık"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "Menü bölümü katmanı"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Katman görünürlüğünü değiştir"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Azami Yükseklik"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Azami Genişlik"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Asgari Yükseklik"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Asgari Genişlik"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Daha fazla renk"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Daha fazla kütüphane rengi"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Daha fazla renk tokeni"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "Eşleşen boyut ön ayarı yok"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Opaklık"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/page.cljs:99, src/app/main/ui/workspace/sidebar/options/page.cljs:106
+msgid "workspace.options.pixel-grid-color"
+msgstr "Piksel ızgara rengi"
+
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Prototip"
@@ -7635,23 +7713,23 @@ msgstr "Kenar yuvarlaklığı bölümü"
msgid "workspace.options.radius.show-single-corners"
msgstr "Bağımsız yarıçapı göster"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Son kullanılanlar"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Yeniden dene"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Döndür"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Yazı tipi ara"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "Boyut ön ayarı ara"
@@ -7661,11 +7739,11 @@ 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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Seçilen renkler"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "Renk seçimi bölümü"
@@ -7733,55 +7811,55 @@ msgstr "Gölgeyi değiştir"
msgid "workspace.options.show-fill-on-export"
msgstr "Dışa aktarmalarda göster"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Görünüm modunda göster"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Boyut"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Boyut ön ayarları"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Oranı kilitle"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Oranın kilidini kaldır"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Daire"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Elmas"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Ok"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Hiçbiri"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Yuvarlak"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Kare"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Dikdörtgen"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Üçgen"
@@ -7789,31 +7867,31 @@ msgstr "Üçgen"
msgid "workspace.options.stroke-color"
msgstr "Çerçeve rengi"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "Çizgi"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "Boşluk"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Çerçeve genişliği"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "En alt (blok sonu)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "Sol (satır içi başlangıcı)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "Sağ (satır içi sonu)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "En üst (blok başlangıcı)"
@@ -7821,49 +7899,49 @@ msgstr "En üst (blok başlangıcı)"
msgid "workspace.options.stroke.add-stroke"
msgstr "Çerçeve rengi ekle"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Merkez"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Çizgili"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Noktalı"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "İçinde"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Karışık"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Dışında"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "Kenar başına çerçeve"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr ""
"Kenar başına çerçeve özelliği yalnızca yeni görselleştirmede "
"kullanılabilir. Kullanmak için görselleştirmeyi değiştirin."
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Çerçeveyi kaldır"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Katı"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "Çizgiyi aç/kapat"
@@ -7899,11 +7977,11 @@ msgstr "Otomatik genişlik"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Sabit"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Harf Aralıkları"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Satır yüksekliği"
@@ -7951,221 +8029,225 @@ msgstr "Altı Çizili (%s)"
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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Genişlik"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X ekseni"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y ekseni"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Düğüm çiz (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "Hizalandı"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "Bağımsız"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "Eşit"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "İşleyici davranışı"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Düğümleri birleştir (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Köşeye (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Eğriye (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Düğümleri birleştir (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Düğümleri taşı (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Düğümleri ayır (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Düğümleri tuttur (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Aç"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Keşfet [daha fazla eklenti](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Henüz eklenti kurulmadı"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Eklenti bildirimi yanlış."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Bu eklentiyi kullanmak için düzenleyici olmanız gerekir"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/data/plugins.cljs:160
+msgid "workspace.plugins.error.unreachable"
+msgstr "Eklenti URL'sine erişilemedi."
+
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Eklenti yok veya URL doğru değil."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Kur"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Kurulu eklentiler"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Eklenti yöneticisi"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Eklentiler"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "BU EKLENTİYİ GÜNCELLE"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Eklenti, son açtığınızdan beri değiştirildi. Artık şuraya da erişmek "
"istiyor:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Dosya indirmesi başlat."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Tarayıcıda veri depola."
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "Panonun içeriğini oku."
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "Pano içeriğini oku ve yaz."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Yorumlarınızı ve yanıtlarınızı oku."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Yorumlarınızı oku, değiştir ve sizin adınıza yanıtla."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Kullanıcıların erişebildiği dosyaların içeriğini oku."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Kullanıcıların erişebildiği dosyaların içeriğini oku ve değiştir."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr "Bu eklentinin harici bir tarafça oluşturulduğunu unutmayın."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Kütüphanelerinizi ve varlıklarınızı oku."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Kütüphanelerinizi ve varlıklarınızı oku ve değiştir."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "BU EKLENTİ ŞUNLARA ERİŞİM İSTİYOR:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Geçerli kullanıcının profil bilgilerini oku."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Eklenti Listesi"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Eklentiyi kaldır"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Bir eklenti URL'si yazın"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Eklentiler"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "ŞİMDİ DEĞİL"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Bir göz atmak ister misiniz? Geçerli takımınız için yeni bir taslakta "
"açılacaktır. (İstemiyorsanız, onu herhangi bir dosyanın kurulu "
"eklentilerinde her zaman bulabilirsiniz.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' EKLENTİSİ KULLANICINIZ İÇİN KURULDU!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "EKLENTİYİ DENE"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Esnek düzen ekle"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Izgara düzeni ekle"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Yerleşim düzeni ekle"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Çeşit oluştur"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Yeni özellik ekle"
@@ -8177,11 +8259,11 @@ msgstr "En arkaya gönder"
msgid "workspace.shape.menu.backward"
msgstr "Arkaya gönder"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "Çalışma yüzeyi kılavuzlarını temizle"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Çeşit olarak birleştir"
@@ -8189,7 +8271,7 @@ msgstr "Çeşit olarak birleştir"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Bileşenler aynı sayfada olmalıdır"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Kopyala"
@@ -8233,27 +8315,27 @@ msgstr "Metin olarak kopyala"
msgid "workspace.shape.menu.create-annotation"
msgstr "Açıklama oluştur"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
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:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Bileşen oluştur"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Çoklu bileşen oluştur"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Kes"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Sil"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Akış başlangıcını sil"
@@ -8265,7 +8347,7 @@ msgstr "Örneği ayır"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Örnekleri ayır"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Fark"
@@ -8273,15 +8355,15 @@ msgstr "Fark"
msgid "workspace.shape.menu.duplicate"
msgstr "Çoğalt"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Düzenle"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Dışla"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Düzleştir"
@@ -8293,7 +8375,7 @@ msgstr "Yatay ters çevir"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Dikey ters çevir"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Akış başlangıcı"
@@ -8305,31 +8387,31 @@ msgstr "Öne getir"
msgid "workspace.shape.menu.front"
msgstr "En öne getir"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Grup"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Gizle"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Kullanıcı arayüzünü göster/gizle"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Kesişme"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Kilitle"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Maskele"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Yapıştır"
@@ -8337,27 +8419,27 @@ msgstr "Yapıştır"
msgid "workspace.shape.menu.paste-props"
msgstr "Özellikleri yapıştır"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Yol"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Düzen esnekliğini kaldır"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Izgara düzenini kaldır"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Yerleşim düzenini kaldır"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Özelliği kaldır"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Çeşidin en az bir özelliği olmalıdır"
@@ -8381,11 +8463,11 @@ msgstr "Çeşidi geri yükle"
msgid "workspace.shape.menu.select-layer"
msgstr "Katman seç"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Göster"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Varlıklar panelinde göster"
@@ -8393,7 +8475,7 @@ msgstr "Varlıklar panelinde göster"
msgid "workspace.shape.menu.show-main"
msgstr "Ana bileşeni göster"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "Yola çerçeve"
@@ -8405,19 +8487,19 @@ msgstr "Küçük resmi kaldır"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Küçük resim olarak ayarla"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Grubu dağıt"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Birleşim"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Kilidi aç"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Maskelemeyi kaldır"
@@ -8433,79 +8515,79 @@ msgstr "Kenar çubuğunu daralt"
msgid "workspace.sidebar.expand"
msgstr "Kenar çubuğunu genişlet"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Geçmiş"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Katmanlar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Bileşenler"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Filtrele"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Çalışma yüzeyleri"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Gruplar"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Görseller"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Maskeler"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "Eşleşme yok"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "Değiştir"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "Tümünü değiştir"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "Şununla değiştir..."
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Bul…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "Bul ve değiştir"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "Metin içeriği"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "Katman adları"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Şekiller"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Metinler"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "İçe Aktarılan SVG Öznitelikleri"
@@ -8517,7 +8599,7 @@ msgstr "Sayfalar"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Sayfa ekle"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Site haritası"
@@ -8537,6 +8619,10 @@ msgstr "%s etkin tema"
msgid "workspace.tokens.add-new-theme"
msgstr "Yeni tema ekle"
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:106
+msgid "workspace.tokens.add-set"
+msgstr "Küme ekle"
+
#: src/app/main/ui/workspace/tokens/sets/context_menu.cljs:62
msgid "workspace.tokens.add-set-to-group"
msgstr "Bu gruba küme ekle"
@@ -8545,7 +8631,7 @@ msgstr "Bu gruba küme ekle"
msgid "workspace.tokens.add-token"
msgstr "Token ekle: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Uygulanan"
@@ -8565,7 +8651,11 @@ msgstr "Temel yazı tipi boyutu"
msgid "workspace.tokens.base-font-size.error"
msgstr "Temel yazı tipi boyutu piksel cinsinden veya birimsiz bir değer olmalıdır."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:98
+msgid "workspace.tokens.change-token-source"
+msgstr "Token kaynağını değiştir"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Renk"
@@ -8577,7 +8667,7 @@ msgstr "Token yolunu kopyala"
msgid "workspace.tokens.create-new-theme"
msgstr "Şimdi ilk temanızı oluşturun."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Bir tane oluşturun."
@@ -8585,6 +8675,10 @@ msgstr "Bir tane oluşturun."
msgid "workspace.tokens.create-token"
msgstr "Yeni %s tokeni oluştur"
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:101
+msgid "workspace.tokens.current-tokens-source-tooltip"
+msgstr "Bu geçerli token kaynağıdır"
+
#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:437
msgid "workspace.tokens.delete"
msgstr "Tokeni sil"
@@ -8601,7 +8695,7 @@ msgstr "Tokeni çoğalt"
msgid "workspace.tokens.duplicate-group"
msgstr "Token Gruplarının Kopyasını Oluştur"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "kopyala"
@@ -8625,7 +8719,7 @@ msgstr "%s tokenini düzenle"
msgid "workspace.tokens.enter-token-name"
msgstr "%s token adını gir"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "Metni düzenlerken tokenler uygulanamaz. Bunun yerine metin katmanını seçin."
@@ -8653,7 +8747,7 @@ msgstr "Ön izleme:"
msgid "workspace.tokens.export.single-file"
msgstr "Tek dosya"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Yazı tipi boyutu veya {alias}"
@@ -8663,7 +8757,7 @@ msgstr ""
"Yazı tipi kalınlığı/biçimi ayarlanırken hata oluştu. Bu yazı tipi biçimi "
"geçerli yazı tipinde bulunmuyor"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Bir değer (300, Kalın, Normal İtalik...) veya bir {alias} girin"
@@ -8701,7 +8795,7 @@ msgstr ""
"Tek bir JSON dosyasında, birinci düzey anahtarlar token kümesi adları "
"olmalıdır."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Tokenleri içe aktar"
@@ -8711,17 +8805,17 @@ msgstr ""
"Tokenleri içe aktarmak, geçerli tüm tokenlerinizi, kümelerinizi ve "
"temalarınızı geçersiz kılacaktır."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Etkin değil"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Bu küme etkin değil. Görünüm alanında değişiklikleri görmek için temayı "
"değiştirin veya bu kümeyi etkinleştirin"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Bireysel tokenler kullan"
@@ -8741,11 +8835,11 @@ msgstr "Tema"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Tema ekle (örn. Açık)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Harf aralığı veya {alias} ekle"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Satır yüksekliği girin — çarpan, px, % veya {alias}"
@@ -8761,11 +8855,11 @@ msgstr "Azami boyut"
msgid "workspace.tokens.min-size"
msgstr "Asgari boyut"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Eksik referans"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Seçenekleri görmek için sağ tıklayın"
@@ -8783,7 +8877,7 @@ msgstr ""
"Kümeleri etkinleştirmek / devre dışı bırakmak için düzenleyici olmanız "
"gerekir"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Temaları kullanmak için düzenleyici olmanız gerekir"
@@ -8795,7 +8889,7 @@ msgstr "Henüz tanımlanan küme yok. Önce bir tane oluşturun."
msgid "workspace.tokens.no-sets-yet"
msgstr "Henüz küme yok."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Tema yok."
@@ -8807,11 +8901,25 @@ msgstr "Şu anda hiç temanız yok."
msgid "workspace.tokens.not-remap"
msgstr "Yeniden eşlenmesin"
+#: src/app/main/data/workspace/libraries.cljs:848
+msgid "workspace.tokens.notifications.source-sets-or-themes-updated"
+msgstr "Token kaynağı kümeleri veya temaları değiştirildi"
+
#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:132
msgid "workspace.tokens.num-active-sets"
msgstr "%s etkin küme"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/colorpicker.cljs:438, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:112
+msgid "workspace.tokens.only-first-fill-or-stroke"
+msgstr ""
+"Tasarım tokenleri, listedeki yalnızca ilk dolgu veya çerçeveye "
+"uygulanabilir."
+
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:104
+msgid "workspace.tokens.open-source-new-tab"
+msgstr "Tokenlerin kaynağını yeni sekmede aç"
+
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Orijinal değer: %s"
@@ -8823,17 +8931,17 @@ msgstr "Dolgular"
msgid "workspace.tokens.radius"
msgstr "Yarıçap"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr ""
"{%s} içindeki referans geçerli değil veya herhangi bir etkin kümede "
"bulunmuyor."
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Bir token tipografi takma adı girin"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Bir token gölge takma adı girin"
@@ -8873,7 +8981,7 @@ msgstr ""
"Tokenleriniz otomatik olarak %s.(sonEk).(tokeAdı) olarak yeniden "
"adlandırılacak"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Çözülen değer: %s"
@@ -8913,27 +9021,27 @@ msgstr ""
msgid "workspace.tokens.settings"
msgstr "Token ayarları"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Gölge Ekle"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Bulanıklık"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "İçeri"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Gölgeyi Kaldır"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Yayılım"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Bulanıklık değeri sıfırdan küçük olamaz"
@@ -8941,11 +9049,11 @@ msgstr "Bulanıklık değeri sıfırdan küçük olamaz"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Yayılım değeri sıfırdan küçük olamaz"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8953,11 +9061,19 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "Boyut"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:75
+msgid "workspace.tokens.source"
+msgstr "Kaynak:"
+
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:311, src/app/main/ui/workspace/tokens/management/context_menu.cljs:335
+msgid "workspace.tokens.stroke-width"
+msgstr "Çerçeve Genişliği"
+
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "Girin: none | uppercase | lowercase | capitalize veya {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "Metin süslemesi girin: none | underline | strike-through"
@@ -8971,35 +9087,39 @@ msgstr ""
msgid "workspace.tokens.themes-list"
msgstr "Tema listesi"
+#: src/app/main/ui/workspace/tokens/tokens_source.cljs:80
+msgid "workspace.tokens.this-file"
+msgstr "Bu dosya"
+
#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:334, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:335
msgid "workspace.tokens.token-description"
msgstr "Açıklama"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Yazi tipi ailesi seç"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Yazı tipi ailesi"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Yazı tipi ailesi veya virgülle (,) ayrılan yazı tipi listesi"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Ad"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "%s yolunda veya bu yolun bir ön ekinde zaten bir token var."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Ad en az 1 karakterden oluşmalıdır"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" geçerli bir token adı değil.\n"
@@ -9010,11 +9130,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Değer"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "{alias} ile bir takma ad veya değer girin"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "TOKENLER - %s"
@@ -9033,15 +9153,15 @@ msgstr ""
msgid "workspace.tokens.unknown-token-type-section"
msgstr "'%s' türü desteklenmiyor (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Referans kullan"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Değer geçerli değil"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "Ok (%s)"
@@ -9049,75 +9169,75 @@ msgstr "Ok (%s)"
msgid "workspace.toolbar.assets"
msgstr "Varlıklar"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Renk Paketi (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Yorumlar (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Eğri (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Elips (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Çalışma Yüzeyi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Görsel (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:362
+msgid "workspace.toolbar.label"
+msgstr "Çizim araçları"
+
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "Çizgi (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "Buradan bağlanın"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP bağlandı"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Taşı (%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "Palet çubuğu"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Yol (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Eklentiler (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Dikdörtgen (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Metin (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Tipografiler (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Araç çubuğunu aç/kapat"
@@ -9140,11 +9260,11 @@ msgstr ""
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "Yenile"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Şu ana kadar değişim geçmişi yok"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "%s ile"
@@ -9284,19 +9404,19 @@ msgstr "tipografi varlığı"
msgid "workspace.undo.entry.unknown"
msgstr "%s üstündeki işlem"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Yok say"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Daha fazla bilgi"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Paylaşılan kütüphaneler için güncellemeler var"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Güncelle"
diff --git a/frontend/translations/ukr_UA.po b/frontend/translations/ukr_UA.po
index 519ce16bf8..410477ee67 100644
--- a/frontend/translations/ukr_UA.po
+++ b/frontend/translations/ukr_UA.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:14+0000\n"
-"Last-Translator: Anonymous \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Ukrainian "
" \n"
"Language: ukr_UA\n"
@@ -10,9 +10,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "Уже маєте обліковий запис?"
@@ -34,7 +34,7 @@ msgstr ""
"Це демонстраційний варіант сервісу, не використовуйте для роботи, бо "
"створені проєкти періодично очищуватимуться."
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "Забули пароль?"
@@ -42,37 +42,37 @@ msgstr "Забули пароль?"
msgid "auth.fullname"
msgstr "Повне ім'я"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "Увійти до мого облікового запису"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "Увійти тут."
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr ""
"Penpot це вільний інструмент з відкритим сирцевим кодом для спільної роботи "
"над дизайном та кодом"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "з OpenID"
@@ -94,7 +94,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "На вашу скриньку надіслано лист з посиланням на відновлення паролю."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "Успішно приєднано до команди"
@@ -126,7 +126,7 @@ msgstr "Забули пароль?"
msgid "auth.recovery-submit"
msgstr "Змініть свій пароль"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "Не маєте облікового запису?"
@@ -138,7 +138,7 @@ msgstr "Скажіть, як звертатись до Вас у панелі к
msgid "auth.register-account-title"
msgstr "Ваше ім'я"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "Створити обліковий запис"
@@ -153,7 +153,7 @@ msgstr ""
"Я погоджуюсь із [умовами користування](%s) та [політикою "
"конфіденційності](%s)."
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "Умови користування"
@@ -175,94 +175,94 @@ msgstr ""
msgid "comments.mentions.not-found"
msgstr "Не знайдено людей за @%s"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "Опублікувати"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "Усі користувачі Penpot"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr ""
"Ви впевнені, що хочете видалити це посилання? Це незворотна дія, після якої "
"посилання стане недійсним"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(поточне)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "Стерти посилання"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "Отримати посилання"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "Посилання успішно скопійовано"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "Керувати дозволами"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "1 сторінку було поширено"
msgstr[1] "%s сторінки було поширено"
msgstr[2] "%s сторінок було поширено"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "Можна додавати коментарі"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "Можна переглядати код"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "Будь-хто з посиланням матиме доступ"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "Сторінок поширено"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "Посилання для спільного використання з'явиться тут"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "Лише учасники команди"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "Поділитись прототипами"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "Вибрати все"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "Скасувати публікацію"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "Керування командою"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr ""
"Penpot призначений для командної роботи. Запрошуйте учасників до спільної "
"роботи над проєктами та файлами"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "Об'єднуйтесь!"
@@ -278,31 +278,31 @@ msgstr "Відновити файл"
msgid "dashboard.add-file"
msgstr "Додати файл"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "Додати як Спільну Бібліотеку"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "Змінити пошту"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "Звільнити кошик"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(копія)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "Створити організацію"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "Створити нову команду"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "Пришпилити цю версію"
@@ -310,7 +310,7 @@ msgstr "Пришпилити цю версію"
msgid "dashboard.default-team-name"
msgstr "Ваш Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr ""
"Ви впевнені що хочете назавжди позбутись видалених проєктів та файлів? Це "
@@ -320,41 +320,41 @@ msgstr ""
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "Ви впевнені що хочете назавжди позбутись %s? Це незворотня дія."
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s файлів було успішно вилучено."
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "Позбутись назавжди"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "Вилучити проєкт"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr ""
"Ви впевнені що хочете назавжди позбутись %s проєктів? Ви позбудетесь їх та "
"файлів, що в них містились, назавжди. Це незворотня дія."
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s було успішно вилучено."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "Видалити команду"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "Ваш смітник порожній. Видалені файли та проєкти зʼявлятимуться тут."
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "Буде вилучено %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "Завантажити файл Penpot (.penpot)"
@@ -366,19 +366,19 @@ msgstr "Створити дублікат"
msgid "dashboard.duplicate-multi"
msgstr "Створити дублікат % файлів"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "Як тільки учасник проєкту створить чернетку, вона з'явиться тут."
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "Чернеток ще немає."
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "Як тільки учасник проєкту створить файл, він зʼявиться тут."
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "Файлів ще немає."
@@ -426,23 +426,23 @@ msgstr "Імпортувати файл .penpot"
msgid "dashboard.empty-project.start"
msgstr "Почніть робити чудові речі"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "Сталася помилка під час вилучення файлів."
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "Сталася помилка під час вилучення проєкту %s."
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "Сталася помилка під час відновлення файлу %s."
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "Сталася помилка під час відновлення файлів."
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "Сталася помилка під час відновлення проєкту %s та його файлів."
@@ -450,37 +450,37 @@ msgstr "Сталася помилка під час відновлення пр
msgid "dashboard.export-binary-multi"
msgstr "Завантажити %s файлів Penpot (.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "Експортувати дошки у PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "Експортувати у PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "Було виділено %s з %s елементів"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "Експорт"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"Ви можете додати налаштування експорту до елементів у властивостях дизайну "
"(у нижній частині правої панелі)."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "Інформація про те, як налаштувати експорти в Penpot."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "У Вас немає елементів з налаштуваннями експорту."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "Вибір експорту"
@@ -498,36 +498,36 @@ msgstr[0] "Відновити файл"
msgstr[1] "Відновити кілька файлів"
msgstr[2] "Відновити файли"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "Відсутній шрифт"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "Відхилити усе"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "Користувацькі шрифти, які Ви завантажите, з'являться тут."
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "Немає користувацьких шрифтів."
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr ""
"Як тільки учасник проєкту завантажить користувацький шрифт, він зʼявиться "
"тут."
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -537,7 +537,7 @@ msgstr ""
"шрифтів**. Ви можете вивантажувати шрифти у таких форматах: **TTF, OTF і "
"WOFF** (потрібен лише один)."
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -546,11 +546,11 @@ msgstr ""
"[Умовах користування Penpot](https://penpot.app/terms.html). Ви також "
"можете прочитати про [ліцензування шрифтів](https://www.typography.com/faq)."
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "Вивантажити усе"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -561,15 +561,15 @@ msgstr ""
"використовувати [Transfonter](https://transfonter.org/) для генерації "
"веб-шрифтів і виправлення помилок. "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "Перейти до Адмін. Панелі"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "Імпортувати файли Penpot"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "Отакої! Ми не можемо імпортувати цей файл"
@@ -577,38 +577,38 @@ msgstr "Отакої! Ми не можемо імпортувати цей фа
msgid "dashboard.import.bad-url"
msgstr "Імпортування не вдалось. URL шаблону неправильне"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "Не вдалось перевірити файл."
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "Файл здається пошкодженим."
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "Не всі файли було імортовано"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "Наступні файли мають помилки:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "Файли з помилками не буде вивантажено."
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "Щось пішло не так під час обробки файлу."
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
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:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "Деякі файли містили помилкові об'єкти, які було вилучено."
@@ -616,81 +616,53 @@ msgstr "Деякі файли містили помилкові об'єкти,
msgid "dashboard.import.no-perms"
msgstr "Ви не маєте права імпортувати в цю команду"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "Обробка кольорів"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "Обробка компонентів"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "Обробка медіа"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "Обробка сторінки: %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "Обробка типографік"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "Вивантаження даних на сервер (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "Вивантаження файлу: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "Ви збираєтесь вилучити запрошення до:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "Ви збираєтесь перенадіслати запрошення до:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "Вилучити запрошення"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "Перенадіслати запрошення"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr ""
"Ви не маєте дозволів на створення, редагування чи видалення запрошень до "
"команди."
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "Запросити людей"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "Покинути команду"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "Бібліотеки та Шаблони"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "Тут знаходяться Бібліотеки та Шаблони, які можна додати до проєкту"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "Дізнайтесь більше про них та як зробити внесок"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "Виникла проблема під час імпортування шаблону. Його не було імпортовано."
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "Бібліотеки"
@@ -698,7 +670,7 @@ msgstr "Бібліотеки"
msgid "dashboard.loading-files"
msgstr "завантаження ваших файлів…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "завантаження ваших шрифтів…"
@@ -718,57 +690,57 @@ msgstr "Перемістити (%s) файлів до"
msgid "dashboard.move-to-other-team"
msgstr "Перенести в іншу команду"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ Новий файл"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "Новий файл"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ Новий проєкт"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "Новий проєкт"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "Жодних відповідностей за \"%s\" не знайдено"
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr ""
"Ви не маєте дозволів на створення команд у організації %s. Для подробиць "
"зверніться до її власника."
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr ""
"Ви не маєте дозволів на видалення команд що є частиною організації %s. Для "
"подробить зверніться до її власника."
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr ""
"Ви не маєте дозволів переміщати команди, що належать організації %s. Для "
"подробиць зверніться до її власника."
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "Закріплені проєкти з'являться тут"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "Сповіщення"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "Адресу Вашої електронної пошти було успішно змінено"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "Адресу Вашої електронної пошти було успішно підтверджено"
@@ -780,11 +752,11 @@ msgstr "Налаштування сповіщень оновлено"
msgid "dashboard.notifications.password-saved"
msgstr "Пароль успішно збережено!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "Показати сповіщення"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s учасників"
@@ -792,15 +764,15 @@ msgstr "%s учасників"
msgid "dashboard.open-in-new-tab"
msgstr "Відкрити файл у новій вкладці"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "Параметри"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "Сортувати за роллю"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "Сортувати за статусом"
@@ -824,7 +796,7 @@ msgstr "Відтепер Ви власник цієї команди."
msgid "dashboard.permissions-change.viewer"
msgstr "Відтепер Ви переглядач цієї команди."
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "Пришпилити/відшпилити"
@@ -840,27 +812,27 @@ msgstr "Не вдається розібрати маніфест плагіну
msgid "dashboard.plugins.try-plugin"
msgstr "Спробуйте плагін: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "Вилучаю файли…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "Відновлюю файли…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "Вилучення триває неочікувано довго"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "Відновлення триває неочікувано довго"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "Проєкти"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "Ви хочете видалити свій обліковий запис?"
@@ -868,71 +840,71 @@ msgstr "Ви хочете видалити свій обліковий запи
msgid "dashboard.removed-from-team"
msgstr "Ви більше не є частиною команди \"%s\"."
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "Ви збираєтесь відновити усі проєкти та їх файли. Це може зайняти деякий час."
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "Відновити усі проєкти й файли"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "Відновити Все"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "%s файлів було успішно відновлено."
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "Відновити проєкт"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "Ви збираєтесь відновити %s проєктів та всі їхні файли."
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "Відновити Проєкт"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s було успішно відновлено."
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "Зберегти налаштування"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "Пошук…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "Пошук за \"%s\"…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "Організації"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "Оберіть мову інтерфейсу"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "Оберіть тему"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot Темний (завмовчки)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot Світлий"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "Системна тема"
@@ -996,11 +968,11 @@ msgstr "Оновити налаштування"
msgid "dashboard.settings.notifications.title"
msgstr "Сповіщення"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "Показати усі файли"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "Історія версій"
@@ -1026,7 +998,7 @@ msgstr[2] "Файли були успішно дубліковані"
msgid "dashboard.success-duplicate-project"
msgstr "Ваш проєкт успішно дубліковано"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "Файл було успішно переміщено"
@@ -1038,159 +1010,159 @@ msgstr "Файли було успішно переміщено"
msgid "dashboard.success-move-project"
msgstr "Ваш проєкт було успішно переміщено"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "Відомості про команду"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "Учасники команди"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "Команда організації"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "Додати до організації"
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "Змінити команду організації"
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "Ця команда не належить до жодної з організацій"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "Вилучити команду з організації"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "Проєкти команди"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "Додати до проєкту"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "Тема інтерфейсу"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "Результати пошуку"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "Вилучені файли лишатимуться у смітнику на"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s днів. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "Після цього, ви позбудетесь від них назавжди."
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr ""
"Якщо вирішете інакше, Ви маєте змогу відновити їх або позбутись їх назавжди "
"у меню кожного з них."
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "Вкажіть для пошуку"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "Вилучити бібліотеку з публікації"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "Оновити налаштування"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "Бета"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr ""
"Відмальовування WebGL може покращити швидкодію, проте функція в беті, тому "
"є менш стабільною. Можуть зʼявлятись візуальні відмінності між полотном, "
"експортами (SVG/PDF) та режимом перегляду."
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "Вимкнено"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "Увімкнено"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "Зворотній звʼязок"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "Стан"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "Відмальовування WebGL"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "Активний"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "Після спрацювання хуку дані події будуть надіслані"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "Ви можете видаляти або редагувати лише створені Вами вебхуки."
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "Тип вмісту"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "Створити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Вебхук успішно створено."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"Веб-хуки - це простий спосіб дозволити іншим веб-сайтам і застосункам "
"отримувати сповіщення про певні події в Penpot. Ми надішлемо POST-запит на "
"кожну з вказаних вами URL-адрес."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "Натисніть кнопку \"Додати вебхук\" щоб створити його."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "У вас поки що немає вебхуків."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "Ваш обліковий запис"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "Електронна пошта"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "Ваше ім'я"
@@ -1206,11 +1178,11 @@ msgstr "Увага"
msgid "ds.component-subtitle"
msgstr "Компоненти для оновлення:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "Дозволити"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "Скасувати"
@@ -1230,7 +1202,7 @@ msgstr "У активних наборах й темах не знайдено
msgid "ds.inputs.numeric-input.no-matches"
msgstr "Збігів не виявлено."
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "Відкрити список токенів"
@@ -1242,15 +1214,15 @@ msgstr "Провайдер автентифікації не дозволени
msgid "errors.auth-provider-not-configured"
msgstr "Провайдер для автентифікації не налаштований."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "Схоже, Ви не автентифіковані, або термін дії сесії минув."
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "Шрифт %s не можна завантажити"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "Шрифти %s не можна завантажити"
@@ -1262,53 +1234,53 @@ msgstr "Не можна вивантажити медіа."
msgid "errors.character-limit-exceeded"
msgstr "Забагато символів"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr ""
"API буферу обміну недоступне. Надайте доступ до Penpot через HTTPS, щоб "
"увімкнути доступ"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "Ваш браузер не може зробити це"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr ""
"Відмовлено у доступі до буферу обміну. Надайте дозвіл на використання "
"буферу обміну у Вашому бровзері аби вставити вміст"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "З коментарем сталась помилка"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr ""
"Вибачте! Це старий файл, що використовує застарілий тип ресурсів Penpot, і "
"їх не можна відкрити."
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "щоб ми Вам допомогли."
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "Оскільки Penpot не підтримує цей тип Ресурсів, Ви можете"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "звʼязатись з нами"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "Не можна кинути батьківський набір на приналежний дочірній."
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "Електронна пошта вже використовується"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "Електронна пошта вже підтверджена."
@@ -1320,33 +1292,33 @@ msgstr "Ви не можете використати електронну ад
msgid "errors.email-does-not-match-invitation"
msgstr "Поштова адреса не відповідає тому що в запрошенню."
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "Цей домен не дозволений"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr ""
"Електронна пошта \"%s\" має багато скарг про постійне повернення "
"повідомлень."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr ""
"Електронну адресу «%s» позначено як спам або вона постійно повертає "
"повідомлення."
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr ""
"Схоже, Ви намагаєтесь відкрити файл, який має активовану функцію \"%s\", "
"але поточна версія Penpot наразі не підтримує її або вона вимкнена."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Функція '%s' не підтримується."
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "Повинно містити щонайменше %s символів."
@@ -1354,7 +1326,7 @@ msgstr "Повинно містити щонайменше %s символів."
msgid "errors.field-min-length"
msgstr "Має містити принаймні 1 символ."
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "Порожнє поле"
@@ -1362,24 +1334,24 @@ msgstr "Порожнє поле"
msgid "errors.field-not-all-whitespace"
msgstr "Ім'я повинно містити якийсь символ замість пробілу."
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr ""
"Здається, існує невідповідність між увімкненими функціями та функціями "
"файлу, який Ви намагаєтеся відкрити. Перш ніж відкрити файл, потрібно "
"застосувати міграції для \"%s\"."
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr ""
"Імʼя сімейства шрифтів може мати лише літери, числа, пробіли, дефіси, нижні "
"підкреслювання та крапки."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Виникла якась неполадка."
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Під час роботи веб-виконавця сталась помилка."
@@ -1395,7 +1367,7 @@ msgstr "Помилкові дані"
msgid "errors.invalid-email"
msgstr "Будь ласка, вкажіть дійсну електрону адресу"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Підтвердження має відповідати електронній пошті"
@@ -1429,11 +1401,11 @@ msgstr "Це запрошення могло бути відкликане аб
msgid "errors.ldap-disabled"
msgstr "Автентифікація через LDAP вимкнена."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "Ви досягли квоти \"%s\". Зв'яжіться із службою підтримки."
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr ""
"Дрсягнуто максимальної кількості поштових скриньок, на які можна надіслати "
@@ -1451,21 +1423,21 @@ msgstr "Схоже, вміст зображення не відповідає р
msgid "errors.media-type-not-allowed"
msgstr "Схоже, це зображення не є дійсним."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Електронна пошта профілю, який Ви намагаєтесь запросити, має приглушення "
"листів (скарги на спам або постійне пересилання)."
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "Міграція триває"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "Тільки власник версії може заблокувати її"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "Тільки власник версії може розблокувати її"
@@ -1477,7 +1449,7 @@ msgstr "Підтверджувальний пароль має збігатис
msgid "errors.password-too-short"
msgstr "Пароль повинен мати, принаймні, 8 символів"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "Помилкові дані в буфері обміну"
@@ -1485,7 +1457,7 @@ msgstr "Помилкові дані в буфері обміну"
msgid "errors.profile-blocked"
msgstr "Профіль заблоковано"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr ""
"Для Вашого профілю приглушено листи (скарги на спам або постійне "
@@ -1495,25 +1467,25 @@ msgstr ""
msgid "errors.registration-disabled"
msgstr "Реєстрація наразі вимкнена."
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG недійсний або сформований неправильно"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "Виявлено несумісну функцію \"%s\""
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr ""
"Недостатньо учасників, щоб покинути команду, яку Ви, ймовірно, хочете "
"видалити."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Учасник, якого Ви намагаєтеся призначити, не існує."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr ""
"Власник не може покинути команду, тому Ви повинні спершу призначити нового "
@@ -1523,11 +1495,11 @@ msgstr ""
msgid "errors.token-set-already-exists"
msgstr "Набір з таким імʼям уже існує"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "Не вдалось перекинути, набір з таким імʼям вже існує."
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "Параметри Теми з таким імʼям вже існують"
@@ -1562,11 +1534,11 @@ msgstr ""
"Імена токену можуть містити в собі літери та цифри, розділені крапкою та не "
"повинні починатись з $."
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "Помилкове значення токену: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "Відсутні посилання на токен: "
@@ -1574,19 +1546,19 @@ msgstr "Відсутні посилання на токен: "
msgid "errors.tokens.number-too-large"
msgstr "Помилкове значення токену. Отримане значення завелике: %s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "Непрозорість має бути між 0 та 100% або ж між 0 та 1 (де 0.5 - 50%)."
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Токен має самопосилання"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "Ширина обведення має бути більшим ніж 0 або дорівнювати 0."
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "Помилкове значення: Одиниці не дозволені."
@@ -1594,57 +1566,57 @@ msgstr "Помилкове значення: Одиниці не дозволе
msgid "errors.unexpected-error"
msgstr "Виникла неочікувана помилка."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Невідомий токен"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "Ця версія вже заблокована"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "Ця версія заблокована і не може бути видалена іншими"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "Файл має несумісний номер версії"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr ""
"WebGL припинив працювати. Просимо Вас перезавантажити сторінку, щоб скинути "
"його"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "От халепа! Полотно загубилось"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Помилка під'єднання, адреса недосяжна"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL не пройшов перевірку."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Остання спроба доставки була невдалою."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Помилка під час перевірки SSL."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Час вичерпано"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Неочікувана помилка під час перевірки"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Неочікуваний статус %s"
@@ -1664,17 +1636,17 @@ msgstr "Опис"
msgid "feedback.description-placeholder"
msgstr "Просимо Вас описати причину відгуку"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Ми раді вас бачити. Якщо потрібна допомога, спешру спробуйте знайти перш "
"ніж публікувати."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Спільнота Penpot"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "Інші способи звʼязатись з нами"
@@ -1698,11 +1670,11 @@ msgstr ""
msgid "feedback.title-contact-us"
msgstr "Звʼяжіться з нами"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "Ми готові допомогти з вашими технічними питаннями."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Обліковий запис служби підтримки в X"
@@ -1722,10 +1694,6 @@ msgstr "Ідея"
msgid "feedback.type.issue"
msgstr "Вада"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "Вивантажити файли"
-
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "Виникла помилка"
@@ -1762,7 +1730,7 @@ msgstr "Перегляд зображення заповнення фігури"
msgid "inspect.attributes.shadow"
msgstr "Тінь"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Розмір та розміщення"
@@ -1770,39 +1738,27 @@ msgstr "Розмір та розміщення"
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 "Назовні"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Типографія"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Сімейство Шрифта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Розмір шрифта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Стиль шрифта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Відступ між літерами"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Висота лінії"
@@ -1814,11 +1770,11 @@ msgstr "Немає"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Підкреслений"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Заголовковий регістр"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Нижній регістр"
@@ -1830,7 +1786,7 @@ msgstr "Який є"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "Не встановлено"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Верхній регістр"
@@ -1952,77 +1908,77 @@ msgstr "Знайдене значення:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "Параметри Варіанту"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr ""
"Це URL серверу, для якого потрібно налаштувати MCP клієнт для того щоб "
"зʼєднати його з сервером MCP Penpot'у."
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "Регенерувати ключ MCP"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "Ключ MCP"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "MCP ключ потрібен для налаштування клієнту MCP"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "Стан"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "Вимкнено"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "Увімкнено"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "Позначити все як прочитане"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Скорочення"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "Про Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "Прийняти"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Активне"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "Додати"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Додати користувацькі шрифти"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "Додавання..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Адміністратор"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe ExpDesign"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Всі"
@@ -2030,17 +1986,17 @@ msgstr "Всі"
msgid "labels.and"
msgstr "і"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Назад"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Схоже, вам потрібно трохи почекати і спробувати ще раз; ми проводимо "
"невелике технічне обслуговування наших серверів."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Поганий шлюз"
@@ -2048,15 +2004,15 @@ msgstr "Поганий шлюз"
msgid "labels.blur"
msgstr "Розмиття"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Скасувати"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Канва"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Закрити"
@@ -2064,7 +2020,7 @@ msgstr "Закрити"
msgid "labels.code"
msgstr "Код"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "Згорнути"
@@ -2076,15 +2032,15 @@ msgstr "Колір"
msgid "labels.comment"
msgstr "Коментар"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "Коментарі"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Спільнота"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "Спільнота й Внески"
@@ -2096,19 +2052,19 @@ msgstr "Обчислено"
msgid "labels.confirm-password"
msgstr "Підтвердити пароль"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "Звʼязатись з підтримкою"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "Звʼяжіться з нами"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Продовжити"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "Ви можете продовжувати з обліковим записом Penpot"
@@ -2120,31 +2076,31 @@ msgstr "Копіювати"
msgid "labels.copy-color"
msgstr "Копіювати колір"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "Копіювати посилання"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019-дотепер"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Створити"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Створити нову команду"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Вкажіть ім'я нової команди"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Панель керування"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Видалити"
@@ -2156,7 +2112,7 @@ msgstr "Видалити коментар"
msgid "labels.delete-comment-thread"
msgstr "Видалити гілку"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Видалити запрошення"
@@ -2164,23 +2120,23 @@ msgstr "Видалити запрошення"
msgid "labels.delete-multi-files"
msgstr "Видалити %s файлів"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "Вилучено"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Розробка"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Відхилити"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "Завантажити %s"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Чернетки"
@@ -2188,27 +2144,27 @@ msgstr "Чернетки"
msgid "labels.duplicate"
msgstr "Дублювати"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "Редагувати"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Редактор"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "Порожньо"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "Помилка"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Сплинув термін дії"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Експорт"
@@ -2220,7 +2176,7 @@ msgstr "Відгук не доступний"
msgid "labels.feedback-sent"
msgstr "Відгук надіслано"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Фіґма"
@@ -2228,55 +2184,55 @@ msgstr "Фіґма"
msgid "labels.fill"
msgstr "Заповнити"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Сімейство Шрифтів"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Стилі"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Шрифти"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Репозиторій Github"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Надішліть відгук"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Повернутись назад"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "Графічний дизайн"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Центр Допомоги"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "Допомога й Навчання"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "Приховати"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Приховати вирішені коментарі"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "Імпортувати"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "Не активний"
@@ -2284,47 +2240,47 @@ msgstr "Не активний"
msgid "labels.info"
msgstr "Інформація"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Встановлені шрифти"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "Сталася халепа."
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "Спробуйте знову чи повідомте службу підтримки про помилку."
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Внутрішня помилка"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "ІнВіжн"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Запрошення"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Мова"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "Шаблон"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "Навчальний Центр"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Бібліотеки та Шаблони"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "Завантаження…"
@@ -2332,7 +2288,7 @@ msgstr "Завантаження…"
msgid "labels.lock"
msgstr "Заблокувати"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "Увійти або зареєструватись"
@@ -2340,19 +2296,19 @@ msgstr "Увійти або зареєструватись"
msgid "labels.login"
msgstr "Увійти"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Вийти"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Маркетинг"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Учасник"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Учасники"
@@ -2364,45 +2320,45 @@ msgstr "Згадка"
msgid "labels.new-password"
msgstr "Новий пароль"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Далі"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "Ви все наздогнали! Нові повідомлення про коментарі з’являться тут."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "У вас, поки що, немає запрошень."
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "Збирайте людей та створюйте чудові речі разом."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Отакої!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "Сповіщення"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "%s файл"
msgstr[1] "%s файли"
msgstr[2] "%s файлів"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s дошка"
msgstr[1] "%s дошок"
msgstr[2] "%s дошок"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "%s проєкт"
@@ -2413,39 +2369,39 @@ msgstr[2] "%s проєктів"
msgid "labels.old-password"
msgstr "Старий пароль"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "Параметри"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Інше (вкажіть)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "Інше"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Власник"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Пароль"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Очікування"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Список Змін Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Хаб Penpot"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "Пришпилені проєкти"
@@ -2453,31 +2409,31 @@ msgstr "Пришпилені проєкти"
msgid "labels.post"
msgstr "Публікація"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Попередній"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "Розробка продуктів чи UX"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Керування продуктами"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Профіль"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Проєкти"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "Нещодавні"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "Посилання"
@@ -2485,27 +2441,27 @@ msgstr "Посилання"
msgid "labels.refresh"
msgstr "Перезавантажити"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Примітки до випуску"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "Перезавантажити сторінку"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Видалити"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Вилучити учасника"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Перейменувати"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Перейменувати команду"
@@ -2529,11 +2485,11 @@ msgstr "нова відповідь"
msgid "labels.reply.thread"
msgstr "Відповідь"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "Перенадіслати"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Повторно надіслати запрошення"
@@ -2541,43 +2497,43 @@ msgstr "Повторно надіслати запрошення"
msgid "labels.restore"
msgstr "Відновити"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Повторити"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Роль"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Зберегти"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "Пошук"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Пошук шрифта"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Обрати варіант"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Надіслати"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Надсилаю…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "Ми проводимо програмне обслуговування наших систем."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Сервіс недосяжний"
@@ -2585,55 +2541,55 @@ msgstr "Сервіс недосяжний"
msgid "labels.sets"
msgstr "Набори"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Налаштування"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "Тінь"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "Поділитись"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Бібліотеки"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "Показати"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Показати усі коментарі"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Показати список коментарів"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "Показувати лише ваші згадки"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Показати лише ваші коментарі"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Ескіз"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "Джерела"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Початок"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Статус"
@@ -2641,7 +2597,7 @@ msgstr "Статус"
msgid "labels.stroke"
msgstr "Обрамлення"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Студент або викладач"
@@ -2649,7 +2605,7 @@ msgstr "Студент або викладач"
msgid "labels.styles"
msgstr "Стилі"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "Перемикач"
@@ -2657,19 +2613,19 @@ msgstr "Перемикач"
msgid "labels.text"
msgstr "Текст"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "Теми"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Посібники"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "Типографіка"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "Невідома помилка"
@@ -2681,31 +2637,31 @@ msgstr "Розблокувати"
msgid "labels.unpublish-multi-files"
msgstr "Скасувати публікування %s файлів"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "Оновити"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Оновити команду"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Вивантажити"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Вивантажити користувацькі шрифти"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Вивантажую…"
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "Варіянт"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "Примітки версії %s"
@@ -2713,7 +2669,7 @@ msgstr "Примітки версії %s"
msgid "labels.view-only"
msgstr "Лише для перегляду"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Глядач"
@@ -2721,7 +2677,7 @@ msgstr "Глядач"
msgid "labels.visibility"
msgstr "Видимість"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Вебхуки"
@@ -2729,11 +2685,11 @@ msgstr "Вебхуки"
msgid "labels.write-new-comment"
msgstr "Написати новий коментар"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(Ви)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Ваш обліковий запис"
@@ -2874,61 +2830,61 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Додати \"%s\" як Спільну Бібліотеку"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Великий зсув"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Підтвердьте нову пошту"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"Ми надішлемо вам лист на вашу поточну електрону адресу \"%s\" для "
"підтвердження вашої особи."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Нова електронна пошта"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Змінити електрону адресу"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Змінити свою електрону адресу"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Створити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Створити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Адреса пейлоду"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://savelife.in.ua/en"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Скасувати та лишити мій обліковий запис"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Так, видалити мій обліковий запис"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "Видаливши обліковий запис, Ви втратите усі свої проєкти та архіви."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Ви впевнені, що хочете видалити обліковий запис?"
@@ -2978,31 +2934,31 @@ msgstr "Ви впевнені, що хочете видалити %s файлі
msgid "modals.delete-file-multi-confirm.title"
msgstr "Видалення %s файлів"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr ""
"Ви впевнені, що хочете видалити стиль шрифта? Він не завантажиться якщо "
"буде використаний у файлі."
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "Видалення стилю шрифта"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr ""
"Ви впевнені, що хочете видалити цей шрифт? Він не завантажиться якщо буде "
"використаний у файлі."
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "Видалення шрифта"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "Ви впевнені, що хочете видалити цю сторінку?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Видалити сторінку"
@@ -3018,35 +2974,35 @@ msgstr "Ви впевнені, що хочете видалити цей про
msgid "modals.delete-project-confirm.title"
msgstr "Видалити проєкт"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "Видалити файл"
msgstr[1] "Видалити файли"
msgstr[2] "Видалити файли"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "Це не було активовано у жодному з файлів."
msgstr[1] "Вони не були активовані у жодному з файлів."
msgstr[2] "Вони не були активовані у жодному з файлів."
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "Цю білбіотеку активовано тут: "
msgstr[1] "Ці білбіотеки активовано тут: "
msgstr[2] "Ці білбіотеки активовано тут: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "Ви впевнені, що хочете видалити цей файл?"
msgstr[1] "Ви впевнені, що хочете видалити ці файли?"
msgstr[2] "Ви впевнені, що хочете видалити ці файли?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "Видалення файлу"
@@ -3067,19 +3023,19 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Видалення команди"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Видалити учасника"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Ви впевнені, що хочете видалити цього учасника з команди?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Видалити учасника команди"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] ""
@@ -3092,170 +3048,170 @@ msgstr[2] ""
"Ресурси, які вже були використані в цих файлах, залишаться там (дизайн не "
"буде порушено)."
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Видалити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Ви впевнені, що хочете видалити цей вебхук?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Видалення вебхуку"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Змінити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Змінити вебхук"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Надіслати запрошення"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Електроні адреси, розділені комами"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "Деякі учасники вже запрошені, ми запросимо решту."
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr ""
"Ви можете запросити учасників до команди для того щоб вони мали доступ до "
"цього та інших файлів команди."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Запросити учасників до команди"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Так як Ви єдиний учасником цієї команди, її буде видалено разом з проєктами "
"та файлами команди."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Ви впевнені, що хочете покинути команду \"%s\"?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"Ви не можете покинути команду, якщо немає іншого учасника, якого можна було "
"б підвищити до власника. Ви можете видалити команду."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Ви власник цієї команди. Будь ласка, оберіть іншого учасника, щоб підвищити "
"його до власника перш ніж покинути команду."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Підвищити та покинути"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Виберіть учасника для підвищення"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Перед тим як ви покинете"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Покинути команду"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Ви впевнені, що хочете покинути цю команду?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Покидання команди"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "Перемістити його"
msgstr[1] "Перемістити їх"
msgstr[2] "Перемістити їх"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "Ви впевнені, що хочете перемістити цю білбліотеку?"
msgstr[1] "Ви впевнені, що хочете перемістити ці бібліотеки?"
msgstr[2] "Ви впевнені, що хочете перемістити цю білбліотеку?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "Перемістити бібліотеку"
msgstr[1] "Перемістити бібліотеки"
msgstr[2] "Перемістити бібліотеки"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Розмір зсуву"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Передати права власності"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Якщо Ви передасте права власності, Ви зміните свою роль на Admin, втративши "
"деякі повноваження над цією командою. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Ви поточний власник цієї команди. Ви впевнені, що хочете призначити %s "
"новим власником цієї команди?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Новий власник команди"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Опублікувати"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "Ваша бібліотека порожня. Ви впевнені, що хочете опублікувати її?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Опублікувати пусту бібліотеку"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Малий зсув"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "Зняти з публікації поширену сторінку"
msgstr[1] "Зняти з публікації декілька поширених сторінок"
msgstr[2] "Зняти з публікації поширені сторінки"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "Ви впевнені, що хочете зняти бібліотеку з публікації?"
msgstr[1] "Ви впевнені, що хочете зняти бібліотеки з публікації?"
msgstr[2] "Ви впевнені, що хочете зняти бібліотеки з публікації?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "Зняти бібліотеку з публікації"
@@ -3280,11 +3236,11 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Оновити компонент спільної бібліотеки"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "Цієї сторінки не існує :/"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "Сторінка 404"
@@ -3304,11 +3260,11 @@ msgstr ""
"Перевірте вхідні листи та натисніть на посилання для створення нового "
"паролю."
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "Зареєструватись безкоштовно"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "І почати використовувати Penpot у ту ж мить!"
@@ -3316,67 +3272,67 @@ msgstr "І почати використовувати Penpot у ту ж мит
msgid "not-found.made-with-love"
msgstr "Створено з ЛЮБОВ'Ю та Open Source"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "Ви вже запитували дозвіл на доступ до цього файлу."
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr ""
"Ви вже запитували доступ до цього файлу або інших файлів чи проєктів цієї "
"команди."
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr ""
"Ви вже запитували доступ до цього проєкту або інших проєктів чи файлів цієї "
"команди."
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "Ви вже запитували дозвіл на доступ до цього проєкту."
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "ЗАПИТ НА ДОЗВІЛ"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "Запам'ятайте - якщо власник погодить, ви будете запрошені до команди."
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "Ваш запит надіслано успішно!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "Ви не маєте доступу до цього файлу."
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "Відвідати ваш Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "Якщо власник погодить, Ви будете запрошені до команди."
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Файл Penpot"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "Ви не маєте доступу до цього проєкту."
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "ПРОЄКТ"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "Щоб мати доступ до файлу, спершу запитайте власника команди."
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "Щоб мати доступ до цього проєкту, запитайте у власника команди."
@@ -3386,29 +3342,29 @@ msgstr ""
"Перерва на технічне обслуговування: ми закінчимо технічне обслуговування "
"протягом 5 хвилин."
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "Запрошення вилучено успішно"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Запрощення успішно надіслано"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "Посилання на запрошення скопійовано"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr ""
"Ви не можете видалити свій профіль. Перш ніж продовжити, перепризначте свої "
"команди."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "Профіль успішно збережено!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Лист для підтвердження надіслано на %s. Перевірте свою скриньку!"
@@ -3440,78 +3396,78 @@ msgstr ""
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "Створити команду"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Запрости учасників"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Запросити у якості:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Тож почнімо!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "Генерування реального коду з дизайнів"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "Створення дизайнерських систем"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "Прототипування"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "Розробка UI/UX для застосунків"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "Фреймворкінг"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "Для чого плануєте використовувати Penpot?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr ""
"Розкажіть нам трохи про себе, щоб допомогти нам зробити Penpot зручним для "
"вас. Ваші відповіді допоможуть нам визначити пріоритетність нових функцій і "
"вказати Вам потрібний напрямок для початку роботи."
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "Допоможіть нам познайомитися з вами ближче"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "Який з цих інструментів використовуєте найчастіше?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "Чим займаєтесь?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "Розкажіть про вашу роботу"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "Звідки хотіли б почати?"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "Навчання"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "Особисте"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "Робоче"
@@ -3561,11 +3517,11 @@ msgstr "Почніть проєктувати"
msgid "profile.recovery.go-to-login"
msgstr "Повернутись на сторінку входу"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Від'єднати"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Змішаний"
@@ -3577,35 +3533,35 @@ msgstr "Видалити колір"
msgid "settings.select-this-color"
msgstr "Оберіть елементи, використовуючи цей стиль"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Коментарі"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Вирівняти по низу"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Вирівняти по центру горизонтально"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Вирівняти по лівому краю"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Вирівняти по правому краю"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Вирівняти по верху"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Вирівняти по центру вертикально"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Створити дошку з вибраного"
@@ -3613,55 +3569,55 @@ msgstr "Створити дошку з вибраного"
msgid "shortcuts.bold"
msgstr "Виділити жирним шрифтом"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Булева різниця"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Логічне виключення"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "Булева інтерсекція"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Булеве об'єднання"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Відсунути на задній план"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Посунути нижче"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Посунути вище"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Відсунути на передній план"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Скасувати відміну"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Скопіювати"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "Скопіювати посилання у буфер"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "Копіювати параметри"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "Створити компонент/варіянт"
@@ -3669,35 +3625,35 @@ msgstr "Створити компонент/варіянт"
msgid "shortcuts.create-new-project"
msgstr "Створити новий"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Вирізати"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Зменшити"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Видалити"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Видалити вузол"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Від'єднати компонент"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Крива"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Еліпс"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "Рамка"
@@ -3705,39 +3661,39 @@ msgstr "Рамка"
msgid "shortcuts.draw-nodes"
msgstr "Намалювати шлях"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Контур"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Прямокутник"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Текст"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Дублікат"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Відмінити"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Експортувати фігури"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Збільшити, щоб вмістити все"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Перевернути горизонтально"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Перевернути вертикально"
@@ -3761,23 +3717,23 @@ msgstr "Відвідати спільні бібліотеки"
msgid "shortcuts.go-to-search"
msgstr "Пошук"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Група"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Розподілити горизонтально"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Показати/приховати інтерфейс"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Збільшити"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Вставити зображення"
@@ -3785,7 +3741,7 @@ msgstr "Вставити зображення"
msgid "shortcuts.italic"
msgstr "Виділити курсивом"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Приєднати вузли"
@@ -3793,39 +3749,39 @@ msgstr "Приєднати вузли"
msgid "shortcuts.line-through"
msgstr "Перемкнути рядок через"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Створити кут"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Створити криву"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Маска"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Об'єднання вузлів"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Перемістити"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Швидко перемістити униз"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Швидко перемістити ліворуч"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Швидко перемістити праворуч"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Швидко перемістити вгору"
@@ -3833,333 +3789,333 @@ msgstr "Швидко перемістити вгору"
msgid "shortcuts.move-nodes"
msgstr "Перемістити вузол"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Перемістити вниз"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Перемістити ліворуч"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Перемістити праворуч"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Перемістити вгору"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Наступна дошка"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Скорочень не знайдено"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Непрозорість на 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Непрозорість на 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Непрозорість на 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Непрозорість на 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Непрозорість на 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Непрозорість на 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Непрозорість на 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Непрозорість на 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Непрозорість на 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Непрозорість на 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Підбір кольору"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "Перейти до коментарів глядача"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Перейти до панелі керування"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Перейти до інспекції глядача"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "Перейти до взаємодій глядача"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Перейти до взаємодій глядача"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "Перейти до робочого простору"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " або "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Вставити"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "Вставити параметри"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "Менеджер плагінів"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Попередня дошка"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Повернути внесені зміни"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "Перейменувати"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "Скинути збільшення"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "Масштабувати"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Основи"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "Панель управління"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Глядач"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Робоче поле"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Обрати все"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "Обрати наступний шар"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Обрати батьківський шар"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "Обрати попередній шар"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "Відокремити вузли"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "Показати / приховати піксельну сітку"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Показати / приховати скорочення"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Прив'язати до вузлів"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Прив'язати до піскельної сітки"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "Почати редагування"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Вирівнювання"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Редагувати"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "Загальні"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Головне меню"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Модифікувати шар"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Навігація"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Навігація"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Навігація"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Панелі"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Контури"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Форми"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Тексти"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Інструменти"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Масштабування"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Масштабування"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Вставити мініатюри"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "Клавіатурні скорочення"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Перемкнути динамічне вирівнювання"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Обрати ресурси"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Обрати палітру кольорів"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Обрати режим фокусування"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Перейти в повноекраний режим"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "Показати/приховати орієнтири"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "Обрати історію"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Обрати шари"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "Додати / вилучити гнучкий макет"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "Додати / вилучити макет сітки"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Блокувати / розблокувати"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "Заблокувати пропорції"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "Показати / приховати лінійки"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "Прив'язувати до орієнтирів"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "Прив'язувати до орієнтирів лінійок"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Обрати палітру тексту"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "Змінити тему"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Показати / приховати"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Обрати стиль збільшення"
@@ -4167,31 +4123,31 @@ msgstr "Обрати стиль збільшення"
msgid "shortcuts.underline"
msgstr "Обрати нижнє підкреслення"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Скасувати попередню дію"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Розбити групу"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Зняти маску"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Розподілити вертикально"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Зменшити об'єктив лінзи"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Збільшити об'єктив лінзи"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Збільшити до обраного"
@@ -4282,204 +4238,204 @@ msgstr ""
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "Запрошення людей з Безлімітним планом"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "Підписки"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "Додайте спосіб оплати, щоб продовжити після пробного періоду"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "Усі переваги Професійного плану разом з:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "Усі переваги безлімітного плану та:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s редакторів)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Корпоративний"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Корпоративний (пробний)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90-денні автозбережнні версії та відновлення файлів"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "Місячний рахунок з граничною сумою"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "Безлімітне сховище"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "Керувати підписками"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "Додати платіжні засоби"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr ""
"Додайте платіжні засоби щоб продовжити Вашу підписку після кінця пробного "
"терміну й продовжити підтримувати наш відкритий проєкт. Плату поки не буде "
"стягнуто."
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "Пропустити й розпочати пробний період"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "Допоможіть нам рости й зробіть свій пробний період простіше"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "Наразі Ви маєте %s людину, які можуть редагувати, поміж Ваших команд."
msgstr[1] "Наразі Ви маєте %s людини, які можуть редагувати, поміж Ваших команд."
msgstr[2] "Наразі Ви маєте %s людей, які можуть редагувати, поміж Ваших команд."
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr ""
"Увага: перехід на легший план зменшить обсяг сховища, тривалість резервних "
"копій та історії версій."
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "Редактори"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(Власники, Адміни та Редаткори. Глядачі не є Редакторами)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr ""
"Ви не можете встановити менше редакторів ніж маєте зараз. Змініть роль "
"(редактор/адмін на глядача) людей, які не редагують файли, в параметрах "
"команди."
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "Плата опісля пробного терміну. Наразі кредитна карта не потрібна."
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s** на місяць"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "Застосувати %s до Вашої команди"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr ""
"Порада: Кількість місць можна збільшити зараз, щоб бути попереду запрошень. "
"На 25+ редакторів поміж команд, Ви насолоджуватиметесь фіксованою платою у "
"$175 на місяць."
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "Учасник Penpot з %s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "Більше інформації"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Інші плани Penpot"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "організацій на місяць"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Професійний"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "7-денні автозбережені версії та відновлення файлів"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10ГБ сховища"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "Безлімітні команди. До 8 редакторів поміж Ваших команд."
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "Рекомендовано"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "Ваша підписка"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "Розпочати безкоштовний пробний період"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "Оформити підписку"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr ""
"Ви можете змінити власні підписки у будь-який час зі сторінки 'Підписки', "
"що у подробицях облікового запису."
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "Насолоджуйтесь планом!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "Дякуємо за вибір плану %s Penpot!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "Ви %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "Спробуйте перші 14 днів безкоштовно"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Безлімітний"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Безлімітний (пробний)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "30-денні автозбережені версії та відновлення файлів"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "Місячний рахунок з граничною сумою"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25ГБ сховища"
@@ -4504,42 +4460,42 @@ msgstr ""
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "Якщо бажаєте збільшити цей ліміт, [оновіть план|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "%s запрошення обрано"
msgstr[1] "%s запрошення обрано"
msgstr[2] "%s запрошень обрано"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Постачальники шрифтів - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Шрифти - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Проєкти - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Пошук - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "Спільні бібліотеки - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - свобода дизайну для команд"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Надіслати відгук - Penpot"
@@ -4547,7 +4503,7 @@ msgstr "Надіслати відгук - Penpot"
msgid "title.settings.notifications"
msgstr "Сповіщення - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Налаштування - Penpot"
@@ -4555,27 +4511,27 @@ msgstr "Налаштування - Penpot"
msgid "title.settings.password"
msgstr "Пароль - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Профіль - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Запрошення - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Учасники - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Налаштування - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Вебхуки - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - Режим перегляду - Penpot"
@@ -4583,99 +4539,99 @@ msgstr "%s - Режим перегляду - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "На сторінці не знайдено дошок."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "Дошку не знайдено."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Коментарі (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Не показувати взаємодії"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Повноекранний режим"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Дослідити (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Взаємодії"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Взаємодії (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Копіювати посилання"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Показати взаємодії"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "Показати взаємодії при натискані"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Мапа сайту"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "Остання доставка була успішною."
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Вирівняти по центру горизонтально (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Розподілити горизонтальні проміжки (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Вирівняти по лівому краю (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Вирівняти по правому краю (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Вирівняти по низу (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Вирівняти по центру вертикально (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Розподілити вертикальні проміжки (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Вирівняти по верху (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "Додати бібліотеку"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Усі ресурси"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Кольори"
@@ -4687,7 +4643,7 @@ msgstr "Додати колір"
msgid "workspace.assets.component-group-options"
msgstr "Параметри групи компонентів"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Компоненти"
@@ -4695,7 +4651,7 @@ msgstr "Компоненти"
msgid "workspace.assets.components.add-component"
msgstr "Додати компонент"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s Варіантів"
@@ -4703,15 +4659,15 @@ msgstr "%s Варіантів"
msgid "workspace.assets.create-group"
msgstr "Створити групу"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "Ваші елементи будуть автоматично названі як \"назва групи / назва елемента\""
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "Видалити"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "Створити дуплікат"
@@ -4719,39 +4675,39 @@ msgstr "Створити дуплікат"
msgid "workspace.assets.duplicate-main"
msgstr "Дублювати головний"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Редагувати"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "Фільтрувати"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "Перегляд сіткою"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Група"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Ім'я групи"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "Перегляд списком"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "локальна бібліотека"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "Керувати бібліотекою"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Не було знайдено ресурсів"
@@ -4759,7 +4715,7 @@ msgstr "Не було знайдено ресурсів"
msgid "workspace.assets.open-library"
msgstr "Відкрити файл бібліотеки"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Перейменувати"
@@ -4767,11 +4723,11 @@ msgstr "Перейменувати"
msgid "workspace.assets.rename-group"
msgstr "Перейменувати групу"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Пошук ресурсів"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Спільна бібліотека"
@@ -4782,43 +4738,43 @@ msgstr[0] "%s компонент"
msgstr[1] "%s компоненти"
msgstr[2] "%s компонентів"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "Сортувати"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Типографіки"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "Додати типографіку"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Розмір"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Стиль шрифта"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "Перейти до файлу бібліотеки стилів для редагування"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Міжлітеральний відступ"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Висота лінії"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Аа"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Перетворення тексту"
@@ -4830,63 +4786,63 @@ msgstr "Розгрупувати"
msgid "workspace.colorpicker.color-tokens"
msgstr "Токени кольорів"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "Компоненти не можна вкладати в них же."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "Деякі копії не можна поміняти. Компоненти не можна вкладати в них же."
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "Створити ділянку"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "Створити дошку"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "Об'єднати клітинки"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "Додати 1 стовпець праворуч"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "Додати 1 стовпець ліворуч"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "Видалити стовпець"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "Видалити стовпець та фігури"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "Дублювати стовпець"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "Додати 1 рядок знизу"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "Додати 1 рядок вгорі"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "Видалити рядок"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "Видалити рядок та фігури"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "Дублювати рядок"
@@ -4894,15 +4850,15 @@ msgstr "Дублювати рядок"
msgid "workspace.debug.title"
msgstr "Інструменти відлагодження"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Режим фокусування"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Розфокосувати"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Фокусувати"
@@ -4914,191 +4870,191 @@ msgstr "Лінійний градієнт"
msgid "workspace.gradients.radial"
msgstr "Радіальний градієнт"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "Вимкнути динамічне вирівнювання"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Вимкнути пропорційне масштабування"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "Деактивувати прив'язку до орієнтирів"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Вимкнути прив'язку до пікселів"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "Деактивувати прив'язку до орієнтирів лінійок"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Увімкнути динамічне вирівнювання"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Увімкнути пропорційне масштабування"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Прив'язати до орієнтирів"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Увімкнути прив'язку до пікселів"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "Прив'язати до орієнтирів лінійок"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "Приховати імена дошок"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "Приховати орієнтири"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Приховати палітру кольорів"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Приховати піксельну сітку"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Приховати лінійки"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Приховати палітру шрифтів"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Редагувати"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Файл"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Допомога та інформація"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Налаштування"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Вигляд"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Повернутись до внесених змін"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Обрати все"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "Показати імена дошок"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "Показати орієнтири"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Показати палітру кольорів"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Показати піксельну сітку"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Показати лінійки"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Показати палітру шрифтів"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "Перемкнутись на темну тему"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "Перемкнутись на світлу тему"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "Перемкнутись на тему системи"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Відхилити зміни"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Скинути"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "Помилка при збереженні"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Збережено"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Збереження"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "Поділитись"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Режим перегляду (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "Збільшення"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Заповнення - розширити щоб заповнити"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Fit - зменшити масштаб до потрібного розміру"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Збільшити щоб вмістити все"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Повноекранний"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Наблизити до виділеного"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "Редагувати сітку"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "Вихід"
@@ -5106,7 +5062,7 @@ msgstr "Вихід"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "Нижній внутрішній відступ"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "Показати параметри 4-стороннього внутрішнього відступу"
@@ -5142,30 +5098,30 @@ msgstr "Все"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "Розмістити"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "Розмістити макет сітки"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "%s колір"
msgstr[1] "%s кольори"
msgstr[2] "%s кольорів"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "У вашій бібліотеці, поки що, немає стилів кольорів"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "У вашій бібліотеці, поки що, немає стилів типографіки"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "Файл бібліотеки"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Попередні кольори"
@@ -5177,96 +5133,96 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Зберегти стиль кольору"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "%s компонент"
msgstr[1] "%s компоненти"
msgstr[2] "%s компонентів"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "Підʼєднано до"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "Або додайте кілька з них, щоб спробувати:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "У команді немає Спільних Бібліотек"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "деякі шаблони тут"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Бібліотека файлів"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "%s фігура"
msgstr[1] "%s фігури"
msgstr[2] "%s фігур"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "БІБЛІОТЕКИ В ЦЬОМУ ФАЙЛІ"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "БІБЛІОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "ОНОВЛЕННЯ БІБЛІОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "Завантаження…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "Тут ще немає спільних бібліотек, які потребують оновлення"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "Не знайдено збігів для \"%s\""
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "Пошук спільних бібліотек"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "СПІЛЬНІ БІБЛІОТЕКИ"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "Під'єднати бібліотеку"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "%s типографіка"
msgstr[1] "%s типографіки"
msgstr[2] "%s типографік"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "Від'єднати бібліотеку"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "Оновити"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "побачити усі зміни"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "ОНОВЛЕННЯ"
@@ -5302,111 +5258,111 @@ msgstr "Перемикання розмивання"
msgid "workspace.options.canvas-background"
msgstr "Фон полотна"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Зміст кліпу"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Компонент"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "Анотація"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Копія"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "Створіть анотацію"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Редагуйте анотацію"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Головний"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "Замінити компонент"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "У цій бібліотеці немає ресурсів"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "Розʼєднано"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "До головного компонента"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr ""
"Цей компонент має версії, що конфліктують. Впевніться, що кожна варіація "
"має унікальний набір значень властивостей."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "Розташувати дубльовані варіанти"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "Деякі варіанти мають однакові властивості та значення"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "Ці варіанти мають однакові властивості та значення."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "Цей варіант має значення та властивості, які належать і до іншого."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "Деякі з цих варіантів мають однакові значення і властивості."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr ""
"Цей компонент містить варіянти з недійсними іменами. Впевніться що кожен з "
"варіантів слідує відповідній структурі."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "Визначити помилкові варіанти"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "Деякі варіанти мають помилкові імена"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "Знайти недійсні варіанти"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "Ці варіанти мають помилкові імена."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "Цей варіант має помилкове імʼя."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "Деякі з цих варіантів мають помилкові імена."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[property] = [value], [property] = [value]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "Спробуйте використати таку структуру:"
@@ -5440,7 +5396,7 @@ msgstr "Мають однаковий рівень у ієрархії."
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "Групи, дошки та шаблони вважаються рівними."
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "Як варіанти лишаються зʼєднаними"
@@ -5484,11 +5440,11 @@ msgstr "По верху"
msgid "workspace.options.constraints.topbottom"
msgstr "По верху та низу"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Дизайн"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Експортувати"
@@ -5496,38 +5452,38 @@ msgstr "Експортувати"
msgid "workspace.options.export-multiple"
msgstr "Експортувати обране"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
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:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "Додати експортування"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "Видалити експортування"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "Суфікс"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Експортування завершено"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Експортую…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Не вдалось експортувати"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "Експортування відбувається неочікувано повільно"
@@ -5543,7 +5499,7 @@ msgstr "Додати заливку"
msgid "workspace.options.fill.remove-fill"
msgstr "Видалити заливку"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "Змінити розмір щоб заповнити"
@@ -5567,67 +5523,67 @@ msgstr "Початки потоку"
msgid "workspace.options.grid.auto"
msgstr "Автоматично"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "Стовпці"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Колір"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Проміжок"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Висота"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Зовнішній відступ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Встановити за вмовчанням"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "Низ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "По центру"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Ліво"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Право"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Розтягування"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "По верху"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Використовувати вмовчання"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Рядки"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Квадратна"
@@ -5639,7 +5595,7 @@ msgstr "Заповнити групу"
msgid "workspace.options.group-stroke"
msgstr "Рамка групи"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "Додати орієнтир"
@@ -5647,19 +5603,19 @@ msgstr "Додати орієнтир"
msgid "workspace.options.guides.remove-guide"
msgstr "Видалити орієнтир"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "Орієнтири"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "Перемкнути орієнтир"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Висота"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Дослідити"
@@ -5875,107 +5831,107 @@ msgstr "Взаємодії"
msgid "workspace.options.interactions.add-interaction"
msgstr "Додати взаємодію"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Колір"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Вигорання кольору"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Освітлення кольором"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Потемніння"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Різниця"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Виключення"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Жорстке світло"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Відтінок"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Світліше"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Сяяння"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Множення"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Нормальний"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Накладення"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Насиченість"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Екран"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "М'яке світло"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "Перемкнути видимість шару"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "Макс. Висота"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "Макс. Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "Мін.Висота"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Мін.Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Більше кольорів"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Більше кольорів бібліотеки"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "Більше токенів кольорів"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Непрозорість"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Прототип"
@@ -6007,19 +5963,19 @@ msgstr "Згорнути незалежні радіуси"
msgid "workspace.options.radius.show-single-corners"
msgstr "Показати незалежні радіуси кутів"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Нещодавній"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Спробувати ще раз"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Обернення"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Пошук шрифту"
@@ -6027,7 +5983,7 @@ msgstr "Пошук шрифту"
msgid "workspace.options.select-a-shape"
msgstr "Оберіть фігуру, дошку чи групу щоб перетягнути з'єднання до іншої дошки."
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Обрані кольори"
@@ -6095,55 +6051,55 @@ msgstr "Перемкнути тінь"
msgid "workspace.options.show-fill-on-export"
msgstr "Показати в експортованому"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Показати у режимі перегляду"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Розмір"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Шаблони розміру"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "Зафіксувати співвідношення"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "Зняти фіксацію співвідношення"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Коло"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Ромб"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Стрілка"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Жодний"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Округле"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Квадратне"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Прямокутне"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Трикутне"
@@ -6151,7 +6107,7 @@ msgstr "Трикутне"
msgid "workspace.options.stroke-color"
msgstr "Колір обведення"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Довжина обведення"
@@ -6159,35 +6115,35 @@ msgstr "Довжина обведення"
msgid "workspace.options.stroke.add-stroke"
msgstr "Додати колір обведення"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "По центру"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Пунктирний"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "Точковий"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Всередину"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Комбіноване"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Назовні"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "Видалити обведення"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Жирне"
@@ -6223,11 +6179,11 @@ msgstr "Автоматична ширина"
msgid "workspace.options.text-options.grow-fixed"
msgstr "Фіксована"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Інтервал між літерами"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Висота рядка"
@@ -6273,126 +6229,126 @@ msgstr ""
"Використовуйте кнопку відтворення в заголовку, щоб запустити перегляд "
"прототипів."
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ширина"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Вісь абсцис (X)"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Вісь ординат (Y)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Намалювати вузли (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Приєднати вузли (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "В кут (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "В криву (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Об'єднати вузли (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Перемістити вузли (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Розділити вузли (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Прив'язати вузли (%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "Відкрити"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "Дослідіть [більше плагінів](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "Ви поки не встановлювали жодного плагіна"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "Маніфест плагіна неправильний."
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "Щоб використовувати цей плагін, Ви маєте бути редактором"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "Плагін не існує або його URL недійсний."
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "Встановити"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "Встановлені плагіни"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "Керування плагінами"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "Плагіни"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "ОНОВИТИ ЦЕЙ ПЛАГІН"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr ""
"Плагін було модифіковано після останнього використання. Тепер він також "
"хоче отримати доступ до:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "Завантаження файлів розпочато."
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "Зберігати дані в бровзері."
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "Читати ваші коментарі та відповіді."
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "Читати та змінювати ваші коментарі та відповіді від вашого імені."
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "Читати вміст файлів до яких користувачі мають доступ."
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "Читати та модифікувати вміст файлів, до яких користувачі мають доступ."
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr ""
"Зауважте, що плагін створено зовнішньою стороною, тож впевніться що Ви "
@@ -6400,73 +6356,73 @@ msgstr ""
"безпека Ваших даних. Якщо маєте якісь сумніви, звʼяжіться із службою "
"підтримки."
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "Читати ваші бібліотеки та матеріали."
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "Читати та модифікувати ваші бібліотеки та матеріали."
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "'%s' ПЛАГІН ЗАПИТУЄ ДОСТУП НА:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "Читати інформацію профілю поточного користувача."
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "Список плагінів"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "Видалити плагін"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "Вкажіть URL плагіну"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "Плагіни"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "НЕ ЗАРАЗ"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr ""
"Хочете переглянути? Буде створено нову чернетку для цієї команди. (Якщо ні, "
"ви можете завжди знайти це у встановлених плагінах будь-якого файлу.)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "'%s' ПЛАГІН ВСТАНОВЛЕНО ДЛЯ ВАШОГО КОРИСТУВАЧА!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "СПРОБУВАТИ ПЛАГІН"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Додати гнучкий макет"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Додати макет сітки"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "Додати макет"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "Створити варіант"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "Додати нову властивість"
@@ -6478,7 +6434,7 @@ msgstr "Розмістити позаду"
msgid "workspace.shape.menu.backward"
msgstr "Перемістити назад"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "Поєднати як варіянти"
@@ -6486,7 +6442,7 @@ msgstr "Поєднати як варіянти"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "Компонентам потрібно знаходитись на одній сторінці"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Копіювати"
@@ -6522,27 +6478,27 @@ msgstr "Копіювати як текст"
msgid "workspace.shape.menu.create-annotation"
msgstr "Створити анотацію"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Виділене на дошку"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Створити компонент"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Створити кілька компонентів"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Вирізати"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Вилучити"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Видалити початок потоку"
@@ -6554,7 +6510,7 @@ msgstr "Відокремити екземпляр"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Відокремити екземпляри"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Різниця"
@@ -6562,15 +6518,15 @@ msgstr "Різниця"
msgid "workspace.shape.menu.duplicate"
msgstr "Дублювати"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Редагувати"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Виключити"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Вирівняти"
@@ -6582,7 +6538,7 @@ msgstr "Перевернути це горизонтально"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Перевернути це вертикально"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Початок потоку"
@@ -6594,31 +6550,31 @@ msgstr "Посунути вище"
msgid "workspace.shape.menu.front"
msgstr "На передній план"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Група"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Приховати"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Показати / приховати інтерфейс"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Перехрестя"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Заблокувати"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Додати маску"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "Вставити"
@@ -6626,27 +6582,27 @@ msgstr "Вставити"
msgid "workspace.shape.menu.paste-props"
msgstr "Вставити властивості"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Шлях"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Видалити гнучкий макет"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "Видалити макет сітки"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "Видалити макет"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "Видалити властивість"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "Варіант повинен містити принаймні один параметр"
@@ -6670,11 +6626,11 @@ msgstr "Відновити варіант"
msgid "workspace.shape.menu.select-layer"
msgstr "Обрати шар"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Показати"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Показати в панелі ресурсів"
@@ -6690,19 +6646,19 @@ msgstr "Видалити мініатюру"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Встановити як мініатюру"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Дегрупувати"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Об'єднання"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Розблокувати"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Зняти маску"
@@ -6718,51 +6674,51 @@ msgstr "Приховати панель інструментів"
msgid "workspace.sidebar.expand"
msgstr "Розкрити панель інструментів"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Історія"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Шари"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Компоненти"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "Фільтр"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Дошки"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Групи"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Список зображень"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Маски"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Пошук шарів"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Фігури"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Імпортовані атрибути SVG"
@@ -6774,7 +6730,7 @@ msgstr "Сторінки"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "Додати сторінку"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Мапа сайту"
@@ -6794,7 +6750,7 @@ msgstr "Додати набір до цієї групи"
msgid "workspace.tokens.add-token"
msgstr "Додати токен: %s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "Застосовано до"
@@ -6816,7 +6772,7 @@ msgstr ""
"Базовий розмір шрифту повинен бути значенням у пікселях або без одиниці "
"виміру."
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "Колір"
@@ -6824,7 +6780,7 @@ msgstr "Колір"
msgid "workspace.tokens.create-new-theme"
msgstr "Створити свою першу тему зараз."
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "Створити."
@@ -6844,7 +6800,7 @@ msgstr "Видалити тему"
msgid "workspace.tokens.duplicate"
msgstr "Дублювати токен"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "копіювати"
@@ -6892,7 +6848,7 @@ msgstr "Попередній перегляд:"
msgid "workspace.tokens.export.single-file"
msgstr "Один файл"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "Розмір шрифту чи {alias}"
@@ -6902,7 +6858,7 @@ msgstr ""
"Помилка під час встановлення розміру/стилю шрифта. Цей стиль шрифта не "
"існує у поточному шрифті"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "Вага шрифту (300, Жирний Курсив...) чи {alias}"
@@ -6940,7 +6896,7 @@ msgstr ""
"У одному файлі JSON, ключі першого рівня повинні бути іменами набору "
"токенів."
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "Імпортувати токени"
@@ -6948,17 +6904,17 @@ msgstr "Імпортувати токени"
msgid "workspace.tokens.import-warning"
msgstr "Імпорт токенів перепише усі наявні токени, набори та теми."
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "Неактивний"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr ""
"Цей набір неактивний. Змініть тему чи активуйте набір щоб побачити зміни в "
"області перегляду"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "Використовувати індивідуальні токени"
@@ -6978,11 +6934,11 @@ msgstr "Тема"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "Додати тему (приміром Світла)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "Літеральний відступ чи {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "Висота лінії (множник, px, %) чи {alias}"
@@ -6998,11 +6954,11 @@ msgstr "Макс. розмір"
msgid "workspace.tokens.min-size"
msgstr "Мін. розмір"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "Відсутнє посилання"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "Праве натискання миші для показу параметрів"
@@ -7018,7 +6974,7 @@ msgstr "Немає активної теми"
msgid "workspace.tokens.no-permisions-set"
msgstr "Щоб активувати / деактивувати набір, Ви маєте бути редактором"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "Щоб використовувати ці теми Ви маєте бути редактором"
@@ -7030,7 +6986,7 @@ msgstr "Ще не оголошено жодного набору. Створіт
msgid "workspace.tokens.no-sets-yet"
msgstr "Тут ще немає наборів."
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "Тут немає тем."
@@ -7046,7 +7002,7 @@ msgstr "Не перерозподіляти"
msgid "workspace.tokens.num-active-sets"
msgstr "%s активних наборів"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "Початкове значення: %s"
@@ -7058,11 +7014,11 @@ msgstr "Внутрішні відступи"
msgid "workspace.tokens.radius"
msgstr "Радіус"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "Введіть псевдо токену типографіки"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "Введіть псевдо токену тіні"
@@ -7078,7 +7034,7 @@ msgstr "Перерозподілити усі токени що використ
msgid "workspace.tokens.remap-warning-time"
msgstr "Ця дія може тривати довго."
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "Отримане значення: %s"
@@ -7112,27 +7068,27 @@ msgstr "Тут можна налаштувати базовий розмір ш
msgid "workspace.tokens.settings"
msgstr "Налаштування токену"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "Додати Тінь"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "Розмиття"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "Вставка"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "Вилучити Тінь"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "Розкид"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "Значення розмиття не може бути відʼємним"
@@ -7140,11 +7096,11 @@ msgstr "Значення розмиття не може бути відʼємн
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "Значення розкиду не може бути відʼємним"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "Х"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr ""
@@ -7152,11 +7108,11 @@ msgstr ""
msgid "workspace.tokens.size"
msgstr "Розмір"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "жоден | верхній регістр | нижній регістр | верхня на початку чи {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "жоден | підкреслення | закреслення чи {alias}"
@@ -7174,31 +7130,31 @@ msgstr "Список тем"
msgid "workspace.tokens.token-description"
msgstr "Опис"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "Обрати сімейство шрифтів"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "Сімейство шрифта"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "Сімейство шрифта або список шрифтів, розділені комою (,)"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "Ім'я"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "Токен вже існує на шляху: %s"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "Імʼя повинне містити принаймні 1 символ"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" помилкове імʼя токену.\n"
@@ -7209,11 +7165,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "Значення"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "Ведіть значення або псевдо з {псевдо}"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "ТОКЕНИ - %s"
@@ -7229,11 +7185,11 @@ msgstr "Імпротування пройшло успішно. Деякі то
msgid "workspace.tokens.unknown-token-type-section"
msgstr "Тип \"%s\" непідтримуваний (%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "Використати посилання"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "Значення не є дійсним"
@@ -7241,55 +7197,55 @@ msgstr "Значення не є дійсним"
msgid "workspace.toolbar.assets"
msgstr "Ресурси"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Палітра кольорів (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Коментарі (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Крива (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Еліпс (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Дошка (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Зображення (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Перемістити (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Шлях (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "Плагіни (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Прямокутник (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Текст (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Типографіки (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "Перемкнути панель інструментів"
@@ -7302,7 +7258,7 @@ msgstr "Готово"
msgid "workspace.top-bar.view-only"
msgstr "**Інспектувати код** (Лише перегляд)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Тут, поки що, немає історії редагувань"
@@ -7442,19 +7398,19 @@ msgstr "ресурс типографіки"
msgid "workspace.undo.entry.unknown"
msgstr "Операція над %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Відкинути"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Більше про"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "Є деякі оновлення в спільній бібліотеці"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "Оновити"
diff --git a/frontend/translations/yo.po b/frontend/translations/yo.po
index 23d4d7dfc4..7260cde389 100644
--- a/frontend/translations/yo.po
+++ b/frontend/translations/yo.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-15 17:19+0000\n"
-"Last-Translator: Alejandro Alonso \n"
+"PO-Revision-Date: 2026-11-05 22:20+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Yoruba "
" \n"
"Language: yo\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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
#: src/app/main/ui/auth/recovery.cljs:83
msgid "auth.confirm-password"
@@ -25,7 +25,7 @@ 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:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "gbàgbé ọ̀rọ̀-ìgbaniwọlé ?"
@@ -33,27 +33,27 @@ msgstr "gbàgbé ọ̀rọ̀-ìgbaniwọlé ?"
msgid "auth.fullname"
msgstr "orúkọ lẹ́kùnn-ún-rẹ́rẹ́"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "wọlé síbí"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "ibùdó gítì"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "láàbù gítì"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "ṣàwárí"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "ṣílẹ̀kuǹ ìdánimọ̀"
@@ -75,7 +75,7 @@ msgstr ""
msgid "auth.notifications.recovery-token-sent"
msgstr "a ti fi ọ̀rọ̀-ìgbaniwọle aṣàtúnwárí ránṣẹ sínu àpótí rẹ."
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "o ti wọ inú ẹgbẹ́ bó ṣeyẹ"
@@ -107,11 +107,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:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "kò tí ì sí àkáùntì?"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "ṣẹ̀dá àkáùntì"
@@ -119,95 +119,95 @@ msgstr "ṣẹ̀dá àkáùntì"
msgid "auth.register-title"
msgstr "ṣẹ̀dá àkáùntì"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "òfin ibiṣẹ́"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "ìgbéjáde"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "gbogbo àwọn tó ń lo pẹ́ńpọtì"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(lọ́wọ́lọ́wọ́)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "pa ọ̀nà-àsopọ̀ run"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "gba ọ̀nà-àsopọ́"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "so àdàkọ pọ̀ bó ṣeyẹ"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "ṣàkóṣo ìgbaniláàye"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "o lè sọ̀rọ̀"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "ṣe àyẹ̀wò kóòdù"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "ẹnikẹ́ni tí ó bá ní ọ̀nà-àsopọ á ní àǹfààní àtiwọle"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "pín ojú ìwé"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "ọ̀nà-àsopọ̀ ojú ìwé tí a pín á hàn ní bí yìí"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "ọmọ ẹgbẹ́ nìkan ni"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "pín àwọn àpẹrẹ"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "yan gbogbo rẹ̀"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "ohun tí a kò tí ì kọ jáde"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "ìṣàkóṣo ọmọ ẹgbẹ"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "kẹ́gbẹ́ ṣera wọn lọ́kan"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "ṣe àpàpọ̀ bí i yàrá ìkàwe tí a pín"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "pàrọ̀ ímeèlí"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(dàákọ)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "ṣẹ̀dá ẹgbẹ́ tuntun"
@@ -215,11 +215,11 @@ msgstr "ṣẹ̀dá ẹgbẹ́ tuntun"
msgid "dashboard.default-team-name"
msgstr "pẹ́ńpọtì rẹ"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "pa ẹgbẹ́ rẹ́"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "sọ fáìlí pẹ́ńpọtì kalẹ̀ (.penpot)"
@@ -235,53 +235,53 @@ msgstr "ṣe ẹ̀dà %s fáìlì"
msgid "dashboard.export-binary-multi"
msgstr "sọ àwọn fáìlì pẹ́ẹ́pọtì kalẹ́ %s (.pẹ́ńpọtì)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "fi bọọdù ráńṣẹ bí i PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "fi ráńṣẹ́ bí i PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "% ti %s ẹ́límẹ́ǹti tí a yàn"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "fi ráńṣẹ"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr ""
"o lé ṣe àfikún ti ètò ìfiráńṣẹ si ẹ́límẹ́ǹtì láti bi àmì ohun ìní ( níbi "
"ìsàlẹ̀ báà lẹ́gbẹ̀ẹ́ ọ̀tun )."
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "àlàyé bí a ti ṣètò ìfiráńṣẹ sí pẹ́ńpọtì ."
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "kòsí àwọn ẹ́límẹ́ǹtì pẹ̀lú ètò ìfirańńṣẹ."
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "àṣàyàn ìfiránṣẹ́"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "fọ́ǹtì tó sọnù"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "yọ gbogbo wọn kúrò"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
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:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -291,7 +291,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:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
@@ -300,11 +300,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:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "ọpulóòdù gbogbo rẹ̀"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -315,67 +315,39 @@ 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:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "gbé àwọn fáìlì pẹ́ńpọtì wọlé"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "ooho! a kò lè gbé fáìlì yìí wọlé"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
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."
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "síṣe ètò àwọ̀"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "síṣe ètò àwọn irin iṣẹ́"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "síṣe ètò àwọn ohun ìgbéròyìn jáde"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "síṣe ètò ojú ìwe : %s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "síṣe ètò àkọsílẹ̀ ojú ìwé"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "ọpulóòdù dátà sínú sáfà (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "ọpulóòdù fáìlì: %s"
-
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "pe àwọn ènìyàn"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "fẹgbẹ́ sílẹ̀"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "yàrá ìkàwé àti àwọn àwòṣe"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
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:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
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:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "yàrá ìkàwé"
@@ -383,7 +355,7 @@ msgstr "yàrá ìkàwé"
msgid "dashboard.loading-files"
msgstr "ṣe ìkójọpọ̀ àwọn fáìlí rẹ …"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "ṣèkójọpọ̀ àwọ fọ́ǹtì rẹ …"
@@ -399,35 +371,35 @@ 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:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ fáìlì tuntun"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "fáìlì tuntun"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ iṣẹ́ àgbéṣe tuntun"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "iṣẹ́ àgbéṣe tuntun"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "kò sí èyí tó báramu fún un“%s“"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "àwon iṣẹ́ àgbéṣe tí a kànpọ á hàn níbí"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "a ti mú ímeèlì rẹ dójú ìwọn dáadáa"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "a ti ṣe ìwádìí ímeèlì rẹ dáadáa"
@@ -435,7 +407,7 @@ msgstr "a ti ṣe ìwádìí ímeèlì rẹ dáadáa"
msgid "dashboard.notifications.password-saved"
msgstr "a ti fi ọ̀rọ̀ ìgbaniwọlé rẹ pamọ́ dáadáa!"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s àwọn ọmọ ẹgbẹ́"
@@ -443,7 +415,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/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "àwọn àṣàyàn"
@@ -451,39 +423,39 @@ msgstr "àwọn àṣàyàn"
msgid "dashboard.password-change"
msgstr "yí ọ̀rọ̀ ìgbaniwọlé padà"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "pínì/yọ pínì kúrò"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "àwọn iṣẹ́ àgbéṣe"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "o fẹ́ yọ àkáǹtì rẹ kúro?"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "fi àwọn eto pamọ́"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "ṣàwárí…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "ṣàwárí fún “%s“…"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "yan èdè ui"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "yan àkọlé"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "fi gbogbo àwn fáìlì hàn"
@@ -495,7 +467,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:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "a ti gbé fáìlì rẹ kúro dáadáa"
@@ -507,82 +479,82 @@ msgstr "a ti gbé àwọn fáìlì rẹ kúrò dáadáa"
msgid "dashboard.success-move-project"
msgstr "a ti gbé iṣẹ́ àgbéṣe rẹ kúrò dáadáa"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "àlàyé ẹgbẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "àwọn ọmọ ẹgbẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "iṣẹ́ àgbéṣe ọmọ ẹgbẹ́"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "àkọlé ui"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "ṣàwárí àwọn èsì"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "tẹ̀ láti rí àwọn èsì"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "yàrá ìkàwé tí a kòtí ì gbé jáde"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "mú àwọn ètò dójú ìwọ̀n"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "ti ń siṣẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "When this hook is triggered event details will be delivered"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "ẹ̀yà kọ́ńtẹ́ǹtì"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "ṣẹ̀dá ìkọ́-wẹ́bù"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "a ti ṣẹ̀dá ìkọ́-wẹ́bù dáadáa ."
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr ""
"àwọn ìkọ́-wẹ́bù jẹ́ ọ̀nà tó rọrùn láti fi ààyè sílẹ̀ fún àwọn ààyè "
"ayélujára mìíràn àti awọn ápù ṣe filọ́ tí àwọn ìṣẹ̀lẹ̀ kan bá ní "
"pẹ́ńpọtì’’ a ó fi ìbéèrè ráńṣẹ́ sí ọ̀kọ̀kan wọn tí urls tó o pèsè."
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "tẹ bọ́tínnì \"fikún ìkọ́- wẹ́bù\" láti fì kan sí i."
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "kò sí ìkọ́-wẹ́bù tí a ṣẹ̀da´dì sisìnyí."
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "àkáǹtì rẹ"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "ímeèlì"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "ímeèlì rẹ"
@@ -598,7 +570,7 @@ 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:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "fagilé e"
@@ -610,15 +582,15 @@ msgstr "ó dára"
msgid "errors.auth-provider-not-configured"
msgstr "a kò tí ì fàṣẹ si àtúntò olùpèṣè."
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
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:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "fọ́ǹtì %s kò ṣe kójọpọ̀"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "àwọn fọ́ǹtì %s kò ṣe kójọpọ̀"
@@ -626,15 +598,15 @@ 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/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "a ṣàwákiri rẹ kò le ṣe iṣẹ́ yìí"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "ímeèlì yìí ti jẹ́ lílò tẹ́lẹ"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "a ti fọwọ́ sí ímeèlì rẹ tẹ́lẹ̀."
@@ -642,19 +614,19 @@ msgstr "a ti fọwọ́ sí ímeèlì rẹ tẹ́lẹ̀."
msgid "errors.email-as-password"
msgstr "o kò le lo ímeèlì rẹ gẹ́gẹ́ bí ọ̀rọ̀ ìgbaniwọlé"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "Ímeèlì «%s» ti ní ìjábọ̀ ọ̀pọ̀ọlọpọ̀ ìta-bọn-ọ̀n ti pẹ́."
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "Ímeèlì ti «%s» ń jábọ̀ gẹ́gẹ́ bí i awúrúju tàbí ìta-bọ̀n-ọnọǹ tipẹ́."
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "Àwọn ẹ̀yà ara ẹ̀rọ '%s' kò ní àtìlẹ́yìn."
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "Àsìṣe kan ti ṣẹlẹ̀."
@@ -666,7 +638,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:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "Ímeèlì tí a ti mọ̀dájú gbọ́dọ̀ báramu"
@@ -682,7 +654,7 @@ msgstr "Èyí tí a pè le parẹ́ tàbí ki àkókò lekọjá ."
msgid "errors.ldap-disabled"
msgstr "Ìfàṣẹsí LDAP kò ṣe é ṣe ."
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "O ti débi '%s' ìfàmìsí. Késí i pẹ̀lú àtìlẹ́yìn ."
@@ -694,7 +666,7 @@ msgstr "Àwòrán tóbi púpọ ju ohun tí a le fisí lọ."
msgid "errors.media-type-not-allowed"
msgstr "Ó dàbí pé èyí kì í ṣe àwòrán tó fẹsẹ́ múlẹ̀."
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr ""
"Pírófáìlì ímeèlì tí ò ǹ pè ti dákẹ (ti jábọ̀ àwúrúju tàbí ìtabọ̀n-ọ̀n tó "
@@ -712,7 +684,7 @@ msgstr "Ọ̀rọ̀ ìgbaniwọlé kò gbọdọ̀ dín ní lẹ́tà mẹ́jọ
msgid "errors.profile-blocked"
msgstr "Ti dínà mọ́ pírófáìlì"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "Ímeèlì pírófáìlì rẹ ti ní ìdákẹ́ (ìjábọ̀ àwúrúju tàbí ìtabọ̀n-ọ̀n tó ga)."
@@ -720,15 +692,15 @@ msgstr "Ímeèlì pírófáìlì rẹ ti ní ìdákẹ́ (ìjábọ̀ àwúrúju
msgid "errors.registration-disabled"
msgstr "Ìforúkọ-sílẹ̀ kò ṣe é ṣe lọ́wọ́lọ́wọ́."
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "kí àwọn ọmọ ẹgbẹ́ tí kò péye fi ẹgbẹ́ sílẹ̀, àbí bóyá o fẹ́ paárẹ́ ni ."
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "Kòsí ọmọ ẹgbẹ́ tí o fẹ́ yàn ."
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "Oní nǹkan kò le fi ẹgbẹ́ sílẹ̀ , o gbọ́dọ̀ tún ṣe àtúnyàn iṣẹ́ oní nǹkan."
@@ -736,35 +708,35 @@ msgstr "Oní nǹkan kò le fi ẹgbẹ́ sílẹ̀ , o gbọ́dọ̀ tún ṣe
msgid "errors.unexpected-error"
msgstr "Àsìṣe tí a kòrò tẹ́lẹ̀ ti ṣẹlẹ."
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "Tókìnnì àìmọ̀"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "Àsìṣe nínú ètò ìsopọ̀, kò lè dé ibi URL"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "URL kò páásì ìfọwọ́sí."
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "Èyí tí a fijíṣẹ́ kẹ́yìn kò dára."
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "Àsìṣe nínú ìfẹwọ́sí SSL ."
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "Àkókò ti lọ"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "Unexpected error on validating àsìṣe àìròtẹ́lẹ̀ lórí ìfọwọ́sí"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "Ipò àìròtẹ́lẹ̀ %s"
@@ -780,13 +752,13 @@ msgstr "Ọ̀rọ̀ ìgbaniwọlé ti àtijọ́ kò tọ̀nà"
msgid "feedback.description"
msgstr "Àpèjúwe"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr ""
"Inú wa dùn láti rí ẹ níbí. Tí o bá nílò ìrànlọ́wọ, please search before "
"you jọ̀wọ́ ṣàwárí kí o tó firáńṣẹ́."
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Agbègbè pẹ́ńpọtì"
@@ -801,11 +773,11 @@ msgstr ""
"jẹ́ èrò tàbí síṣe iyèméjì. Ìkan lára àwọn ọmọ ẹgbẹ́ wa yóò dáhùn láìpẹ́ "
"láìjìnnà."
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "A wà níbí láti ṣe ìrànlọ́wọ́ fún àwọn ìbéèrè tó bá wà lórí iṣẹ́ ọnà."
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "Àkáùnti àtìlẹ́yìn fún Tíwítà"
@@ -837,7 +809,7 @@ msgstr "Danlóòdù orísun àwòrán"
msgid "inspect.attributes.shadow"
msgstr "Ibòòji"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "Ìwọ̀n àti ipò"
@@ -845,39 +817,27 @@ msgstr "Ìwọ̀n àti ipò"
msgid "inspect.attributes.stroke"
msgstr "Stroke Sítírókì"
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.center"
-msgstr "Ààrin"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.inner"
-msgstr "Nínú"
-
-#, permanent, unused
-msgid "inspect.attributes.stroke.alignment.outer"
-msgstr "Ìtá"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "Taipogíráfì"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "Ẹbí Fọ́ǹtì"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "Ìwọ̀n Fọ́ǹtì"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "Àrà Fọ́ǹtì"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "Ìfàyè sí ààrin Lẹ́tà"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "Gíga Ìlà"
@@ -889,11 +849,11 @@ msgstr "Kò sí"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "Fàlà sí"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "Àkọlé Lẹ́tà"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "Lẹ́tà Kékeré"
@@ -901,7 +861,7 @@ msgstr "Lẹ́tà Kékeré"
msgid "inspect.attributes.typography.text-transform.none"
msgstr "Kò sí"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "Lẹ́tà ńlá"
@@ -963,27 +923,27 @@ msgstr "SVG"
msgid "inspect.tabs.code.selected.text"
msgstr "Ọ̀rọ̀"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "Ọ̀nà àbùjá"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "Ń siṣẹ́"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "Ṣàfikún àṣà Fọ́ǹtì"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "Alábòjútó"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Àdòbí XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "Gbogbo ẹ̀"
@@ -991,29 +951,29 @@ msgstr "Gbogbo ẹ̀"
msgid "labels.and"
msgstr "àti"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "Padá"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr ""
"Ó dàbí ẹnipé o ní láti dúró díẹ̀ kí o tún gbìyàjú ; à ń siṣẹ́ díẹ̀ síṣe "
"ìtọ́jú sáfà wa."
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "Ọ̀nà-àbáwọle búburú"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "Párẹ́"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Káńfà"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "Tì í"
@@ -1021,11 +981,11 @@ msgstr "Tì í"
msgid "labels.code"
msgstr "Kóòdù"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "dásí i"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "Agbègbè"
@@ -1033,35 +993,35 @@ msgstr "Agbègbè"
msgid "labels.confirm-password"
msgstr "Jẹ́rìísí"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "Tẹ̀ síwájú"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "O lè tẹ̀ síwájú pẹ̀lú àkáúnti pẹ́ńpọtì"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "ṣà dàkọ ọ̀nà àsopọ̀"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "Ṣẹ̀dá"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "Ṣẹ̀dá ẹgbẹ́ tuntun"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "Fi orúkọ ẹgbẹ́ tuntun wọlé"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "Dáṣìbọọ̀dù"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "Paárẹ́"
@@ -1073,7 +1033,7 @@ msgstr "Pa kọ́mẹ́ǹtì rẹ́"
msgid "labels.delete-comment-thread"
msgstr "Pa gbogbo kọ́mẹ́ǹtì rẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "Pa ìfìwépè rẹ́"
@@ -1081,31 +1041,31 @@ msgstr "Pa ìfìwépè rẹ́"
msgid "labels.delete-multi-files"
msgstr "Pa gbogbo %s fáìlì rẹ́"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "Olùdásílẹ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "Yọ́ kúrò"
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "Kọ ọ́ sílẹ̀"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "sàtúnkà"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "Olóòtú"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "Kọjá àkókò"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "Fi ránṣẹ́"
@@ -1117,43 +1077,43 @@ msgstr "Èsì kò siṣẹ́"
msgid "labels.feedback-sent"
msgstr "Èsì ti lọ"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Fígímà"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "Ẹbí fọ́ǹtì"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "Àrà"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "Fọ̀ǹtì"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "Báǹkì gítì-ọbù"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "Fèsì padà"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "Padà sẹ́yìn"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "Ibi ìranilọ́wọ́"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "Fi àwọn ọ̀rọ̀ tí a ti yanjú pamọ́"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "kò ja fáfá"
@@ -1161,47 +1121,47 @@ msgstr "kò ja fáfá"
msgid "labels.info"
msgstr "Àlàyé"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "Fi àwọn fọ́ǹtì sí orí ẹ̀rọ"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "Àsìṣe ti abẹ́nú"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "Ìkógun wọ̀lú"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "Ìfiwépè"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "Èdè"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "Àwọn yàrá ìkàwé & Tẹ́ńpílétì"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "ṣí kí o wọle tàbí kí o ṣàmì wọlé"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "Padé kí ojáde"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "Títajà"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "Ẹgbẹ"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "Àwọn ọmọ Ẹgbẹ́"
@@ -1209,19 +1169,19 @@ msgstr "Àwọn ọmọ Ẹgbẹ́"
msgid "labels.new-password"
msgstr "Ọ̀rọ̀ Ìgbaniwọlé tuntun"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "Èyí tó kàn"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
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í."
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "kò si àwọn ìfìwépè kankan nílẹ̀."
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "Óóho!"
@@ -1229,135 +1189,135 @@ msgstr "Óóho!"
msgid "labels.old-password"
msgstr "Ọ̀rọ̀ ìgbaniwọlé àtijọ́"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "Òmíìràn(ní pàtó)"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "Oníǹkan"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "Ọ̀rọ̀ ìgbaniwọlé"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "Ńńdúró"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "Tàtẹ̀yìn wá"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "Ohun títà tàbí iṣẹ́ àgbéṣe Olùṣàkóso"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "Pírófáìlì"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "Àwọn iṣẹ́ àgbéṣe"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "Fi àkọsílẹ̀ rẹ sílẹ̀"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "Yọ ọ́ kúrò"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "Yọ ọmọ ẹgbẹ́ kúrò"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "Fún un lórúkọ mìíràn"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "Fún ẹgbẹ́ lórúkọ mìíràn"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "Tún fì ìwé ìpè ránńṣẹ́"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "Tún gbìyànjú"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "Ojúṣe"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "Fi pamọ́"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "Ṣàwárí fọ́ǹtì"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "Ṣe àṣàyàn"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "Fi ránńṣẹ́"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "Fífi-ránńṣẹ…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "A wà níbi ètò ìpèsè ìtọ́jú àwọn sísítẹ́mù wa."
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "Sáfísì kòsí"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "Àwọn ètò"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "Yàrá ìkáwe"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "Fi gbogbo kọ́mẹ́ǹtì hàn"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "Fi àkójọ àwọn kọ́mẹ́ǹtì hàn"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "Fi àwọn kọ́mẹ́ǹtì tìrẹ nìkan hàn"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Yàwòrán"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "Bẹ̀rẹ̀"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "Ipò"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "Akẹ́kọ̀ọ́ tàbí olùkọ̀ọ́"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "Ìbáṣepọ̀"
@@ -1365,23 +1325,23 @@ msgstr "Ìbáṣepọ̀"
msgid "labels.unpublish-multi-files"
msgstr "%s àwọn fáìlì tí a kò tí kọ jáde"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "mú dójú ìwọ̀n"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "Mẹ́gbẹ́ dójú ìwọ̀n"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "Ọpulóòdù"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "Ọpulóòdù kọ́sítẹ́mù fọ́ǹtì"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "Ń ọpulóòdù…"
@@ -1389,11 +1349,11 @@ msgstr "Ń ọpulóòdù…"
msgid "labels.view-only"
msgstr "Wò ó nìkan"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "Olùwo"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "àwọn ìwé ìkọ́ wẹ́bù"
@@ -1401,11 +1361,11 @@ msgstr "àwọn ìwé ìkọ́ wẹ́bù"
msgid "labels.write-new-comment"
msgstr "Write new comment Kọ kọ́mẹ́ǹtì tuntun"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(ìwọ)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "Àkáùntì rẹ"
@@ -1434,63 +1394,63 @@ msgstr ""
msgid "modals.add-shared-confirm.message"
msgstr "Ṣàfikún “%s” gẹ́gẹ́ bí yàrá ìkàwé pípí"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "Big nudge Nọ́ọ̀jì ńlá"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "Ṣàyẹ̀wò ímeèlì tuntun"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr ""
"A fi ímeèlì kan ránń ṣẹ́ sí inú ímeèlì tí ò ń lò lọ́wọ́lọ́wọ́“%s” láti ṣe "
"àyẹ̀wò ìdánimọ̀ rẹ."
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "Ímeèlì tuntun"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "Pàrọ̀ ímeèlìl"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "Pàrọ̀ ímeèlì rẹ"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "Ṣẹ̀dá ìkọ́- wẹ́bù"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "Ṣẹ̀dá ìkọ́-wẹ́bù"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "Péloòdù URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://àpẹrẹ.com/postreceive ìgbà àtẹ̀yinwá"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "Fagilé e kí o sì fi àkáùntì mi pamọ́"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "Bẹ́ẹ̀ni, pa àkáùntì mi rẹ́"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr ""
"Nípa yíyọ àkáùntì rẹ kúrò o ’ pàdánù gbogbo àwọn iṣẹ́ àgbéṣe rẹ àti àwọn tí "
"ó wà lápamọ́."
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "Ṣé ó dá ọ lójú pé o fẹ́ pa àkáùntì rẹ rẹ́ ?"
@@ -1540,23 +1500,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:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
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:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
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:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
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:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "Pa ojú ìwé rẹ́"
@@ -1586,140 +1546,140 @@ msgstr ""
msgid "modals.delete-team-confirm.title"
msgstr "Yọ ẹgbẹ́ kúrò"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "Yọ ọmọ ẹgbẹ́ kúrò"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "Ṣé ó dá ọ lójú pé o fẹ́ yọ ọmọ ẹgbẹ́ yìí kúrò nínú ẹgbẹ́?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "Yọ ọmọ ẹgbẹ́ kúrò"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "Pa ìkọ́-wẹ́bù rẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "Ṣe ó dá ọ lójú pé o fẹ́ pa ìkọ́-wẹ́bù yìí rẹ́?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "Pa ìkọ́- wẹ́bù rẹ́"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "Ṣe àtúnṣe ìkọ́- wẹ́bù"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "Ṣe àtúnṣe ìkọ́-wẹ́bù"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "Fi ìfìwépè ránńṣẹ́"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "Ímeèlì, kí kọmá yà á sọ́tọ̀"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr ""
"Díẹ̀ nínú àwọn ímeèlì wá láti ọ̀dọ̀ àwọn tó jẹ́ ọmọ ẹgbẹ́ ní ìsinsìnyí. Ìwé "
"ìfipé wọn a kò nífi ránńṣẹ́."
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "Pe àwọn ọmọ ẹgbẹ́ sínú ẹgbẹ́"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr ""
"Gẹ́gẹ́ bí o ṣe jẹ́ ìwọ nìkan ni ọmọ ẹgbẹ́ nínú ẹgbẹ́ yìí, a ó yọ ẹgbẹ́ "
"kúrò pẹ̀lú iṣẹ́ àgbéṣe rẹ̀ àti àwọn fáìlì."
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "Ṣé ó dá ọ lójú pé o fẹ́ kúrò nínú %s ẹgbẹ́?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr ""
"O kò lè kúrò nínú ẹgbẹ́ tí kò bá sí ọmọ ẹgbẹ́ mìíràn tó ní ìgbéga sí oní "
"ǹǹkan. O lè fẹ́ pa ẹgbẹ́ rẹ́."
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr ""
"Ìwọ ni ẹni tí ó ni ẹgbẹ́ yìí. Please select another member to promote to "
"Jọ̀wọ́ yan ọmọ ẹgbẹ́ mìíràn tí yíò ní ìgbéga ẹni tí ó ni nǹkan kí o tó "
"kúrò."
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "Ṣe ìgbéga kí o kúrò"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "Yan ọmọ ẹgbẹ́ kan tí o ó gbéga"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "Kí o tó kúrò"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "Fi ẹgbẹ́ sílẹ̀"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "Ṣé ó dá ọ lójú pé o fẹ́ fi ẹgbẹ́ yìí sílẹ̀?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "Ń fi ẹgbẹ́ sílẹ̀"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "Fi kún iye tó jẹ́"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "Gbé ẹni tó ni nǹkan"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr ""
"Tí o bá gbé ẹni tí ó ni nǹkan, o ó yìí ojúṣe rẹ pada sí Alábòjútó, losing "
" àwọn ìgbà láàyè díẹ̀ á wà fún ẹgbẹ́ yìí. "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr ""
"Ìwọ ni ẹni tí ó ni ẹgbẹ́ yìí lọ́wọ́lọ́wọ́. Are you sure you want to make Ṣé "
"ó dá ọ lójú pé o fẹ́ jẹ́ %s oní nǹkan tuntun fún ẹgbẹ́?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "Ẹni tó ni ẹgbẹ́ tuntun"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "Kọ ọ́ jáde"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
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:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "Gbé yàrá ìkàwé tó ṣófìfo jáde"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "Fọwọ́ làn-ań díẹ̀"
@@ -1741,23 +1701,23 @@ msgstr ""
msgid "modals.update-remote-component.message"
msgstr "Mú ẹ̀yà iyàrá ìkàwé pípín kan dójú ìwọ̀n"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "Ìfipè tí a fi ránńṣẹ́ ti lọ dáadáa"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "ti ṣe àdàkọ ìfipè ọ̀nà ìtọ́ka sí"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "O kò le è yọ pírófáìlì rẹ kúro. Ṣe àtún yàn àwọn ẹgbẹ́ kí o tó tẹ̀ síwájú."
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "A ti fi pírófáìlì pamọ́ dáadáa!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "Verification email sent to %s. Check your email!"
@@ -1777,15 +1737,15 @@ msgstr ""
"Lẹ́yìn tí o bá ti fún ẹgbẹ́ rẹ lórúkọ, Ó le pe àwọn ènìyàn láti darapọ̀ mọ́ "
"ẹgbẹ́."
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "Fìwépè ọmọ àwọn ẹgbẹ́"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "Pè wọ́n pẹ̀lú ojúṣe wọn:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "Ẹjẹ́ 'ká bẹ̀rẹ̀ !"
@@ -1832,43 +1792,43 @@ msgstr "Bẹ̀rẹ̀ sí ṣe ẹ̀yà alárà"
msgid "profile.recovery.go-to-login"
msgstr "Lọ láti wọlé"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "Yọ kúrò"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "Dàárú"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "Ọ́rọ̀íwòye"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "Sópọ sí ísàle"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "Páràpọ àárin naa"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "Sosi ósì"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "Sosi ọtún"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "Sopo si òké"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "Tẹle àárin ni inàró"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "Ṣẹ̀dá ọ̀kọ̀ lati yìyán"
@@ -1876,43 +1836,43 @@ msgstr "Ṣẹ̀dá ọ̀kọ̀ lati yìyán"
msgid "shortcuts.bold"
msgstr "Yipàdà to han"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "Iyàtò Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "Boolean tà yọ̀kúro"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "ikòritá Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "Asépọ̀ Boolean"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "Fírànṣẹ́ si ẹ́hin"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "Ran pàdà sí ehin"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "Mù siwájù"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "Mù si wájù"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "Pa yipàdá rẹ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "Dàákọ"
@@ -1920,31 +1880,31 @@ msgstr "Dàákọ"
msgid "shortcuts.create-new-project"
msgstr "Ṣẹ̀dá títún"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "Ge"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "Sun-un jàdé"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "Pàrẹ"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "Pa ipàdé"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "Yà paati"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "Yìyí"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "Ẹ́lipsì"
@@ -1952,39 +1912,39 @@ msgstr "Ẹ́lipsì"
msgid "shortcuts.draw-nodes"
msgstr "Fà ọnà"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "Ọnà"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "Ònìgún mèrìn"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "Ọ́rọ̀"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "Ṣe pidánpidán"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "Fàgílèè"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "Ókèéré apẹ̀rẹ̀"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "Sun-un látì ba gbògbò rẹ̀ mú"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "Yipadà ní pẹ̀tẹ̀lẹ̀"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "Yipadà ní ínàró"
@@ -2008,23 +1968,23 @@ msgstr "Lọ si awọn ílé-Ikàwé tí a pín"
msgid "shortcuts.go-to-search"
msgstr "Wàá"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "Ẹgbẹ"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "Pinpín kàákírì pètèlè"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "Ífìhan / Tọju UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "Sùn-un sínú"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "Fí àwóran sii"
@@ -2032,7 +1992,7 @@ msgstr "Fí àwóran sii"
msgid "shortcuts.italic"
msgstr "Yipàdà ítalikì"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "Dàràpọ̀ awọn ipàdé"
@@ -2040,39 +2000,39 @@ msgstr "Dàràpọ̀ awọn ipàdé"
msgid "shortcuts.line-through"
msgstr "Íyìpàdà ílà to yọ̀rí"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "Ṣè ígùn"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "Ṣe ìsépọ"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "Ibòjú"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "Dàpọ̀ awọ́n apa"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "Gbé"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "Sàré lọ́ sí isàlẹ̀"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "Gbé sí osi kiákiá"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "Gbé si ọ̀tún kiákiá"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "Gbé si òké kiákiá"
@@ -2080,241 +2040,241 @@ msgstr "Gbé si òké kiákiá"
msgid "shortcuts.move-nodes"
msgstr "Gbé ipàdé"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "Gbé sílè"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "Gbé osi"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "Gbé sọtùn"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "Gbé sóke"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "Ọ̀kọ̀ tókan"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "Kò sí awọ́n ọ̀nà abùjá ti à rii"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "Fí akomo sí ipò 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "Fi akomo si ipo 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "Fi akomo si ipo 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "Fi akomo si ipo 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "Fi akomo si ipo 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "Fi akomo si ipo 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "Fi akomo si ipo 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "Fi akomo si ipo 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "Fi akomo si ipo 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "Fi akomo si ipo 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "Ólùṣà àwọ̀"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "Lọ si dasibodu"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "Lọ si apaa ayewo olùwò"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "Lọ si apaa ibaraẹnisọrọ olùwò"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " tabi "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "Lẹẹmọ"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "Ọkọ ti tẹlẹ"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "Tunṣe"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "tun sun"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "Ipìlẹ̀"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "Ólùwò"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "Àaye ìṣẹ́"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "Ṣa gbogbo re"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "Yan Obii pẹlẹbẹ"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "Ifihan / Itọju ọna abùjá"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "Yaa si awon apa"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "Yaa si pikseli ilana"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "Titete"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "Sàtunkọ"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "Akojọ ólórì aṣyn"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "Yípàdá fẹ́lẹ́fẹ́lẹ́"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "Lìlọ́ kìrì"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "Lìlọ́ kìrì"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "Lìlọ́ kìrì"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "Àwọ̀n pánẹ̀lí"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "Àwọ́n ọna"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "Àwọ́n apẹ́rẹ́"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "Àwọ́n ọ́rọ̀"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "Àwọ́n irínṣẹ̀"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "Sun-un"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "Sun-un"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "Se étò awòn áwòran fun fidio"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "Iyipada titete ìmúdàgba"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "Yi dukia pada"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "Yi paleti awọ pada"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "Yi ipo idojukọ pada"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "Yi kuro ni fulscrin"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "Yi awon pelebe yii pada"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "Tiipa / Siilẹ"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "títìipa lápàkàn"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "Yíípàda ọrọ paleti"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "Fihan / Toju re"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "Yiipada asa sun-un"
@@ -2322,63 +2282,63 @@ msgstr "Yiipada asa sun-un"
msgid "shortcuts.underline"
msgstr "Yii abẹlẹ"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "Yi pada"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "Tu ẹgbẹ"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "Aiboju"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "Pin ni inaro"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "Dín lẹnsì sisun kù"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "Lílọ̀soké lẹnsi sisun"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "Yiyan pelu sun-un"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "Pipese oniru fọnti - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "Fọnti - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "Awọn ísè agbèsè - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "Wà - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot – Se onìrú òmínìra fun awọ̀n ẹ̀gbẹ̀"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "Fi esi- Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "Awon eto - Penpot"
@@ -2386,27 +2346,27 @@ msgstr "Awon eto - Penpot"
msgid "title.settings.password"
msgstr "Ọrọigbaníwólé - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "Profaili - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "Ifíwẹ́pe - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "Ọ́́mọ̀ ẹgbẹ - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "Awọn eto - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s –Ipo wíwò - Penpot"
@@ -2414,91 +2374,91 @@ msgstr "%s –Ipo wíwò - Penpot"
msgid "title.workspace"
msgstr "%s - Penpot"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "No boards found on the page."
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "A kò ri ọ̀kọ̀."
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "Ọrọìwòye (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "Maa fi ìbaráẹ̀nìsepọ han"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "Fé ká gḅọgbọ síkírínì"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "Ayéwò (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "Ibaraenisépọ̀"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "Awọ̀n Ibaraenisépọ̀ (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "Da línkì kọ̀"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "Ifihan Ibaraenisépọ̀"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "Áwòran átọ̀kà ílẹ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "Paŕàpọ̀ sí petelè aarin (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "Pin aayè ni pètélè (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "Páràpọ̀ sí òsì (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "Páràpọ̀ sí ọtun (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "Páràpọ̀ sí isàlẹ̀ (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "Páràpọ̀ sí inàro aarin (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "Pin aayè inàró (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "Párápọ̀ sóké (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "Gbọ̀gbọ̀ awọ̀n dukia"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "Áwò"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "Awọ̀n eroja"
@@ -2506,31 +2466,31 @@ msgstr "Awọ̀n eroja"
msgid "workspace.assets.create-group"
msgstr "Ṣẹ̀dá ẹ̀gbẹ̀ kan"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "páarẹ̀"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "ẹẹdà"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "Ṣatunkọ"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "Ẹgbẹ"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "Orúkọ̀ ẹgbẹ"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "Ílè-iwè agbegbe"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "Ko si ohun-ini ti a rii"
@@ -2538,7 +2498,7 @@ msgstr "Ko si ohun-ini ti a rii"
msgid "workspace.assets.open-library"
msgstr "Ṣii faili ìlé-ikáwè"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "Lo oruko imiran"
@@ -2546,39 +2506,39 @@ msgstr "Lo oruko imiran"
msgid "workspace.assets.rename-group"
msgstr "Lo oruko imiran fun ẹgbẹ"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "Wa dukia"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "Iĺẹ̀ iwekika ti a pln"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "Iwe itẹwe"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "Iwon"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "Àrà Fọ́ǹtì"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "Aaye leta"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "Giga ila"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "Iyipádà ọrọ"
@@ -2586,15 +2546,15 @@ msgstr "Iyipádà ọrọ"
msgid "workspace.assets.ungroup"
msgstr "Títù ẹ̀gbẹ́"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "Ipo Idojukọ"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "Pa Ídòjúkọ"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "Tan Ídòjúkọ"
@@ -2606,135 +2566,135 @@ msgstr "Itesiwaju gerege"
msgid "workspace.gradients.radial"
msgstr "Itesiwaju Radial"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "Pa asèkalẹ̀ iwọnbà"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "Pa yipada si piseli"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "Tan imudagba to Sedede"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "Tan asèkalẹ̀ iwọnbà"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "Yipada si itọ̀nìsọna"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "Tan Yipada si piseli"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "Tọ̀jú awọ palẹti"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "Tọ̀jú pisẹli ilana"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "Tọ̀jú awọn ólòrí"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "Tọ̀jú awọn fọnti paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "Satunkọ"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "Faili"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "Iranlọwọ ati alaye"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "Awọn àyánfẹ̀"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "Wiwo"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "Tun ṣe"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "Sa gbogbo rẹ"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "Fi awo paleti han"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "Fi piseli ilana han"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "Ifihan awọ̀n ólórí"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "Ifihan fonti paleti"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "Yi pada"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "Tunto"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "àsisè lórì fíf́ipamọ"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "Ti a fipamọ"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "Fifipámọ"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "Ipo wiwo(%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "sun-un"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "Kun - óṣùwọn to kun"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "Báràmù - óṣùwọn to Báràmù"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "Suun kí o bá gbógbó rẹ̀ dọ́gbà"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "Áseàfihan to kún"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "Ṣuum lati yan"
@@ -2742,15 +2702,15 @@ msgstr "Ṣuum lati yan"
msgid "workspace.layout-grid.editor.title"
msgstr "Ilànà àyípàdà"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "Kòyi si oniruiru awọ ni ilé-ikàwé re"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "Ko si oniruiru iwé itẹ̀wé ni ilé ikàwé rẹ̀"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "Awọn àwò tálò láipẹ̀"
@@ -2762,35 +2722,35 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "Fi awọn oniru awọ pamọ"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "Faili ilé ikàwé"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "Awọn Ílè íkawè"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "Ílè íkawè ímùdojúiwọn"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
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:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "Awọn ilé kàwé tí a pìn"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "ímùdojúiwọn"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "wò gbògbò awọn ayípàdà"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "Awọn ímùdojúiwọn"
@@ -2810,23 +2770,23 @@ msgstr "Asayan Baìbaì"
msgid "workspace.options.canvas-background"
msgstr "Kánfásì abẹ́le"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "Ábẹrẹ́ ákoonù"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "Apakan"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "Ádàakọ"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "Ṣatunkọ àkọ̀silẹ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "Ólòrí"
@@ -2866,27 +2826,27 @@ msgstr "Ókè"
msgid "workspace.options.constraints.topbottom"
msgstr "Ókè ati Ídí"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "Ónirú"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "Sí ilẹ́ òkèeré"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "afikun ọrọ niipárí"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "Gbígbè okeere ti pari"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "Gbígbè okeere …"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "Gbígbè okeere kuna"
@@ -2910,63 +2870,63 @@ msgstr "íbẹrè awọn ṣiṣan"
msgid "workspace.options.grid.auto"
msgstr "Aifọ́wọyi"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "Awọ"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "Gota"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "Òkè"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "Àlà"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "Fi sípò abínibí"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "ìsàlẹ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "Àárín"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "Òsì"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "Ọ̀tún"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "Nà"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "Òkè"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "Lo ipò abínibí"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "Ìgbòrò"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "Àwọn orị ìlà ìbú"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "Alápoméjì"
@@ -2978,11 +2938,11 @@ msgstr "Ẹ̀kún ẹgbẹ́"
msgid "workspace.options.group-stroke"
msgstr "Ẹgba ẹgbẹ́"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "Gíga"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "Ṣàyẹ̀wò"
@@ -3194,99 +3154,99 @@ msgstr "Nígbàtị óhún tẹ̀"
msgid "workspace.options.interactions"
msgstr "Àwọn ìbáraẹniṣepọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "Àwọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "Ṣẹ̀dà àwọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "Òpó àwọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "Ṣókuǹkùn"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "Ìyàtọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "Ìyàsọ́tọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "Iná líle"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "Ọdà"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "Fẹ́ẹ́rẹ́fẹ́"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "Ìmọ́lẹ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "Ìsọdipúpọ̀"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "Déédé"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "Ìtẹ̀lẹ́ ìlànà"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "Ẹ̀kúnrẹ́rẹ́"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "Aṣàfihàn"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "Ìmọ́lẹ̀ rokoṣo"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
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:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
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:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
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:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "Ìgbòrò tó kéré jù lọ"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "Àwọn àwọ̀ púpọ̀ sí i"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "Àwọn yàrá àwọ̀ púpọ̀ sí I"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "Àìríran"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "Ìtẹ̀lé ìlànà"
@@ -3310,19 +3270,19 @@ msgstr "Òkè òsì"
msgid "workspace.options.radius-top-right"
msgstr "Òkè ọ̀tún"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "Àìpẹ́"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "Tún gbìyànjú"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "Yíyípo"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "Àdàkọ ìwádìí"
@@ -3332,7 +3292,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:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "Àwọn àwọ̀ tí a ti yàn"
@@ -3388,47 +3348,47 @@ 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:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "Fihàn nínú ipò wíwò"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "Ìwọ̀n"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "Àwọn àtòjọ"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "Yíyíká"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "Dáyámọ́ǹdì"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "Ofà"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "Kòsí"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "Yíká"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "Alápoméjì"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "Onígun mẹ́rin"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "Onígun mẹ́ta"
@@ -3436,35 +3396,35 @@ msgstr "Onígun mẹ́ta"
msgid "workspace.options.stroke-color"
msgstr "Àwọ ìlà"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "Ìgbòrò ìlà"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "Àárín"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "Tó ní ìlà-ìlà"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "àmì tó tó tó"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "Nínú"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "Tí a ti dàpọ̀"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "Ìta"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "Ṣinsin"
@@ -3500,11 +3460,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:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "Àlàfo lẹ́tà"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "Gíga ìlà"
@@ -3550,55 +3510,55 @@ 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:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "Ìgbòrò"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "Ipò X"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Ipò Y"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "Fa ìpàdé (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "Da ìpàdé pọ̀ (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "Sí igun (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "Sí ẹkọ̀rọ̀ (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "Da ìpàdé pò (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "Gbé ìpàde (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "Ya ̣ìpàdé sọ́tọ̀ (%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "Ìmọ̀lára ìpàdé (%s)"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "Fi àrọ ètò ìrísí kun"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "Fi gírídì ètò ìrísị kun"
@@ -3610,7 +3570,7 @@ msgstr "dáa padà séyiǹ"
msgid "workspace.shape.menu.backward"
msgstr "dá padà sọ́wọ èyiǹ"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "Ṣẹ̀dà"
@@ -3618,27 +3578,27 @@ msgstr "Ṣẹ̀dà"
msgid "workspace.shape.menu.create-annotation"
msgstr "Ṣèda àlàyé"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "Yíyàn sí pátákó"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "Ṣẹ́dá àkóónú"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "Ṣẹ̀dá ọ̀pọ̀lọpọ̀ àkóónú"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "Gé"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "Parẹ́"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "Pa ìbẹ̀ẹ̀rè ìsàn rẹ́"
@@ -3650,7 +3610,7 @@ msgstr "ṣẹ́ àpẹ̣ẹre yọ nípò"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "Ṣẹ́ àwọn àpẹẹrẹ yọ nípò"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "Ìyàtọ̀"
@@ -3658,15 +3618,15 @@ msgstr "Ìyàtọ̀"
msgid "workspace.shape.menu.duplicate"
msgstr "Sẹ ẹ̀dà"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "Sàtúnṣe"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "Ṣà yọ sílè"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "Tẹ́ pẹrẹsẹ"
@@ -3678,7 +3638,7 @@ msgstr "Ìyí padà oníbùú"
msgid "workspace.shape.menu.flip-vertical"
msgstr "Ìyí padà olóòró"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "Ìbẹ̀rè ìṣàn"
@@ -3690,39 +3650,39 @@ msgstr "Mú wá sọ́wọ́ iwájú"
msgid "workspace.shape.menu.front"
msgstr "Mú wá sí wájú"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "Àwùjọ"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "Tọ́jú"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "Fihàn/ Tọ́jú UI"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "Ìkòríta"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "Tì"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "Ìbòjú"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "lẹ̀mọ́"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "Ipa ọ̀nà"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "Yọ àrọ ètò ìrísí kúrò"
@@ -3738,11 +3698,11 @@ msgstr "Dạ àkóónú pàtàkì sí pò"
msgid "workspace.shape.menu.select-layer"
msgstr "Yan ìpele"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "Ṣà fihàn"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "Ṣafihàn nínú atọ́ka àwọn ìgbìmọ̀ ìní"
@@ -3758,19 +3718,19 @@ msgstr "Yọ àwòrán aláṣojú kúrò"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "Fi sípò àwòrań aláṣojú"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "Ṣe àìkójọ"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "Ìbáṣepò"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "Ṣíí"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "Sí ìbòjú"
@@ -3782,47 +3742,47 @@ msgstr "Wó òpó ègbẹ́"
msgid "workspace.sidebar.expand"
msgstr "Fẹ òpó ẹ̀gbẹ́"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "Ìtàn"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "Àwọn ìpele"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "Àwọn àkóónú"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "Àwọn pátákó"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "Àkójọ"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "Àwọn àwòrán"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "Àwọn ìbòjú"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "Àwọn ìpele wíwá"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "Àwọn ìrísí"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
msgid "workspace.sidebar.layers.texts"
msgstr "Àwọn àyọkà"
-#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "Gbígbé àwọn ànímọ́ SVG wọlé wá"
@@ -3830,7 +3790,7 @@ 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:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "Máàpù ojú ìlà"
@@ -3838,51 +3798,51 @@ msgstr "Máàpù ojú ìlà"
msgid "workspace.toolbar.assets"
msgstr "Àwọn ohun ìní"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "Pálètì àwọ̀ (%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "Àwọn ìdáásí (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "Ìṣépo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "Àlàfo (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "Pátákó (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "Àwòrán(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "Gbé (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "Pópó ọ̀nà (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "Onígun mẹ́rin (%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "Àyọkà (%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "Àwọn ohun ìtẹ̀wé (%s)"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "Di ìgbà yìí kò sí àyípadà nínú ìtàn"
@@ -4022,18 +3982,18 @@ msgstr "Ohun ìyì ìwé títẹ̀"
msgid "workspace.undo.entry.unknown"
msgstr "Iṣẹ́ parí %s"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "Ta nù"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "Àlàyé síi"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
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:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
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 f17366656f..d9fce3851c 100644
--- a/frontend/translations/zh_CN.po
+++ b/frontend/translations/zh_CN.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: DoubleCat \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Chinese (Simplified Han script) "
" \n"
"Language: zh_CN\n"
@@ -9,9 +9,9 @@ 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 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "已经有账号了?"
@@ -31,7 +31,7 @@ msgstr "创建演示账号"
msgid "auth.demo-warning"
msgstr "这是演示服务,请勿用于实际工作。项目会被定期清除。"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "忘记密码?"
@@ -39,35 +39,35 @@ msgstr "忘记密码?"
msgid "auth.fullname"
msgstr "全名"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "登录我的账号"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "在这里登录。"
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot 是一款用于设计与代码协作的自由开源设计工具"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "使用 GitHub 登录"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "使用 GitLab 登录"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "使用 Google 登录"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "使用 LDAP 登录"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "使用 OpenID 登录"
@@ -87,7 +87,7 @@ msgstr "个人资料尚未验证,请验证后再继续。"
msgid "auth.notifications.recovery-token-sent"
msgstr "找回密码链接已发至你的收件箱。"
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "成功加入团队"
@@ -119,7 +119,7 @@ msgstr "忘记密码?"
msgid "auth.recovery-submit"
msgstr "修改密码"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "现在还没有账号?"
@@ -131,7 +131,7 @@ msgstr "请告诉我们在仪表板和邮件中该如何称呼你。"
msgid "auth.register-account-title"
msgstr "你的姓名"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "创建账号"
@@ -144,7 +144,7 @@ msgstr "创建账号"
msgid "auth.terms-and-privacy-agreement"
msgstr "我同意[服务条款](%s)和[隐私政策](%s)。"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "服务条款"
@@ -164,89 +164,89 @@ msgstr "没有可用的颜色令牌。请检查已启用的令牌集或主题,
msgid "comments.mentions.not-found"
msgstr "未找到 @%s 相关人员"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "发布"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "所有 Penpot 用户"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "确定要移除此链接吗?移除后,任何人都无法再通过此链接访问"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(当前)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "移除链接"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "获取链接"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "链接已复制"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "权限管理"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "已共享 1 个页面"
msgstr[1] "已共享 %s 个页面"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "可评论"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "可检查代码"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "任何人通过此链接都可访问"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "页面已共享"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "可分享的链接会在此处显示"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "仅团队成员"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "分享原型"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "全选"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "取消发布"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "团队管理"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot 专为团队协作而设计。邀请成员共同处理项目和文件"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "组建团队!"
@@ -262,27 +262,27 @@ msgstr "恢复文件"
msgid "dashboard.add-file"
msgstr "添加文件"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "添加为共享库"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "修改电子邮件"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "清空回收站"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(复制)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "创建新团队"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "固定此版本"
@@ -290,7 +290,7 @@ msgstr "固定此版本"
msgid "dashboard.default-team-name"
msgstr "你的 Penpot"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr "确定要永久删除回收站中的所有项目和文件吗?此操作无法撤销。"
@@ -298,39 +298,39 @@ msgstr "确定要永久删除回收站中的所有项目和文件吗?此操作
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "确定要永久删除 %s 吗?此操作无法撤销。"
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "已成功删除 %s 个文件。"
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "永久删除"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "删除项目"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr "确定要永久删除项目 %s 吗?该项目及其包含的所有文件都将被永久删除。此操作无法撤销。"
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "已成功删除 %s。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "删除团队"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "回收站为空。删除的文件和项目会显示在这里。"
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "将于 %s 删除"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "下载 Penpot 文件(.penpot)"
@@ -342,19 +342,19 @@ msgstr "复制"
msgid "dashboard.duplicate-multi"
msgstr "复制 %s 个文件"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "项目成员创建草稿后,它将显示在这里。"
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "还没有草稿。"
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "项目成员创建文件后,它将显示在这里。"
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "还没有文件。"
@@ -401,23 +401,23 @@ msgstr "导入 .penpot 文件"
msgid "dashboard.empty-project.start"
msgstr "开始打造惊人的作品"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "删除文件时出错。"
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "删除项目 %s 时出错。"
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "恢复文件 %s 时出错。"
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "恢复文件时出错。"
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "恢复项目 %s 及其文件时出错。"
@@ -425,35 +425,35 @@ msgstr "恢复项目 %s 及其文件时出错。"
msgid "dashboard.export-binary-multi"
msgstr "下载 %s 个 Penpot 文件(.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "将画板导出为 PDF 格式"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "导出为 PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "已选择 %s/%s 个元素"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "导出"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr "你可以在设计属性中为元素添加导出设置(位于右侧边栏底部)。"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "了解如何在 Penpot 中设置导出。"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "没有设置为导出的元素。"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "导出所选内容"
@@ -469,33 +469,33 @@ msgid_plural "dashboard.file-menu.restore-files-option"
msgstr[0] "恢复文件"
msgstr[1] "恢复文件"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "缺失字体"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "全部忽略"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "你上传的自定义字体会显示在这里。"
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "还没有自定义字体。"
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "项目成员上传自定义字体后,字体会显示在这里。"
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "已添加 1 个字体"
msgstr[1] "已添加 %s 个字体"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
@@ -503,18 +503,18 @@ msgstr ""
"字体都会添加到此团队所有文件的文本属性中的可用字体家族列表。字体家族名称相同的字体会归为**一个字体家族**。你可以上传以下格式的字体:**"
"TTF、OTF 和 WOFF**(只需上传其中一种格式)。"
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
"你应当只向 Penpot 上传你拥有或获准使用的字体。请参阅 [Penpot "
"服务条款](%s)中的“内容权利”章节了解更多信息。你也可以阅读有关[字体许可](https://www.typography.com/faq)的信息。"
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "全部上传"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -522,15 +522,15 @@ msgstr ""
"netlify.app/)进行检查。此外,我们建议使用 "
"[Transfonter](https://transfonter.org/)生成网络字体并修复错误。 "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "前往管理控制台"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "导入 Penpot 文件"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "糟糕!无法导入此文件"
@@ -538,37 +538,37 @@ msgstr "糟糕!无法导入此文件"
msgid "dashboard.import.bad-url"
msgstr "导入失败。模板 URL 不正确"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "无法验证此文件。"
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "这个文件似乎已损坏。"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "部分文件未能导入"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "下面的文件有错误:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "有错误的文件将不会被上传。"
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "处理该文件的时候出错了。"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgid_plural "dashboard.import.import-message"
msgstr[0] "已成功导入 1 个文件。"
msgstr[1] "已成功导入 %s 个文件。"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "部分文件包含无效对象,这些对象已被移除。"
@@ -576,79 +576,51 @@ msgstr "部分文件包含无效对象,这些对象已被移除。"
msgid "dashboard.import.no-perms"
msgstr "你没有权限将文件导入此团队"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "正在处理颜色"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "正在处理组件"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "正在处理媒体"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "正在处理页面:%s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "正在处理排版"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "正在将数据上传到服务器(%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "正在上传文件:%s"
-
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "你将删除发送给以下人员的邀请:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "你将向以下人员重新发送邀请:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "删除邀请"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "重新发送邀请"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr "你没有权限邀请他人加入此团队,也没有权限编辑或删除邀请。"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "邀请成员"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "退出团队"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "库和模板"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "这里列出了可以添加到项目的库和模板"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "探索更多内容,了解如何做出贡献"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "导入模板时发生错误。模板未导入成功。"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "库"
@@ -656,7 +628,7 @@ msgstr "库"
msgid "dashboard.loading-files"
msgstr "正在加载文件…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "正在加载字体…"
@@ -676,51 +648,51 @@ msgstr "移动 %s 个文件到"
msgid "dashboard.move-to-other-team"
msgstr "移动到其他团队"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ 新文件"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "新建文件"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ 新项目"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "新建项目"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "没有找到“%s”的匹配项"
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr "你无权在 %s 组织内创建团队。如需更多信息,请联系该组织的负责人。"
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr "你无权在 %s 组织内删除团队。如需更多信息,请联系该组织的负责人。"
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr "你无权在 %s 组织内移动团队。如需更多信息,请联系该组织的负责人。"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "固定的项目会显示在这里"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "通知"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "电子邮箱地址已成功更新"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "电子邮箱地址已成功验证"
@@ -732,11 +704,11 @@ msgstr "通知设置已更新"
msgid "dashboard.notifications.password-saved"
msgstr "密码已成功保存!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "查看通知"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s 名成员"
@@ -744,15 +716,15 @@ msgstr "%s 名成员"
msgid "dashboard.open-in-new-tab"
msgstr "在新标签页打开文件"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "选项"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "按角色排序"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "按状态排序"
@@ -776,7 +748,7 @@ msgstr "你现在是此团队的所有者。"
msgid "dashboard.permissions-change.viewer"
msgstr "你现在是此团队的查看者。"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "固定到侧边栏/取消固定"
@@ -792,27 +764,27 @@ msgstr "不能解析插件清单"
msgid "dashboard.plugins.try-plugin"
msgstr "尝试插件: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "删除文件中…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "恢复文件中…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "删除速度出乎意料地慢"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "恢复速度出乎意料地慢"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "项目"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "想要删除账号?"
@@ -820,71 +792,71 @@ msgstr "想要删除账号?"
msgid "dashboard.removed-from-team"
msgstr "你现在不再是此团队“%s”的成员。"
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "你将恢复所有项目和文件。这可能需要一些时间。"
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "恢复所有的项目及其文件"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "恢复所有"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "已成功恢复 %s 个文件。"
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "恢复项目"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "你将恢复项目 %s 及其中的所有文件。"
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "恢复项目"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "已成功恢复 %s。"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "保存设置"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "搜索…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "正在搜索“%s”…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "组织"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "选择界面语言"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "选择界面主题"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot 深色模式(默认)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot 浅色模式"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "系统主题"
@@ -948,11 +920,11 @@ msgstr "更新设置"
msgid "dashboard.settings.notifications.title"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "显示所有文件"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "版本历史"
@@ -976,7 +948,7 @@ msgstr[1] "文件已成功复制"
msgid "dashboard.success-duplicate-project"
msgstr "成功创建了项目副本"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "成功移动了文件"
@@ -988,151 +960,151 @@ msgstr "成功移动了文件"
msgid "dashboard.success-move-project"
msgstr "成功移动了项目"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "团队信息"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "团队成员"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "团队组织"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "添加到组织"
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "更改团队所属组织"
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "这个团队不属于任何组织"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "从组织中移除团队"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "团队项目"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "添加到你的项目"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "界面主题"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "搜索结果"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "删除的文件会在回收站中保留"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s 天。 "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "之后,它们将被永久删除。"
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr "如果你改变主意,可以在每个文件的菜单中恢复或永久删除它们。"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "输入内容以搜索"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "取消发布库"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "更新设置"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "测试版"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr "WebGL 渲染可以提升性能,但目前仍处于测试阶段,稳定性可能较低。画布、导出内容(SVG/PDF)和查看模式之间可能存在一些视觉差异。"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "已关闭"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "已开启"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "提供反馈"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "状态"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL 渲染"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "已启用"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "触发此 Webhook 时会传递事件详情"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "你只能删除或修改自己创建的 Webhook。"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "内容类型"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "创建 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "Webhook 创建成功。"
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr "Webhook 是一种让其他网站和应用在 Penpot 中发生特定事件时收到通知的简便方式。我们会向你提供的每个 URL 发送 POST 请求。"
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "点击“添加 Webhook”按钮即可添加。"
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "尚未创建 Webhook。"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "你的账号"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "电子邮件"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "你的姓名"
@@ -1148,11 +1120,11 @@ msgstr "注意"
msgid "ds.component-subtitle"
msgstr "待更新的组件:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "允许"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "取消"
@@ -1172,7 +1144,7 @@ msgstr "已启用的令牌集或主题中没有适用的令牌。"
msgid "ds.inputs.numeric-input.no-matches"
msgstr "无匹配项。"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "打开令牌列表"
@@ -1188,15 +1160,15 @@ msgstr "此个人资料不允许使用该身份验证提供商"
msgid "errors.auth-provider-not-configured"
msgstr "未配置身份验证提供商。"
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "你似乎还没有登录或会话已过期。"
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "无法加载字体 %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "无法加载字体 %s"
@@ -1208,47 +1180,47 @@ msgstr "无法上传该媒体文件。"
msgid "errors.character-limit-exceeded"
msgstr "超出字符限制"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr "剪贴板 API 不可用。请通过 HTTPS 提供 Penpot 服务以启用剪贴板访问"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "你的浏览器不支持此操作"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr "剪贴板访问遭拒。请在浏览器中授予剪贴板权限以粘贴内容"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "处理评论时出错"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr "抱歉!这是一个使用已弃用 Penpot 素材类型的旧文件,你无法打开它。"
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "链接并向我们说明情况。"
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "虽然 Penpot 不再支持此类素材,但如需帮助,请点击下方的"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "联系我们"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "无法将父集放置到自己的子路径中。"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "此电子邮箱已被使用"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "电子邮箱已验证。"
@@ -1260,27 +1232,27 @@ msgstr "密码不能为邮箱地址"
msgid "errors.email-does-not-match-invitation"
msgstr "电子邮箱与邀请不匹配。"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "不允许使用此域名"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "电子邮箱 «%s» 有多次永久退信记录。"
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "电子邮箱 «%s» 已被举报为垃圾邮件来源或有永久退信记录。"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr "你打开的文件启用了“%s”功能,但当前 Penpot 版本不支持或未启用此功能。"
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "不支持功能“%s”。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "最多可包含 %s 个字符。"
@@ -1288,7 +1260,7 @@ msgstr "最多可包含 %s 个字符。"
msgid "errors.field-min-length"
msgstr "至少需要包含 1 个字符。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "空字段"
@@ -1296,19 +1268,19 @@ msgstr "空字段"
msgid "errors.field-not-all-whitespace"
msgstr "名称必须包含除空格外的其他字符。"
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr "当前启用的功能与要打开的文件所需功能不匹配。必须先对“%s”应用迁移,才能打开此文件。"
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr "字体家族名称只能包含字母、数字、空格、连字符、下划线和句点。"
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "出现了问题。"
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Web Worker 出错。"
@@ -1324,7 +1296,7 @@ msgstr "无效数据"
msgid "errors.invalid-email"
msgstr "请输入有效的电子邮件"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "两次输入的电子邮箱必须一致"
@@ -1356,11 +1328,11 @@ msgstr "此邀请可能已取消或已过期。"
msgid "errors.ldap-disabled"
msgstr "LDAP 身份验证已禁用。"
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "你已达到“%s”配额。请联系支持团队。"
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "已达到单次请求可邀请的电子邮箱数量上限(%s)"
@@ -1376,19 +1348,19 @@ msgstr "图片内容好像与文档扩展名不匹配。"
msgid "errors.media-type-not-allowed"
msgstr "该图片好像不可用。"
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "受邀用户已停用邮件通知(曾举报垃圾邮件或多次发生退信)。"
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "迁移正在进行中"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "只有版本创建者可以锁定"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "只有版本创建者可以解除锁定"
@@ -1400,7 +1372,7 @@ msgstr "两次输入的密码必须一致"
msgid "errors.password-too-short"
msgstr "密码至少需要 8 个字符"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "剪贴板中的数据无效"
@@ -1408,7 +1380,7 @@ msgstr "剪贴板中的数据无效"
msgid "errors.profile-blocked"
msgstr "此账号已被封禁"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "你的邮件通知已停用(曾举报垃圾邮件或多次发生退信)。"
@@ -1416,19 +1388,19 @@ msgstr "你的邮件通知已停用(曾举报垃圾邮件或多次发生退信
msgid "errors.registration-disabled"
msgstr "当前禁止注册。"
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG 无效或格式错误"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "检测到不兼容功能“%s”"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "团队成员不足,无法退出。你可能需要删除此团队。"
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "你尝试指定的成员不存在。"
@@ -1436,7 +1408,7 @@ msgstr "你尝试指定的成员不存在。"
msgid "errors.team-leave.only-owner-can-delete"
msgstr "只有团队所有者可以删除团队。"
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "所有者无法退出团队,你必须先转让所有者角色。"
@@ -1448,11 +1420,11 @@ msgstr "团队名称不能包含以下字符:'.'、':' 或 '/'"
msgid "errors.token-set-already-exists"
msgstr "已存在同名令牌集"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "无法完成放置:此路径中已存在同名令牌集。"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "已存在同名令牌主题"
@@ -1464,11 +1436,11 @@ msgstr "此主题引用了不存在的令牌集:%s"
msgid "errors.tokens.circular-reference"
msgstr "令牌存在循环引用"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr "行高依赖字号。请添加字号以获取解析值。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "此字段不能为空"
@@ -1488,11 +1460,11 @@ msgstr "导入错误:"
msgid "errors.tokens.invalid-color"
msgstr "无效的颜色值:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "令牌值无效:只能引用字体家族令牌"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr "字重值无效:请使用数值(100-950)或标准名称(thin、light、regular、bold 等),后面可加“Italic”"
@@ -1510,35 +1482,35 @@ msgstr ""
"“%s”不是有效的令牌名称。\n"
"令牌名称只能包含以英文句点(.)分隔的字母和数字,且不能以美元符号($)开头。"
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "阴影类型无效:仅接受 'innerShadow' 或 'dropShadow'"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr "令牌值无效:仅接受以下字面值:none、uppercase、lowercase 或 capitalize"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "令牌值无效:仅接受以下字面值:none、underline 或 strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "值无效:必须引用复合阴影令牌。"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "值无效:必须引用复合排版令牌。"
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "无效的令牌值:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "缺少令牌引用: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "%s 的组名与另一个已启用令牌集中的同名令牌冲突。"
@@ -1550,31 +1522,31 @@ msgstr "此文件中未找到任何令牌、令牌集或令牌主题。"
msgid "errors.tokens.number-too-large"
msgstr "令牌值无效。解析值过大:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "不透明度必须介于 0 和 100% 之间或介于 0 和 1 之间(例如 50% 或 0.5)。"
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "令牌存在自引用"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "阴影模糊值必须大于或等于 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "阴影扩展值必须大于或等于 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "描边宽度必须大于或等于 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "值无效:不允许使用 %。"
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "值无效:不允许使用单位。"
@@ -1582,55 +1554,55 @@ msgstr "值无效:不允许使用单位。"
msgid "errors.unexpected-error"
msgstr "发生了意料之外的错误。"
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "未知的令牌"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "此版本已被锁定"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "此版本被锁定,不能被其他人删除"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "文件具有不兼容的版本号"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL 已停止工作。请重新加载页面以将其重置"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "糟糕!画布上下文已丢失"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "连接错误,无法访问 URL"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "网址未通过验证。"
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "上次交付不成功。"
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSL 验证时出错。"
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "超时"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "验证时出现意外错误"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "意外状态 %s"
@@ -1650,15 +1622,15 @@ msgstr "描述"
msgid "feedback.description-placeholder"
msgstr "请说明反馈原因"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "很高兴在这里见到你。如需帮助,请先搜索再发帖。"
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot 社区"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "其他联系方式"
@@ -1678,11 +1650,11 @@ msgstr "请说明你发邮件的原因,详细说明这是一个问题反馈、
msgid "feedback.title-contact-us"
msgstr "联系我们"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "帮助你解决技术问题。"
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X 支持账号"
@@ -1702,10 +1674,6 @@ msgstr "建议"
msgid "feedback.type.issue"
msgstr "问题"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "下载文件"
-
#: src/app/main/ui/settings/password.cljs:45
msgid "generic.error"
msgstr "发生错误"
@@ -1742,7 +1710,7 @@ msgstr "形状填充图像的预览"
msgid "inspect.attributes.shadow"
msgstr "阴影"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "尺寸和位置"
@@ -1750,43 +1718,31 @@ msgstr "尺寸和位置"
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 "外侧"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "排版"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "字体家族"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "字号"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "字体样式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "字间距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "行高"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "混合字体家族"
@@ -1802,11 +1758,11 @@ msgstr "删除线"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "下划线"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "单词首字母大写"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "小写"
@@ -1818,7 +1774,7 @@ msgstr "无"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "未设置"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "大写"
@@ -1942,23 +1898,23 @@ msgstr "解析值:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "变体属性"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "创建新访问令牌"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "点击“创建新访问令牌”按钮即可生成令牌。"
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "你还没有访问令牌。"
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "个人访问令牌"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr "个人访问令牌可替代账号密码认证,让应用访问 Penpot 内部 API"
@@ -2038,47 +1994,47 @@ msgstr "MCP 密钥将于 %s 过期"
msgid "integrations.mcp-key.will-not-expire"
msgstr "MCP 密钥没有到期日期"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr "Penpot MCP 服务器让 MCP 客户端能够直接与 Penpot 设计文件交互。"
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "如何配置 MCP 客户端"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr "你需要使用此服务器 URL 配置 MCP 客户端,以连接到 Penpot MCP 服务器。"
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "重新生成 MCP 密钥"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP 密钥"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "配置 MCP 客户端时需要 MCP 密钥"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "状态"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "已停用"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "已启用"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr "用于连接 MCP 服务器的 MCP 密钥已过期,因此无法建立连接。"
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr "请重新生成 MCP 密钥,并在客户端配置中更新为新密钥。"
@@ -2086,10 +2042,6 @@ msgstr "请重新生成 MCP 密钥,并在客户端配置中更新为新密钥
msgid "integrations.mcp-server.title"
msgstr "MCP 服务器"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "测试版"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "名称"
@@ -2138,7 +2090,7 @@ msgstr "重新生成 MCP 密钥"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "MCP 密钥已重新生成"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "集成"
@@ -2154,47 +2106,47 @@ msgstr "令牌将于 %s 过期"
msgid "integrations.token.will-not-expire"
msgstr "令牌没有到期日期"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "标记全部为已读"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "快捷方式"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "关于 Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "接受"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "启用"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "新增"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "添加自定义字体"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "正在添加…"
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "管理员"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "全部"
@@ -2202,15 +2154,15 @@ msgstr "全部"
msgid "labels.and"
msgstr "和"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "后退"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "请过会儿再来试试,我们正在对服务器进行一些简单维护。"
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "网关错误"
@@ -2222,15 +2174,15 @@ msgstr "模糊"
msgid "labels.blur-effects"
msgstr "模糊效果"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "取消"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "Canva"
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "关闭"
@@ -2238,7 +2190,7 @@ msgstr "关闭"
msgid "labels.code"
msgstr "代码"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "折叠"
@@ -2250,15 +2202,15 @@ msgstr "颜色"
msgid "labels.comment"
msgstr "评论"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "评论"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "社区"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "社区与贡献"
@@ -2270,19 +2222,19 @@ msgstr "计算结果"
msgid "labels.confirm-password"
msgstr "确认密码"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "联系支持团队"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "联系我们"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "继续"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "你可以使用 Penpot 账号继续"
@@ -2294,31 +2246,31 @@ msgstr "复制"
msgid "labels.copy-color"
msgstr "复制颜色"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "复制链接"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019 - 至今"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "创建"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "创建新团队"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "输入新的团队名称"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "仪表板"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "删除"
@@ -2330,7 +2282,7 @@ msgstr "删除评论"
msgid "labels.delete-comment-thread"
msgstr "删除该讨论串"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "删除邀请"
@@ -2338,39 +2290,35 @@ msgstr "删除邀请"
msgid "labels.delete-multi-files"
msgstr "删除 %s 个文件"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "确定要删除你的头像吗?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "删除头像"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "已删除"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "开发"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "丢弃"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "下载 %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "下载"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "正在下载文件…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "草稿"
@@ -2378,19 +2326,19 @@ msgstr "草稿"
msgid "labels.duplicate"
msgstr "复制"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "编辑"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "编辑者"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "空"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "错误"
@@ -2398,11 +2346,11 @@ msgstr "错误"
msgid "labels.exit"
msgstr "退出"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "已到期"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "导出"
@@ -2414,7 +2362,7 @@ msgstr "反馈已禁用"
msgid "labels.feedback-sent"
msgstr "反馈已发出"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2422,63 +2370,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "填充"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "Flex 布局"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "字体家族"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "样式"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "字体"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHub 仓库"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "提交反馈"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "返回"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "平面设计"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "网格布局"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "帮助中心"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "帮助与学习"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "隐藏"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "隐藏已解决的评论"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "导入"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "未激活"
@@ -2486,51 +2434,51 @@ msgstr "未激活"
msgid "labels.info"
msgstr "信息"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "已安装字体"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "集成"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "出现了问题。"
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "你可以重试此操作,或联系支持团队报告错误。"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "内部错误"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "邀请"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "语言"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "布局"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "学习中心"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "库和模板"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "加载中…"
@@ -2538,7 +2486,7 @@ msgstr "加载中…"
msgid "labels.lock"
msgstr "锁定"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "登录或注册"
@@ -2546,19 +2494,19 @@ msgstr "登录或注册"
msgid "labels.login"
msgstr "登录"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "退出登录"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "市场营销"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "成员"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "成员"
@@ -2570,23 +2518,23 @@ msgstr "提及"
msgid "labels.new-password"
msgstr "新密码"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "下一项"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr "由于系统问题,Penpot 暂时不可用。请稍后重试。"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "所有评论都已处理完毕!新的评论通知会显示在这里。"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "没有待处理的邀请。"
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "邀请大家加入,一起创造精彩成果。"
@@ -2594,27 +2542,27 @@ msgstr "邀请大家加入,一起创造精彩成果。"
msgid "labels.no-matches"
msgstr "没有匹配项"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "哎呀!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "1 个文件"
msgstr[1] "%s 个文件"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "1 个画板"
msgstr[1] "%s 个画板"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "1 个项目"
@@ -2624,43 +2572,43 @@ msgstr[1] "%s 个项目"
msgid "labels.old-password"
msgstr "旧密码"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "打开"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "选项"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "其他(请注明)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "其他"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "所有者"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "密码"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "待处理"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot 更新日志"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot 中心"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "固定项目"
@@ -2668,31 +2616,31 @@ msgstr "固定项目"
msgid "labels.post"
msgstr "发帖"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "前一项"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "产品或 UX 设计"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "产品管理"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "个人资料"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "项目"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "最近"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "参考"
@@ -2700,27 +2648,27 @@ msgstr "参考"
msgid "labels.refresh"
msgstr "刷新"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "发布说明"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "重新加载页面"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "移除"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "删除成员"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "重命名"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "重命名团队"
@@ -2744,11 +2692,11 @@ msgstr "新回复"
msgid "labels.reply.thread"
msgstr "回复"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "重新发送"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "重新发送邀请"
@@ -2756,43 +2704,43 @@ msgstr "重新发送邀请"
msgid "labels.restore"
msgstr "还原"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "重试"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "角色"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "保存"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "搜索"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "搜索字体"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "选择选项"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "发送"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "正在发送…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "系统正在按计划维护。"
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "服务不可用"
@@ -2800,55 +2748,55 @@ msgstr "服务不可用"
msgid "labels.sets"
msgstr "集"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "设置"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "阴影"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "分享"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "库"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "显示"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "显示所有评论"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "显示评论列表"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "只显示提及你的评论"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "只显示你的评论"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "Sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "来源"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "开始"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "状态"
@@ -2856,7 +2804,7 @@ msgstr "状态"
msgid "labels.stroke"
msgstr "描边"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "学生/教师"
@@ -2868,7 +2816,7 @@ msgstr "样式"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "切换"
@@ -2876,19 +2824,19 @@ msgstr "切换"
msgid "labels.text"
msgstr "文本"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "主题"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "教程"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "排版"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "未知错误"
@@ -2900,35 +2848,31 @@ msgstr "解锁"
msgid "labels.unpublish-multi-files"
msgstr "取消发布 %s 个文件"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "更新"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "更新团队"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "上传"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "上传自定义字体"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "正在上传…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "正在上传文件…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "变体"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "版本 %s 说明"
@@ -2936,7 +2880,7 @@ msgstr "版本 %s 说明"
msgid "labels.view-only"
msgstr "仅查看"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "查看者"
@@ -2950,7 +2894,7 @@ msgid_plural "labels.warning-count"
msgstr[0] "%s 条警告"
msgstr[1] "%s 条警告"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhook"
@@ -2958,11 +2902,11 @@ msgstr "Webhook"
msgid "labels.write-new-comment"
msgstr "写一条新评论"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(你)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "你的账号"
@@ -3090,59 +3034,59 @@ msgstr "添加为共享库后,此文件库中的素材可供其他文件使用
msgid "modals.add-shared-confirm.message"
msgstr "将“%s”添加为共享库"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "大幅微调"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "确认新电子邮箱"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "我们会向你当前的电子邮箱“%s”发送一封邮件,以验证你的身份。"
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "新电子邮箱"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "更改电子邮箱"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "更改电子邮箱"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "创建 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "创建 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "有效载荷 URL"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "取消操作并保留我的账号"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "是的,删除我的账号"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "删除账号后,你会失去所有项目和存档。"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "你确定想要删除你的账号?"
@@ -3200,27 +3144,27 @@ msgstr "确定要删除这 %s 个文件吗?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "删除 %s 个文件"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "确定要删除此字体样式吗?如果文件使用了该样式,将无法加载它。"
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "删除字体样式"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "确定要删除此字体吗?如果文件使用了该字体,将无法加载它。"
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "删除字体"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "你确定想要删除这个页面?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "删除页面"
@@ -3236,31 +3180,31 @@ msgstr "你确定想要删除这个项目?"
msgid "modals.delete-project-confirm.title"
msgstr "删除项目"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "删除文件"
msgstr[1] "删除文件"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
msgid "modals.delete-shared-confirm.activated.no-files-message"
msgid_plural "modals.delete-shared-confirm.activated.no-files-message"
msgstr[0] "所选库未在任何文件中启用。"
msgstr[1] "所选库未在任何文件中启用。"
-#: src/app/main/ui/delete_shared.cljs:58
+#: src/app/main/ui/delete_shared.cljs:60
msgid "modals.delete-shared-confirm.activated.scd-message"
msgid_plural "modals.delete-shared-confirm.activated.scd-message"
msgstr[0] "所选库已在以下文件中启用: "
msgstr[1] "所选库已在以下文件中启用: "
-#: src/app/main/ui/delete_shared.cljs:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "确定要删除所选文件吗?"
msgstr[1] "确定要删除所选文件吗?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "删除文件"
@@ -3278,41 +3222,41 @@ msgstr "确定要删除此团队吗?与该团队关联的所有项目和文件
msgid "modals.delete-team-confirm.title"
msgstr "删除团队"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "删除成员"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "你确定想要从团队中删除这个成员?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "删除团队成员"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
msgid "modals.delete-unpublish-shared-confirm.activated.hint"
msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint"
msgstr[0] "已在这些文件中使用的素材会保留在原处(不会破坏现有设计)。"
msgstr[1] "已在这些文件中使用的素材会保留在原处(不会破坏现有设计)。"
-#: src/app/main/ui/dashboard/team.cljs:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "删除 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "确定要删除此 Webhook 吗?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "删除 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "编辑 Webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "编辑 Webhook"
@@ -3328,15 +3272,15 @@ msgstr "导入令牌"
msgid "modals.import-library-tokens.title"
msgstr "从库中导入令牌?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "发送邀请"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "电子邮件,以逗号分隔"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "有些成员已经在团队中,我们将邀请其余成员。"
@@ -3348,145 +3292,145 @@ msgstr "只能邀请组织的现有成员。由于列表中的人员都不是组
msgid "modals.invite-restricted-members.all-blocked-title"
msgstr "未发送任何邀请"
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "不会收到邀请的地址"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "取消"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "只能邀请组织的现有成员。"
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "发送邀请"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "部分邀请无法发送"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "列表中的部分人员不会收到邀请。"
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr "你可以邀请成员加入团队,以便他们访问此文件及团队的所有文件。"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "邀请成员加入团队"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "由于你是这个团队的唯一成员,这个团队将连同其项目和文件一起被删除。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "确定要离开 %s 团队吗?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr "如果不能推选另一个成员作为团队所有者,你就无法离开团队。你或许想要删除该团队。"
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "你是此团队的所有者。在你离开团队之前,请选择其他成员晋升为所有者。"
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "晋升并退出"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "选择一位成员晋升"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "在你离开之前"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "退出团队"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "你确定要离开本团队吗?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "正在退出团队"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "移动"
msgstr[1] "移动"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "确定要移动所选共享库吗?"
msgstr[1] "确定要移动所选共享库吗?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "移动共享库"
msgstr[1] "移动共享库"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "微调量"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "转让所有权"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr "转让所有权后,你的角色将变为管理员,并失去对此团队的部分权限。 "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "你是此团队的当前所有者。确定要将 %s 设为团队的新所有者吗?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "新团队所有者"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "发布"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "你的库是空的。你确定想要发布它?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "发布空库"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "小幅微调"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "取消发布"
msgstr[1] "取消发布"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "确定要取消发布所选库吗?"
msgstr[1] "确定要取消发布所选库吗?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "取消发布库"
@@ -3548,27 +3492,27 @@ msgstr "激活"
msgid "nitrate.code-activation.title"
msgstr "激活 Nitrate"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "联系销售团队"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr "如需切换到此方案,请联系我们的销售团队。我们会协助你更新订阅并确保一切设置妥当。"
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr "你的总存储空间、自动版本历史记录和文件恢复期限将受到限制。"
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr "团队、项目和文件将不再属于任何组织,但仍可继续访问。"
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "降级后:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "要切换到 %s 方案吗?"
@@ -3596,7 +3540,7 @@ msgstr "通过专用管理控制台,集中管理人员在各处可执行的操
msgid "nitrate.form.enterprise-feature-3"
msgstr "保留完整的开源自由,同时满足组织的治理需求"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "为团队安全地规模化协作提供所需的一切:"
@@ -3612,7 +3556,7 @@ msgstr "查看当前方案"
msgid "nitrate.form.start-enterprise"
msgstr "开始使用 Enterprise"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "解锁 Enterprise 功能"
@@ -3620,7 +3564,7 @@ msgstr "解锁 Enterprise 功能"
msgid "nitrate.form.try-free"
msgstr "免费试用 14 天"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "有效期至 %s"
@@ -3628,19 +3572,19 @@ msgstr "有效期至 %s"
msgid "nitrate.subscription.renew-success"
msgstr "你的 Nitrate 订阅已续订。"
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "取消订阅"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "使用激活码续订"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "此页面不存在"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 错误"
@@ -3656,11 +3600,11 @@ msgstr "我们已将恢复电子邮件发送至"
msgid "not-found.login.sent-recovery-check"
msgstr "请检查电子邮箱,然后点击链接创建新密码。"
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "免费注册"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "并在数秒内开始使用 Penpot!"
@@ -3668,63 +3612,63 @@ msgstr "并在数秒内开始使用 Penpot!"
msgid "not-found.made-with-love"
msgstr "用爱和开源制作"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "你已申请访问此文件。"
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr "你已申请访问此文件,或此团队的其他文件或项目。"
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr "你已申请访问此项目,或此团队的其他项目或文件。"
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "你已申请访问此项目。"
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "请求访问权限"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "请注意,如果所有者批准请求,你将受邀加入此团队。"
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "你的请求已成功发送!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "你无权访问此文件。"
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "前往你的 Penpot"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "如果所有者批准请求,你将受邀加入此团队。"
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot 文件"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "你无权访问此项目。"
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "项目"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "要访问此文件,你可以向团队所有者申请。"
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "要访问此项目,你可以向团队所有者申请。"
@@ -3736,27 +3680,27 @@ msgstr "维护通知:系统将在 5 分钟内短暂停机维护。"
msgid "notifications.by-code.upgrade-version"
msgstr "有新版本可用。"
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "邀请已成功删除"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "成功发送邀请"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "邀请链接已复制"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "你无法删除个人资料。请先转让你拥有的团队。"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "个人资料保存成功!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "验证邮件已发送至 %s。请检查电子邮箱!"
@@ -3784,99 +3728,99 @@ msgstr "为团队命名后,你就可以邀请其他人加入。"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "创建团队"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "邀请成员"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "邀请成员担任以下角色:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "让我们开始吧!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "从设计中生成真实代码"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "创建设计系统"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "原型设计"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "设计应用的 UI/UX"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "线框设计"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "你打算使用 Penpot 做什么?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr "请告诉我们一些关于你的信息,帮助我们优化 Penpot。你的回答将帮助我们确定新功能的优先级,并指引你开始使用。"
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "帮助我们了解你"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "你最常使用以下哪个工具?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "你从事什么工作?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "你的公司规模有多大?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "你想从哪里开始?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1,001 - 5,000 人"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500 人"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100 人"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1,000 人"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "只有我"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5,001 人以上"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "教育"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "个人"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "工作"
@@ -3928,11 +3872,11 @@ msgstr "字段 %s 无效:%s"
msgid "profile.recovery.go-to-login"
msgstr "去登录"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "分离"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "混合"
@@ -3944,35 +3888,35 @@ msgstr "移除颜色"
msgid "settings.select-this-color"
msgstr "选择使用此样式的项目"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "评论"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "底部对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "水平居中对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "靠左对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "靠右对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "顶部对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "垂直居中对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "以所选内容创建画板"
@@ -3980,55 +3924,55 @@ msgstr "以所选内容创建画板"
msgid "shortcuts.bold"
msgstr "切换粗体"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "布尔差"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "布尔排除"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "布尔交集"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "布尔合并"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "移至最下层"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "移至下一层"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "移至上一层"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "移至最上层"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "清除撤销历史"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "拷贝"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "复制链接"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "复制属性"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "创建组件/变体"
@@ -4036,35 +3980,35 @@ msgstr "创建组件/变体"
msgid "shortcuts.create-new-project"
msgstr "新建"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "剪切"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "缩小"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "删除"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "删除节点"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "拆分组件"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "曲线"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "椭圆"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "画板"
@@ -4072,47 +4016,47 @@ msgstr "画板"
msgid "shortcuts.draw-nodes"
msgstr "绘制路径"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "路径"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "矩形"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "文本"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "复制"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "取消"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "导出形状"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "查找"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "查找和替换"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "缩放以显示全部"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "水平翻转"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "垂直翻转"
@@ -4136,23 +4080,23 @@ msgstr "前往共享库"
msgid "shortcuts.go-to-search"
msgstr "搜索"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "编组"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "水平分布"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "显示/隐藏 UI"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "放大"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "插入图片"
@@ -4160,7 +4104,7 @@ msgstr "插入图片"
msgid "shortcuts.italic"
msgstr "切换斜体"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "连接节点"
@@ -4168,39 +4112,39 @@ msgstr "连接节点"
msgid "shortcuts.line-through"
msgstr "切换删除线"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "转换为角点"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "转换为曲线"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "遮罩"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "合并节点"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "移动"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "快速下移"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "快速向左移动"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "快速向右移动"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "快速上移"
@@ -4208,337 +4152,337 @@ msgstr "快速上移"
msgid "shortcuts.move-nodes"
msgstr "移动节点"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "向下移动"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "左移"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "右移"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "上移"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "下个画板"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "未找到快捷键"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "将不透明度设为 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "将不透明度设为 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "将不透明度设为 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "将不透明度设为 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "将不透明度设为 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "将不透明度设为 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "将不透明度设为 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "将不透明度设为 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "将不透明度设为 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "将不透明度设为 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "色彩拾取器"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "前往阅读器的评论区"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "前往仪表板"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "前往阅读器的检查区域"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "前往阅读器的交互区域"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "打开阅读器"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "前往工作区"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " 或 "
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "粘贴"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "粘贴属性"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "粘贴并替换"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "插件管理器"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "前一画板"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "重做"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "重命名"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "重置缩放"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "缩放"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "基础"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "仪表板"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "阅读器"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "工作区"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "选择所有"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "选择下一个图层"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "选择上级图层"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "选择上一个图层"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "分离节点"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "显示/隐藏像素网格"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "显示/隐藏快捷方式"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "对齐到节点"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "对齐像素网格"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "开始编辑"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "对齐"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "编辑"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "通用"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "主菜单"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "修改图层"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "导航"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "导航"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "导航"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "面板"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "路径"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "形状"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "文本"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "工具"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "缩放"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "缩放"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "设置缩略图"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "快捷键"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "切换动态对齐"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "切换素材面板"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "切换调色板"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "切换焦点模式"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "切换全屏"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "显示/隐藏参考线"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "切换历史"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "切换图层面板"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "添加/移除弹性布局"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "添加/移除网格布局"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "锁定/解锁"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "锁定比例"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "显示/隐藏标尺"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "吸附到参考线"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "吸附到标尺参考线"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "切换文本调色板"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "更改主题"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "显示/隐藏"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "切换缩放样式"
@@ -4546,31 +4490,31 @@ msgstr "切换缩放样式"
msgid "shortcuts.underline"
msgstr "切换下划线"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "撤销"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "取消组合"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "取消遮罩"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "垂直分布"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "降低缩放镜倍率"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "提高缩放镜倍率"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "缩放至所选对象"
@@ -4582,7 +4526,7 @@ msgstr "查看 Enterprise 实际效果"
msgid "subscription.current-plan.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "Enterprise"
@@ -4594,7 +4538,7 @@ msgstr "Enterprise 试用版"
msgid "subscription.current-plan.professional"
msgstr "Professional"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "你的订阅"
@@ -4706,218 +4650,218 @@ msgstr "只有你拥有的团队中新增的编辑者才会计入后续账单。
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "使用 Unlimited 方案时邀请成员"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "付款尚未完成。准备好后可随时重试。"
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr "无法开始结算流程,请重试。如果问题仍然存在,请联系我们:support@penpot.app。"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "订阅"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "输入激活码"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "添加付款方式以便在试用后继续"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "包含 Professional 方案的所有权益,此外还有:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "包含 Unlimited 方案的所有权益,此外还有:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(%s 名编辑者)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise(试用版)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "90 天自动保存版本和文件恢复"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "每月固定费用"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "无限存储空间"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "管理你的订阅"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "添加付款信息"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr "现在添加付款信息,即可在试用期结束后顺畅续订,并继续支持我们的开源项目。目前不会向你收费。"
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "暂时跳过并开始试用"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "助力我们成长,也让你的试用更轻松"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "目前,你的各团队中共有 %s 人可以编辑。"
msgstr[1] "目前,你的各团队中共有 %s 人可以编辑。"
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr "请注意:切换到较低级别的方案后,存储空间会减少,文件备份和版本历史记录的保留期限也会缩短。"
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "编辑者"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(包括所有者、管理员和编辑者,不包括查看者)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr "设置的编辑者人数不能少于当前人数。请在团队设置中,将实际不编辑文件的人员角色从编辑者或管理员改为查看者。"
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "试用期结束后收费,目前无需信用卡。"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "每月 **$%s**"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "将 %s 应用于你的团队"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr "提示:你可以现在增加席位数,为后续邀请预留空间。当各团队共有 25 名或更多编辑者时,每月固定收费 175 美元。"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "加入 Penpot 的时间:%s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "更多信息"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "每名组织成员每月"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "Penpot 的其他方案"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "每个组织每月"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "Professional"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "保留 7 天的自动保存版本和文件恢复"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "所有设计和原型功能,以及社区支持。"
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "完全掌控数据和基础设施。"
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "用户、团队和文件数量不限。"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10GB 存储空间"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "团队数量不限。你拥有的团队中最多可有 8 名编辑者。"
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "推荐"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "你的订阅"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "开始免费试用"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "订阅"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "你可以随时在账号详情的“订阅”页面编辑订阅。"
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "尽情使用你的方案吧!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "感谢你选择 Penpot %s 方案!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "你已开通 %s!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "免费试用 14 天"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr "Unlimited"
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited(试用版)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "保留 30 天的自动保存版本和文件恢复"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "每月账单上限为 175 美元"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB 存储空间"
@@ -4940,45 +4884,45 @@ msgstr "如需提高此限额,请联系团队所有者:[%s](mailto)"
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "如需提高此限额,请[升级你的方案|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "已选中 1 个邀请"
msgstr[1] "已选中 %s 个邀请"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "字体提供者 - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "字体 - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "项目 - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "搜索 - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "共享库 - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot - 面向团队,设计自由"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "提交反馈 - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "集成 - Penpot"
@@ -4986,7 +4930,7 @@ msgstr "集成 - Penpot"
msgid "title.settings.notifications"
msgstr "通知 - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "设置 - Penpot"
@@ -4994,27 +4938,27 @@ msgstr "设置 - Penpot"
msgid "title.settings.password"
msgstr "密码 - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "个人资料 - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "邀请函 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "成员 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "设置 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhook - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - 预览模式 - Penpot"
@@ -5026,51 +4970,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "分离令牌"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "此页面上未找到画板。"
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "未找到画板。"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "评论(%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "不显示交互"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "全屏"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "检查(%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "交互"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "交互(%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "复制链接"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "显示交互"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "点击时显示交互"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "站点地图"
@@ -5102,67 +5046,67 @@ msgstr "请参阅我们的 "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL 故障排除指南"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "WebGL 渲染已禁用"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "WebGL 渲染已启用"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL 上下文已丢失"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL 上下文已恢复"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "上次交付成功。"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "水平居中对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "水平等距分布(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "左对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "右对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "底部对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "垂直居中对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "垂直等距分布(%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "顶部对齐(%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "新增库"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "所有素材"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "颜色"
@@ -5174,7 +5118,7 @@ msgstr "新增颜色"
msgid "workspace.assets.component-group-options"
msgstr "组件组选项"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "组件"
@@ -5182,7 +5126,7 @@ msgstr "组件"
msgid "workspace.assets.components.add-component"
msgstr "新增组件"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s 变体"
@@ -5190,11 +5134,11 @@ msgstr "%s 变体"
msgid "workspace.assets.create-group"
msgstr "创建组"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "这些项目将自动命名为“组名/项目名”"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "删除"
@@ -5202,7 +5146,7 @@ msgstr "删除"
msgid "workspace.assets.delete-group"
msgstr "删除组"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "创建副本"
@@ -5210,39 +5154,39 @@ msgstr "创建副本"
msgid "workspace.assets.duplicate-main"
msgstr "复制主组件"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "编辑"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "筛选"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "网格视图"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "组"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "组名"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "列表视图"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "本地库"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "管理库"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "未找到素材"
@@ -5250,7 +5194,7 @@ msgstr "未找到素材"
msgid "workspace.assets.open-library"
msgstr "打开库文件"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "重命名"
@@ -5258,11 +5202,11 @@ msgstr "重命名"
msgid "workspace.assets.rename-group"
msgstr "重命名组"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "搜索素材"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "共享库"
@@ -5272,43 +5216,43 @@ msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "1 个组件"
msgstr[1] "%s 个组件"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "排序"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "排版"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "新增排版"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "字号"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "字体样式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "前往样式库文件进行编辑"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "字间距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "行高"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "文本变换"
@@ -5316,15 +5260,15 @@ msgstr "文本变换"
msgid "workspace.assets.ungroup"
msgstr "解组"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "正在复制图片…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "图片已复制到剪贴板"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "复制图片时出错"
@@ -5332,83 +5276,83 @@ msgstr "复制图片时出错"
msgid "workspace.colorpicker.color-tokens"
msgstr "颜色令牌"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "组件不能嵌套在自身内部。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "部分组件实例无法切换。组件不能嵌套在自身内部。"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "新建区域"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "复制列"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "复制行"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "新建画板"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "合并单元格"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "粘贴"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "在右侧添加一列"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "在左侧添加一列"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "删除此列"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "删除此列及其内容"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "复制此列"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "在下方添加一行"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "在上方添加一行"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "删除此行"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "删除此行及其内容"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "复制此行"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "参考线颜色"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "移除参考线"
@@ -5416,15 +5360,15 @@ msgstr "移除参考线"
msgid "workspace.debug.title"
msgstr "调试工具"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "专注模式"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "退出专注模式"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "进入专注模式"
@@ -5436,243 +5380,243 @@ msgstr "线性渐变"
msgid "workspace.gradients.radial"
msgstr "径向渐变"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "禁用动态对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "禁用比例缩放"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "禁用与参考线对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "禁用像素对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "禁用“吸附到标尺参考线”"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "禁用 WebGL 渲染(测试版)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "启用动态对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "启用比例缩放"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "与参考线对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "启用像素对齐"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "启用“吸附到标尺参考线”"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "启用 WebGL 渲染(测试版)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "查找"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "查找和替换"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "隐藏画板名称"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "隐藏评论"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "隐藏参考线"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "隐藏调色板"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "隐藏像素网格"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "隐藏标尺"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "隐藏字体调色板"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "锁定参考线"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "连接"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "断开连接"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "管理(状态:已禁用)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "管理(状态:已启用)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "编辑"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "文件"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "帮助与信息"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP 服务器"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "偏好设置"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "视图"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "重做"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "全选"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "显示画板名称"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "显示评论"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "显示参考线"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "显示调色板"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "显示像素网格"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "显示标尺"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "显示字体调色板"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "切换到深色主题"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "切换到浅色主题"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "切换至系统主题"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "撤销"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "解锁参考线"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "重置"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "保存时发生错误"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "已保存"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "正在保存"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "分享"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "预览模式(%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "缩放"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "填充 - 缩放以填满"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "适合 - 缩小以适应"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "缩放以显示全部"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "全屏"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "缩放至所选对象"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "编辑网格"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "退出"
@@ -5680,7 +5624,7 @@ msgstr "退出"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "下内边距"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "显示四边内边距选项"
@@ -5716,37 +5660,37 @@ msgstr "完成"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "定位"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "定位网格布局"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "1 种颜色"
msgstr[1] "%s 种颜色"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "将颜色添加到库"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "你的库中还没有颜色样式"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "还没有最近使用的颜色"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "你的库中还没有排版样式"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "文件库"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "最近使用的颜色"
@@ -5758,75 +5702,75 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "保存颜色样式"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "显示或隐藏调色板"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "1 个组件"
msgstr[1] "%s 个组件"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "已连接到"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "也可以添加以下内容试用:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "你的团队中没有共享库,你可以查找"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "这里的一些模板"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "文件库"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "1 个图形"
msgstr[1] "%s 个图形"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "本文档中的库"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "库"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "共享库更新"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "加载中…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "没有需要更新的共享库"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "未找到与“%s”匹配的结果"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "搜索共享库"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "共享库"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "连接库"
@@ -5850,25 +5794,25 @@ msgstr "取消链接所有素材"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "分离所有令牌"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "1 个排版素材"
msgstr[1] "%s 个排版素材"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "断开库连接"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "更新"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "查看所有更改"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "更新"
@@ -5932,107 +5876,107 @@ msgstr "显示或隐藏更多选项"
msgid "workspace.options.canvas-background"
msgstr "画布背景"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "裁剪内容"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "组件"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "注释"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "复制"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "创建注释"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "编辑注释"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "主组件"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "替换组件"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "你的库中还没有素材"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "未链接"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "定位冲突的变体"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr "此组件包含冲突的变体。请确保每个变体都有一组独一无二的属性值。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "定位重复的变体"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "部分变体的属性和值完全相同"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "这些变体的属性和值完全相同。请调整属性值,以便正确检索这些变体。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "此变体与另一个变体的属性和值完全相同。请调整属性值,以便正确检索此变体。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "其中部分变体的属性和值完全相同。请调整属性值,以便正确检索这些变体。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr "此组件包含名称无效的变体。请确保每个变体的名称都遵循正确的结构。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "定位无效变体"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "部分变体的名称无效"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "定位无效变体"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "这些变体的名称无效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "此变体的名称无效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "其中部分变体的名称无效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[property]=[value], [property]=[value]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "尝试使用下面的结构:"
@@ -6064,7 +6008,7 @@ msgstr "位于同一层级。"
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "组、画板和布局视为等效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "变体如何保持连接"
@@ -6112,11 +6056,11 @@ msgstr "上下固定"
msgid "workspace.options.convert-to-typography"
msgstr "创建排版样式"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "设计"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "导出"
@@ -6124,37 +6068,37 @@ msgstr "导出"
msgid "workspace.options.export-multiple"
msgstr "导出所选对象"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "导出 1 个元素"
msgstr[1] "导出 %s 个元素"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "新增导出"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "移除导出"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "后缀"
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "导出完成"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "正在导出…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "导出失败"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "导出速度意外缓慢"
@@ -6174,7 +6118,7 @@ msgstr "移除填充"
msgid "workspace.options.fill.section"
msgstr "填充区域"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "调整画板适应内容大小"
@@ -6198,67 +6142,67 @@ msgstr "所有流程起点"
msgid "workspace.options.grid.auto"
msgstr "自动"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "列"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "颜色"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "间距"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "高"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "外边距"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "设为默认"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "底"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "居中"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "左"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "右"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "拉伸"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "顶"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "使用默认"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "宽"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "行"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "正方形"
@@ -6270,7 +6214,7 @@ msgstr "编组填充"
msgid "workspace.options.group-stroke"
msgstr "组描边"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "添加参考线"
@@ -6278,19 +6222,19 @@ msgstr "添加参考线"
msgid "workspace.options.guides.remove-guide"
msgstr "移除参考线"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "参考线"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "切换参考线"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "高度"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "检查"
@@ -6506,115 +6450,115 @@ msgstr "交互"
msgid "workspace.options.interactions.add-interaction"
msgstr "新增交互"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "颜色"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "颜色加深"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "颜色减淡"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "变暗"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "差值"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "排除"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "强光"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "色相"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "变亮"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "亮度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "正片叠底"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "正常"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "叠加"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "饱和度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "滤色"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "柔光"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "图层菜单区域"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "显示/隐藏图层"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "最大高度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "最大宽度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "最小高度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "最小宽度"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "更多颜色"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "更多库颜色"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "更多颜色令牌"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "没有匹配的尺寸预设"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "不透明度"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "原型"
@@ -6650,23 +6594,23 @@ msgstr "圆角半径区域"
msgid "workspace.options.radius.show-single-corners"
msgstr "显示独立的圆角"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "最近的"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "重试"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "旋转"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "搜索字体"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "搜索尺寸预设"
@@ -6674,11 +6618,11 @@ msgstr "搜索尺寸预设"
msgid "workspace.options.select-a-shape"
msgstr "选择一个形状、画板或编组,拖至另一个画板,以创建关联。"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "已选颜色"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "颜色选择区域"
@@ -6746,55 +6690,55 @@ msgstr "切换阴影"
msgid "workspace.options.show-fill-on-export"
msgstr "在导出中显示"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "在预览模式显示"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "尺寸"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "尺寸预设"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "锁定比例"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "解锁比例"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "圆形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "菱形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "箭头"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "无"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "圆头"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "方头"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "矩形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "三角形"
@@ -6802,15 +6746,15 @@ msgstr "三角形"
msgid "workspace.options.stroke-color"
msgstr "描边颜色"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "虚线长度"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "间隙"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "描边宽度"
@@ -6818,39 +6762,39 @@ msgstr "描边宽度"
msgid "workspace.options.stroke.add-stroke"
msgstr "新增描边颜色"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "居中"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "虚线"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "点线"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "内侧"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "混合"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "外侧"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "移除描边"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "实线"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "启用或禁用描边"
@@ -6886,11 +6830,11 @@ msgstr "自动宽度"
msgid "workspace.options.text-options.grow-fixed"
msgstr "固定"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "字距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "行高"
@@ -6938,200 +6882,200 @@ msgstr "下划线(%s)"
msgid "workspace.options.use-play-button"
msgstr "点击页面顶端的播放按钮预览原型。"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "宽度"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X 轴"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y 轴"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "绘制节点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "连接节点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "转换为角点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "转换为曲线(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "合并节点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "移动节点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "拆分节点(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "吸附节点(%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "打开"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "发现[更多插件](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "未安装插件"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "插件清单不正确。"
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "你需要拥有编辑权限才能使用此插件"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "插件不存在或 URL 不正确。"
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "安装"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "已安装的插件"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "插件管理器"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "插件"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "更新此插件"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "自你上次打开以来,此插件已被修改。它现在还希望访问:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "开始文件下载。"
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "保存数据至浏览器。"
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "读取剪贴板中的内容。"
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "读取和写入剪贴板内容。"
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "读取你的评论和回复。"
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "读取和修改你的评论,并以你的名义回复。"
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "读取用户有权访问的文件内容。"
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "读取和修改用户有权访问的文件内容。"
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr "请注意,此插件由第三方创建,因此请在授予访问权限前确认你信任它。你的数据隐私和安全对我们至关重要。如有任何疑虑,请联系支持团队。"
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "读取你的库和素材。"
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "读取和修改你的库和素材。"
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "“%s”插件需要访问:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "读取当前用户的个人资料信息。"
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "插件列表"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "移除插件"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "输入插件 URL"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "插件"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "暂不"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr "想看看吗?它将在当前团队的新草稿中打开。(如果不想,你之后也可以在任意文件的已安装插件中找到它。)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "“%s”插件已为你的账号安装!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "尝试插件"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "添加 Flex 布局"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "添加网格布局"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "新增布局"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "创建变体"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "添加新属性"
@@ -7143,11 +7087,11 @@ msgstr "移至底层"
msgid "workspace.shape.menu.backward"
msgstr "向下移动一层"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "清除画板参考线"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "合并为变体"
@@ -7155,7 +7099,7 @@ msgstr "合并为变体"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "组件需要在同一个页面中"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "复制"
@@ -7195,27 +7139,27 @@ msgstr "复制为文本"
msgid "workspace.shape.menu.create-annotation"
msgstr "创建注释"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "转为画板"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "创建组件"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "创建多个组件"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "剪切"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "删除"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "删除流程起点"
@@ -7227,7 +7171,7 @@ msgstr "解绑实例"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "解绑实例"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "差集"
@@ -7235,15 +7179,15 @@ msgstr "差集"
msgid "workspace.shape.menu.duplicate"
msgstr "创建副本"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "编辑"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "排除重叠"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "展平"
@@ -7255,7 +7199,7 @@ msgstr "水平翻转"
msgid "workspace.shape.menu.flip-vertical"
msgstr "垂直翻转"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "流程起点"
@@ -7267,31 +7211,31 @@ msgstr "向上移动一层"
msgid "workspace.shape.menu.front"
msgstr "移至顶层"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "编组"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "隐藏"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "显示/隐藏界面"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "交集"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "锁定"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "蒙版"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "粘贴"
@@ -7299,27 +7243,27 @@ msgstr "粘贴"
msgid "workspace.shape.menu.paste-props"
msgstr "粘贴属性"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "路径"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "移除 Flex 布局"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "移除网格布局"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "移除布局"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "移除属性"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "变体至少需要有一个属性"
@@ -7343,11 +7287,11 @@ msgstr "恢复变体"
msgid "workspace.shape.menu.select-layer"
msgstr "选择图层"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "显示"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "在素材面板中显示"
@@ -7355,7 +7299,7 @@ msgstr "在素材面板中显示"
msgid "workspace.shape.menu.show-main"
msgstr "显示主组件"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "将描边转换为路径"
@@ -7367,19 +7311,19 @@ msgstr "移除缩略图"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "设为缩略图"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "取消编组"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "并集"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "取消锁定"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "取消蒙版"
@@ -7395,79 +7339,79 @@ msgstr "收起侧边栏"
msgid "workspace.sidebar.expand"
msgstr "展开侧边栏"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "历史"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "图层"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "组件"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "筛选"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "画板"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "编组"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "图片"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "蒙版"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "无匹配结果"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "替换"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "全部替换"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "替换为…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "搜索…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "查找和替换"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "文本内容"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "图层名称"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "形状"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "已导入的 SVG 属性"
@@ -7479,7 +7423,7 @@ msgstr "页面"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "添加页面"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "站点地图"
@@ -7507,7 +7451,7 @@ msgstr "向此组添加令牌集"
msgid "workspace.tokens.add-token"
msgstr "添加令牌:%s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "应用于"
@@ -7527,7 +7471,7 @@ msgstr "基准字号"
msgid "workspace.tokens.base-font-size.error"
msgstr "基准字号必须是像素值或无单位数值。"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "颜色"
@@ -7539,7 +7483,7 @@ msgstr "复制令牌路径"
msgid "workspace.tokens.create-new-theme"
msgstr "立即创建你的第一个令牌主题。"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "创建一个。"
@@ -7563,7 +7507,7 @@ msgstr "复制令牌"
msgid "workspace.tokens.duplicate-group"
msgstr "复制令牌组"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "复制"
@@ -7587,7 +7531,7 @@ msgstr "编辑 %s 令牌"
msgid "workspace.tokens.enter-token-name"
msgstr "输入 %s 令牌名称"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "编辑文本时无法应用令牌。请改为选择文本图层。"
@@ -7615,7 +7559,7 @@ msgstr "预览:"
msgid "workspace.tokens.export.single-file"
msgstr "单文件"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "字号或 {alias}"
@@ -7623,7 +7567,7 @@ msgstr "字号或 {alias}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "设置字重/样式时出错。当前字体中不存在此字体样式"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "字重(300、Bold Italic...)或 {alias}"
@@ -7659,7 +7603,7 @@ msgstr "导入多个文件时,文件名/路径将作为令牌集名称。"
msgid "workspace.tokens.import-single-file"
msgstr "导入单个 JSON 文件时,一级键应为令牌集名称。"
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "导入令牌"
@@ -7667,15 +7611,15 @@ msgstr "导入令牌"
msgid "workspace.tokens.import-warning"
msgstr "导入令牌将覆盖你当前的所有令牌、令牌集和令牌主题。"
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "未启用"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr "此令牌集未启用。请更改令牌主题或启用此令牌集,以在视口中查看更改"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "使用单独的令牌"
@@ -7695,11 +7639,11 @@ msgstr "令牌主题"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "添加令牌主题(例如浅色)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "字间距或 {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "行高(倍数、px、%)或 {alias}"
@@ -7715,11 +7659,11 @@ msgstr "最大尺寸"
msgid "workspace.tokens.min-size"
msgstr "最小尺寸"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "缺少引用"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "右键单击查看选项"
@@ -7735,7 +7679,7 @@ msgstr "没有已启用的令牌主题"
msgid "workspace.tokens.no-permisions-set"
msgstr "你需要拥有编辑权限才能启用或停用令牌集"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "你需要拥有编辑权限才能使用令牌主题"
@@ -7747,7 +7691,7 @@ msgstr "尚未定义任何令牌集。请先创建一个。"
msgid "workspace.tokens.no-sets-yet"
msgstr "尚无令牌集。"
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "尚无令牌主题。"
@@ -7763,7 +7707,7 @@ msgstr "不重新映射"
msgid "workspace.tokens.num-active-sets"
msgstr "%s 个已启用的令牌集"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "原始值:%s"
@@ -7775,15 +7719,15 @@ msgstr "内边距"
msgid "workspace.tokens.radius"
msgstr "圆角半径"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "{%s} 中的引用无效,或不属于任何活动令牌集"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "输入排版令牌别名"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "输入阴影令牌别名"
@@ -7819,7 +7763,7 @@ msgstr "重命名令牌组"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "你的令牌将自动重命名为 %s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "解析值:%s"
@@ -7855,27 +7799,27 @@ msgstr "你可以在此配置基准字号,它定义了 1rem 的值:"
msgid "workspace.tokens.settings"
msgstr "令牌设置"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "添加阴影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "模糊"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "内阴影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "移除阴影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "扩散"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "模糊值不能为负数"
@@ -7883,11 +7827,11 @@ msgstr "模糊值不能为负数"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "扩散值不能为负数"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -7895,11 +7839,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "大小"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize 或 {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through 或 {alias}"
@@ -7915,31 +7859,31 @@ msgstr "令牌主题列表"
msgid "workspace.tokens.token-description"
msgstr "描述"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "选择字体家族"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "字体家族"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "字体家族,或以英文逗号(,)分隔的字体列表"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "名称"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "路径 %s 或其前缀处已存在令牌。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "名称至少应包含 1 个字符"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" 不是有效的令牌名称。\n"
@@ -7949,11 +7893,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "值"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "输入值或使用 {alias} 输入别名"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "令牌 - %s"
@@ -7969,11 +7913,11 @@ msgstr "导入成功,但部分令牌因使用不受支持的 $type 值而被
msgid "workspace.tokens.unknown-token-type-section"
msgstr "不支持类型“%s”(%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "使用引用"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "值无效"
@@ -7981,71 +7925,67 @@ msgstr "值无效"
msgid "workspace.toolbar.assets"
msgstr "素材"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "调色盘(%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "评论(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "曲线(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "椭圆(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "画板(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "图片(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "在此连接"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP 已连接"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "移动(%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "调色板栏"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "路径(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "插件(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "矩形(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "文本(%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "排版(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "切换工具栏"
@@ -8066,11 +8006,11 @@ msgstr "无法渲染。刷新页面以恢复编辑。"
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "刷新"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "目前没有历史修改"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "由 %s 操作"
@@ -8210,19 +8150,19 @@ msgstr "排版素材"
msgid "workspace.undo.entry.unknown"
msgstr "对 %s 执行操作"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "忽略"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "更多信息"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "共享库有更新"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "更新"
diff --git a/frontend/translations/zh_Hant.po b/frontend/translations/zh_Hant.po
index 56f41a99d3..2127902f2d 100644
--- a/frontend/translations/zh_Hant.po
+++ b/frontend/translations/zh_Hant.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2026-09-28 08:13+0000\n"
-"Last-Translator: Andy Li \n"
+"PO-Revision-Date: 2026-11-05 22:19+0000\n"
+"Last-Translator: Andrey Antukh \n"
"Language-Team: Chinese (Traditional Han script) "
" \n"
"Language: zh_Hant\n"
@@ -9,9 +9,9 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 2026.10.dev0\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
-#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
+#: src/app/main/ui/auth/login_modal.cljs:125, src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:193
msgid "auth.already-have-account"
msgstr "已經有帳號了嗎?"
@@ -31,7 +31,7 @@ msgstr "建立試用帳號"
msgid "auth.demo-warning"
msgstr "此服務僅供展示,請勿用於實際工作,專案內容將定期清除。"
-#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
+#: src/app/main/ui/auth/login.cljs:204, src/app/main/ui/auth/login_modal.cljs:109
msgid "auth.forgot-password"
msgstr "忘記密碼?"
@@ -39,35 +39,35 @@ msgstr "忘記密碼?"
msgid "auth.fullname"
msgstr "全名"
-#: src/app/main/ui/auth/login.cljs:294
+#: src/app/main/ui/auth/login.cljs:295
msgid "auth.login-account-title"
msgstr "登入我的帳號"
-#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
+#: src/app/main/ui/auth/login_modal.cljs:130, src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:199
msgid "auth.login-here"
msgstr "在此登入。"
-#: src/app/main/ui/auth/login.cljs:297
+#: src/app/main/ui/auth/login.cljs:298
msgid "auth.login-tagline"
msgstr "Penpot 是用於設計與開發協作,免費且開源的設計工具"
-#: src/app/main/ui/auth/login.cljs:254
+#: src/app/main/ui/auth/login.cljs:255
msgid "auth.login-with-github-submit"
msgstr "GitHub"
-#: src/app/main/ui/auth/login.cljs:260
+#: src/app/main/ui/auth/login.cljs:261
msgid "auth.login-with-gitlab-submit"
msgstr "GitLab"
-#: src/app/main/ui/auth/login.cljs:248
+#: src/app/main/ui/auth/login.cljs:249
msgid "auth.login-with-google-submit"
msgstr "Google"
-#: src/app/main/ui/auth/login.cljs:213
+#: src/app/main/ui/auth/login.cljs:214
msgid "auth.login-with-ldap-submit"
msgstr "LDAP"
-#: src/app/main/ui/auth/login.cljs:266
+#: src/app/main/ui/auth/login.cljs:267
msgid "auth.login-with-oidc-submit"
msgstr "OpenID"
@@ -75,7 +75,7 @@ msgstr "OpenID"
msgid "auth.new-password"
msgstr "輸入新密碼"
-#: src/app/main/ui/auth/verify_token.cljs:81
+#: src/app/main/ui/auth/verify_token.cljs:54
msgid "auth.notifications.organization-invitation-accepted"
msgstr "您已成為 %s 的一員"
@@ -91,7 +91,7 @@ msgstr "個人檔案尚未驗證,請先完成驗證再繼續。"
msgid "auth.notifications.recovery-token-sent"
msgstr "密碼重設連結已寄至您的信箱。"
-#: src/app/main/ui/auth/verify_token.cljs:85
+#: src/app/main/ui/auth/verify_token.cljs:58
msgid "auth.notifications.team-invitation-accepted"
msgstr "已成功加入團隊"
@@ -123,7 +123,7 @@ msgstr "忘記密碼?"
msgid "auth.recovery-submit"
msgstr "變更密碼"
-#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
+#: src/app/main/ui/auth/login.cljs:311, src/app/main/ui/auth/login_modal.cljs:113, src/app/main/ui/static.cljs:177
msgid "auth.register"
msgstr "還沒有帳號嗎?"
@@ -135,7 +135,7 @@ msgstr "請告訴我們該如何稱呼您,這個名稱會顯示在控制台與
msgid "auth.register-account-title"
msgstr "您的名稱"
-#: src/app/main/ui/auth/login.cljs:314, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:181, src/app/main/ui/viewer/login.cljs:112
+#: src/app/main/ui/auth/login.cljs:315, src/app/main/ui/auth/login_modal.cljs:118, src/app/main/ui/auth/register.cljs:199, src/app/main/ui/auth/register.cljs:345, src/app/main/ui/static.cljs:183
msgid "auth.register-submit"
msgstr "建立帳號"
@@ -148,7 +148,7 @@ msgstr "建立帳號"
msgid "auth.terms-and-privacy-agreement"
msgstr "我同意[服務條款](%s)與[隱私權政策](%s)。"
-#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:542, src/app/main/ui/workspace/main_menu.cljs:210
+#: src/app/main/ui/auth/register.cljs:264, src/app/main/ui/dashboard/sidebar.cljs:535, src/app/main/ui/workspace/main_menu.cljs:211
msgid "auth.terms-of-service"
msgstr "服務條款"
@@ -168,88 +168,88 @@ msgstr "沒有可用的色彩 tokens。請檢查已啟用的集合或主題,
msgid "comments.mentions.not-found"
msgstr "找不到符合 @%s 的使用者"
-#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
+#: src/app/main/ui/workspace/libraries.cljs:489, src/app/main/ui/workspace/libraries.cljs:860
msgid "common.publish"
msgstr "發佈"
-#: src/app/main/ui/viewer/share_link.cljs:304, src/app/main/ui/viewer/share_link.cljs:314
+#: src/app/main/ui/viewer/share_link.cljs:309, src/app/main/ui/viewer/share_link.cljs:319
msgid "common.share-link.all-users"
msgstr "所有 Penpot 使用者"
-#: src/app/main/ui/viewer/share_link.cljs:198
+#: src/app/main/ui/viewer/share_link.cljs:202
msgid "common.share-link.confirm-deletion-link-description"
msgstr "確定要移除此連結嗎?移除後,任何人都無法再使用此連結"
-#: src/app/main/ui/viewer/share_link.cljs:259, src/app/main/ui/viewer/share_link.cljs:289
+#: src/app/main/ui/viewer/share_link.cljs:264, src/app/main/ui/viewer/share_link.cljs:294
msgid "common.share-link.current-tag"
msgstr "(目前)"
-#: src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/viewer/share_link.cljs:214
+#: src/app/main/ui/viewer/share_link.cljs:211, src/app/main/ui/viewer/share_link.cljs:217
msgid "common.share-link.destroy-link"
msgstr "刪除連結"
-#: src/app/main/ui/viewer/share_link.cljs:221
+#: src/app/main/ui/viewer/share_link.cljs:223
msgid "common.share-link.get-link"
msgstr "取得連結"
-#: src/app/main/ui/viewer/share_link.cljs:137
+#: src/app/main/ui/viewer/share_link.cljs:140
msgid "common.share-link.link-copied-success"
msgstr "已複製連結"
-#: src/app/main/ui/viewer/share_link.cljs:231
+#: src/app/main/ui/viewer/share_link.cljs:236
msgid "common.share-link.manage-ops"
msgstr "管理權限"
-#: src/app/main/ui/viewer/share_link.cljs:277
+#: src/app/main/ui/viewer/share_link.cljs:282
msgid "common.share-link.page-shared"
msgid_plural "common.share-link.page-shared"
msgstr[0] "已分享 %s 個頁面"
-#: src/app/main/ui/viewer/share_link.cljs:298
+#: src/app/main/ui/viewer/share_link.cljs:303
msgid "common.share-link.permissions-can-comment"
msgstr "可留言"
-#: src/app/main/ui/viewer/share_link.cljs:308
+#: src/app/main/ui/viewer/share_link.cljs:313
msgid "common.share-link.permissions-can-inspect"
msgstr "可檢視程式碼"
-#: src/app/main/ui/viewer/share_link.cljs:193
+#: src/app/main/ui/viewer/share_link.cljs:197
msgid "common.share-link.permissions-hint"
msgstr "任何持有連結的人都能存取"
-#: src/app/main/ui/viewer/share_link.cljs:241
+#: src/app/main/ui/viewer/share_link.cljs:246
msgid "common.share-link.permissions-pages"
msgstr "已分享頁面"
-#: src/app/main/ui/viewer/share_link.cljs:183
+#: src/app/main/ui/viewer/share_link.cljs:187
msgid "common.share-link.placeholder"
msgstr "可分享的連結會顯示在這裡"
-#: src/app/main/ui/viewer/share_link.cljs:303, src/app/main/ui/viewer/share_link.cljs:313
+#: src/app/main/ui/viewer/share_link.cljs:308, src/app/main/ui/viewer/share_link.cljs:318
msgid "common.share-link.team-members"
msgstr "僅限團隊成員"
-#: src/app/main/ui/viewer/share_link.cljs:171
+#: src/app/main/ui/viewer/share_link.cljs:174
msgid "common.share-link.title"
msgstr "分享原型"
-#: src/app/main/ui/viewer/share_link.cljs:269
+#: src/app/main/ui/viewer/share_link.cljs:274
msgid "common.share-link.view-all"
msgstr "全選"
-#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
+#: src/app/main/ui/workspace/libraries.cljs:484, src/app/main/ui/workspace/libraries.cljs:855
msgid "common.unpublish"
msgstr "取消發布"
-#: src/app/main/ui/dashboard/projects.cljs:90
+#: src/app/main/ui/dashboard/projects.cljs:98
msgid "dasboard.team-hero.management"
msgstr "團隊管理"
-#: src/app/main/ui/dashboard/projects.cljs:89
+#: src/app/main/ui/dashboard/projects.cljs:97
msgid "dasboard.team-hero.text"
msgstr "Penpot 專為團隊打造。邀請成員一起協作處理專案與檔案"
-#: src/app/main/ui/dashboard/projects.cljs:87
+#: src/app/main/ui/dashboard/projects.cljs:95
msgid "dasboard.team-hero.title"
msgstr "組隊!"
@@ -265,31 +265,31 @@ msgstr "還原檔案"
msgid "dashboard.add-file"
msgstr "新增檔案"
-#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
+#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:701
msgid "dashboard.add-shared"
msgstr "新增為共享資料庫"
-#: src/app/main/ui/settings/profile.cljs:75
+#: src/app/main/ui/settings/profile.cljs:79
msgid "dashboard.change-email"
msgstr "變更電子郵件地址"
-#: src/app/main/data/nitrate.cljs:602
+#: src/app/main/data/nitrate.cljs:614
msgid "dashboard.change-organization-modal.accept"
msgstr "移動團隊"
-#: src/app/main/data/nitrate.cljs:600
+#: src/app/main/data/nitrate.cljs:612
msgid "dashboard.change-organization-modal.choose"
msgstr "移動至:"
-#: src/app/main/data/nitrate.cljs:599
+#: src/app/main/data/nitrate.cljs:611
msgid "dashboard.change-organization-modal.description"
msgstr "團隊成員仍可存取原有的專案與檔案。團隊將套用新組織的設定。"
-#: src/app/main/data/nitrate.cljs:601
+#: src/app/main/data/nitrate.cljs:613
msgid "dashboard.change-organization-modal.select"
msgstr "選擇組織"
-#: src/app/main/data/nitrate.cljs:591, src/app/main/data/nitrate.cljs:598, src/app/main/ui/dashboard/team_form.cljs:159
+#: src/app/main/data/nitrate.cljs:603, src/app/main/data/nitrate.cljs:610, src/app/main/ui/dashboard/team_form.cljs:163
msgid "dashboard.change-organization-modal.title"
msgstr "變更團隊所屬組織"
@@ -345,23 +345,23 @@ msgstr "檢視完整變更紀錄"
msgid "dashboard.check-updates.view-release-notes"
msgstr "檢視版本說明"
-#: src/app/main/ui/dashboard/deleted.cljs:322
+#: src/app/main/ui/dashboard/deleted.cljs:328
msgid "dashboard.clear-trash-button"
msgstr "清空垃圾桶"
-#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
+#: src/app/main/data/dashboard.cljs:317, src/app/main/data/dashboard.cljs:553, src/app/main/data/workspace/pages.cljs:206
msgid "dashboard.copy-suffix"
msgstr "(複製)"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:223, src/app/main/ui/dashboard/organization_team_switch.cljs:304
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:311, src/app/main/ui/dashboard/organization_team_switch.cljs:402
msgid "dashboard.create-new-organization"
msgstr "建立組織"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:295
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:393
msgid "dashboard.create-new-team"
msgstr "建立新團隊"
-#: src/app/main/ui/workspace/main_menu.cljs:711
+#: src/app/main/ui/workspace/main_menu.cljs:712
msgid "dashboard.create-version-menu"
msgstr "固定此版本"
@@ -369,7 +369,7 @@ msgstr "固定此版本"
msgid "dashboard.default-team-name"
msgstr "個人專案"
-#: src/app/main/ui/dashboard/deleted.cljs:268
+#: src/app/main/ui/dashboard/deleted.cljs:274
msgid "dashboard.delete-all-forever-confirmation.description"
msgstr "確定要永久刪除所有已刪除的專案與檔案嗎?此操作無法復原。"
@@ -377,39 +377,39 @@ msgstr "確定要永久刪除所有已刪除的專案與檔案嗎?此操作無
msgid "dashboard.delete-file-forever-confirmation.description"
msgstr "確定要永久刪除 %s 嗎?此操作無法復原。"
-#: src/app/main/data/dashboard.cljs:792
+#: src/app/main/data/dashboard.cljs:810
msgid "dashboard.delete-files-success-notification"
msgstr "%s 個檔案已成功刪除。"
-#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
+#: src/app/main/ui/dashboard/deleted.cljs:55, src/app/main/ui/dashboard/deleted.cljs:57, src/app/main/ui/dashboard/deleted.cljs:273, src/app/main/ui/dashboard/deleted.cljs:275, src/app/main/ui/dashboard/file_menu.cljs:246, src/app/main/ui/dashboard/file_menu.cljs:248
msgid "dashboard.delete-forever-confirmation.title"
msgstr "永久刪除"
-#: src/app/main/ui/dashboard/deleted.cljs:90
+#: src/app/main/ui/dashboard/deleted.cljs:95
msgid "dashboard.delete-project-button"
msgstr "刪除專案"
-#: src/app/main/ui/dashboard/deleted.cljs:55
+#: src/app/main/ui/dashboard/deleted.cljs:56
msgid "dashboard.delete-project-forever-confirmation.description"
msgstr "確定要永久刪除 %s 專案嗎?此專案及其中的所有檔案都將永久刪除,這個動作無法復原。"
-#: src/app/main/data/dashboard.cljs:791, src/app/main/data/dashboard.cljs:825
+#: src/app/main/data/dashboard.cljs:809, src/app/main/data/dashboard.cljs:843
msgid "dashboard.delete-success-notification"
msgstr "%s 已成功刪除。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:153
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:227, src/app/main/ui/dashboard/team_form.cljs:157
msgid "dashboard.delete-team"
msgstr "刪除團隊"
-#: src/app/main/ui/dashboard/deleted.cljs:337
+#: src/app/main/ui/dashboard/deleted.cljs:343
msgid "dashboard.deleted.empty-state-description"
msgstr "垃圾桶目前是空的。已刪除的檔案與專案會顯示在這裡。"
-#: src/app/main/ui/dashboard/grid.cljs:248
+#: src/app/main/ui/dashboard/grid.cljs:249
msgid "dashboard.deleted.will-be-deleted-at"
msgstr "將於 %s 刪除"
-#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737
+#: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:738
msgid "dashboard.download-binary-file"
msgstr "下載 Penpot 檔案(.penpot)"
@@ -421,19 +421,19 @@ msgstr "建立複本"
msgid "dashboard.duplicate-multi"
msgstr "建立 %s 個檔案的複本"
-#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
+#: src/app/main/ui/dashboard/files.cljs:243, src/app/main/ui/dashboard/projects.cljs:318
msgid "dashboard.empty-placeholder-drafts-subtitle"
msgstr "專案成員建立草稿後,就會顯示在這裡。"
-#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
+#: src/app/main/ui/dashboard/files.cljs:238, src/app/main/ui/dashboard/projects.cljs:313
msgid "dashboard.empty-placeholder-drafts-title"
msgstr "尚無草稿。"
-#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:186, src/app/main/ui/dashboard/files.cljs:244, src/app/main/ui/dashboard/projects.cljs:319
msgid "dashboard.empty-placeholder-files-subtitle"
msgstr "專案成員建立檔案後,就會顯示在這裡。"
-#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
+#: src/app/main/ui/dashboard/deleted.cljs:183, src/app/main/ui/dashboard/files.cljs:239, src/app/main/ui/dashboard/projects.cljs:314
msgid "dashboard.empty-placeholder-files-title"
msgstr "尚無檔案。"
@@ -480,23 +480,23 @@ msgstr "匯入 .penpot 檔案"
msgid "dashboard.empty-project.start"
msgstr "開始打造精彩作品"
-#: src/app/main/data/dashboard.cljs:795
+#: src/app/main/data/dashboard.cljs:813
msgid "dashboard.errors.error-on-delete-files"
msgstr "刪除檔案時發生錯誤。"
-#: src/app/main/data/dashboard.cljs:828
+#: src/app/main/data/dashboard.cljs:846
msgid "dashboard.errors.error-on-delete-project"
msgstr "刪除專案 %s 時發生錯誤。"
-#: src/app/main/data/dashboard.cljs:923, src/app/main/ui/dashboard/file_menu.cljs:227
+#: src/app/main/data/dashboard.cljs:941, src/app/main/ui/dashboard/file_menu.cljs:227
msgid "dashboard.errors.error-on-restore-file"
msgstr "還原檔案 %s 時發生錯誤。"
-#: src/app/main/data/dashboard.cljs:924
+#: src/app/main/data/dashboard.cljs:942
msgid "dashboard.errors.error-on-restore-files"
msgstr "還原檔案時發生錯誤。"
-#: src/app/main/data/dashboard.cljs:956
+#: src/app/main/data/dashboard.cljs:974
msgid "dashboard.errors.error-on-restoring-project"
msgstr "還原專案 %s 及其檔案時發生錯誤。"
@@ -504,35 +504,35 @@ msgstr "還原專案 %s 及其檔案時發生錯誤。"
msgid "dashboard.export-binary-multi"
msgstr "下載 %s 個 Penpot 檔案(.penpot)"
-#: src/app/main/ui/workspace/main_menu.cljs:745
+#: src/app/main/ui/workspace/main_menu.cljs:746
msgid "dashboard.export-frames"
msgstr "將畫板匯出為 PDF"
-#: src/app/main/ui/exports/assets.cljs:202
+#: src/app/main/ui/exports/assets.cljs:194
msgid "dashboard.export-frames.title"
msgstr "匯出為 PDF"
-#: src/app/main/ui/exports/assets.cljs:108
+#: src/app/main/ui/exports/assets.cljs:103
msgid "dashboard.export-multiple.selected"
msgstr "'已選取 %s / %s 個元素'"
-#: src/app/main/ui/workspace/main_menu.cljs:728
+#: src/app/main/ui/workspace/main_menu.cljs:729
msgid "dashboard.export-shapes"
msgstr "匯出"
-#: src/app/main/ui/exports/assets.cljs:179
+#: src/app/main/ui/exports/assets.cljs:171
msgid "dashboard.export-shapes.how-to"
msgstr "你可以在設計屬性(右側欄底部)中,為元素新增匯出設定。"
-#: src/app/main/ui/exports/assets.cljs:183
+#: src/app/main/ui/exports/assets.cljs:175
msgid "dashboard.export-shapes.how-to-link"
msgstr "瞭解如何在 Penpot 中設定匯出。"
-#: src/app/main/ui/exports/assets.cljs:178
+#: src/app/main/ui/exports/assets.cljs:170
msgid "dashboard.export-shapes.no-elements"
msgstr "沒有任何元素設有匯出設定。"
-#: src/app/main/ui/exports/assets.cljs:189
+#: src/app/main/ui/exports/assets.cljs:181
msgid "dashboard.export-shapes.title"
msgstr "匯出所選項目"
@@ -554,50 +554,50 @@ msgstr "方格檢視"
msgid "dashboard.files-layout.list"
msgstr "清單檢視"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:652
msgid "dashboard.fonts.deleted-placeholder"
msgstr "缺少字型"
-#: src/app/main/ui/dashboard/fonts.cljs:235
+#: src/app/main/ui/dashboard/fonts.cljs:251
msgid "dashboard.fonts.dismiss-all"
msgstr "全部關閉"
-#: src/app/main/ui/dashboard/fonts.cljs:495
+#: src/app/main/ui/dashboard/fonts.cljs:528
msgid "dashboard.fonts.empty-placeholder"
msgstr "你上傳的自訂字型會顯示在這裡。"
-#: src/app/main/ui/dashboard/fonts.cljs:498
+#: src/app/main/ui/dashboard/fonts.cljs:531
msgid "dashboard.fonts.empty-placeholder-viewer"
msgstr "尚無自訂字型。"
-#: src/app/main/ui/dashboard/fonts.cljs:499
+#: src/app/main/ui/dashboard/fonts.cljs:532
msgid "dashboard.fonts.empty-placeholder-viewer-sub"
msgstr "專案成員上傳自訂字型後,就會顯示在這裡。"
-#: src/app/main/ui/dashboard/fonts.cljs:223
+#: src/app/main/ui/dashboard/fonts.cljs:237
msgid "dashboard.fonts.fonts-added"
msgid_plural "dashboard.fonts.fonts-added"
msgstr[0] "'已新增 %s 個字型'"
-#: src/app/main/ui/dashboard/fonts.cljs:198
+#: src/app/main/ui/dashboard/fonts.cljs:210
#, markdown
msgid "dashboard.fonts.hero-text1"
msgstr ""
"在這裡上傳的網頁字型會加入此團隊檔案中文字屬性的字型家族清單。字型家族名稱相同的字型會合併為**同一個字型家族**。您可以上傳以下格式的字型:**"
"TTF、OTF 和 WOFF**(只需上傳其中一種格式)。"
-#: src/app/main/ui/dashboard/fonts.cljs:211
+#: src/app/main/ui/dashboard/fonts.cljs:225
#, markdown
msgid "dashboard.fonts.hero-text2"
msgstr ""
"請僅上傳您擁有或已獲授權在 Penpot 中使用的字型。詳情請參閱 [Penpot "
"服務條款](%s)的內容權利章節。您也可以閱讀[字型授權相關資訊](https://www.typography.com/faq)。"
-#: src/app/main/ui/dashboard/fonts.cljs:231
+#: src/app/main/ui/dashboard/fonts.cljs:245
msgid "dashboard.fonts.upload-all"
msgstr "全部上傳"
-#: src/app/main/ui/dashboard/fonts.cljs:216
+#: src/app/main/ui/dashboard/fonts.cljs:230
#, markdown
msgid "dashboard.fonts.warning-text"
msgstr ""
@@ -605,23 +605,23 @@ msgstr ""
"app/)等字型垂直度量檢查工具來確認。此外,我們建議使用 [Transfonter](https://transfonter.org/) "
"產生網頁字型並修正錯誤。 "
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:240
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:305
msgid "dashboard.go-to-admin-console"
msgstr "前往管理員控制台"
-#: src/app/main/ui/dashboard/grid.cljs:252
+#: src/app/main/ui/dashboard/grid.cljs:253
msgid "dashboard.grid.last-modified-at"
msgstr "上次修改時間:%s"
-#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
+#: src/app/main/ui/dashboard/project_menu.cljs:110
msgid "dashboard.import"
msgstr "匯入 Penpot 檔案"
-#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
+#: src/app/main/data/imports.cljs:272, src/app/main/data/imports.cljs:275, src/app/main/ui/dashboard/import.cljs:343
msgid "dashboard.import.analyze-error"
msgstr "糟糕!無法匯入此檔案"
-#: src/app/main/ui/dashboard/import.cljs:597
+#: src/app/main/ui/dashboard/import.cljs:698
msgid "dashboard.import.auto-linked-libraries"
msgid_plural "dashboard.import.auto-linked-libraries"
msgstr[0] "已依名稱自動連結 %s 個資料庫。"
@@ -630,39 +630,39 @@ msgstr[0] "已依名稱自動連結 %s 個資料庫。"
msgid "dashboard.import.bad-url"
msgstr "匯入失敗。範本網址有誤"
-#: src/app/main/ui/dashboard/import.cljs:733
+#: src/app/main/ui/dashboard/import.cljs:838
msgid "dashboard.import.confirm-library-links"
msgstr "確認資料庫連結"
-#: src/app/main/ui/dashboard/import.cljs:619
+#: src/app/main/ui/dashboard/import.cljs:721
msgid "dashboard.import.import-error.check-error"
msgstr "無法驗證此檔案。"
-#: src/app/main/ui/dashboard/import.cljs:623
+#: src/app/main/ui/dashboard/import.cljs:725
msgid "dashboard.import.import-error.corrupt-file"
msgstr "此檔案似乎已損毀。"
-#: src/app/main/ui/dashboard/import.cljs:603
+#: src/app/main/ui/dashboard/import.cljs:704
msgid "dashboard.import.import-error.disclaimer"
msgstr "部分檔案未能匯入"
-#: src/app/main/ui/dashboard/import.cljs:607
+#: src/app/main/ui/dashboard/import.cljs:709
msgid "dashboard.import.import-error.message1"
msgstr "下列檔案有錯誤:"
-#: src/app/main/ui/dashboard/import.cljs:627
+#: src/app/main/ui/dashboard/import.cljs:729
msgid "dashboard.import.import-error.message2"
msgstr "有錯誤的檔案將不會上傳。"
-#: src/app/main/ui/dashboard/import.cljs:626
+#: src/app/main/ui/dashboard/import.cljs:728
msgid "dashboard.import.import-error.unknown-error"
msgstr "處理此檔案時發生錯誤。"
-#: src/app/main/ui/dashboard/import.cljs:593
+#: src/app/main/ui/dashboard/import.cljs:694
msgid "dashboard.import.import-message"
msgstr "已成功匯入 %s 個檔案。"
-#: src/app/main/ui/dashboard/import.cljs:587
+#: src/app/main/ui/dashboard/import.cljs:688
msgid "dashboard.import.import-warning"
msgstr "部分檔案含有無效物件,這些物件已移除。"
@@ -670,75 +670,47 @@ msgstr "部分檔案含有無效物件,這些物件已移除。"
msgid "dashboard.import.no-perms"
msgstr "您沒有權限將檔案匯入此團隊"
-#: src/app/main/ui/dashboard/import.cljs:134
-msgid "dashboard.import.progress.process-colors"
-msgstr "正在處理色彩"
-
-#: src/app/main/ui/dashboard/import.cljs:143, src/app/main/ui/dashboard/import.cljs:146
-msgid "dashboard.import.progress.process-components"
-msgstr "正在處理元件"
-
-#: src/app/main/ui/dashboard/import.cljs:140
-msgid "dashboard.import.progress.process-media"
-msgstr "正在處理媒體"
-
-#: src/app/main/ui/dashboard/import.cljs:131
-msgid "dashboard.import.progress.process-page"
-msgstr "正在處理頁面:%s"
-
-#: src/app/main/ui/dashboard/import.cljs:137
-msgid "dashboard.import.progress.process-typographies"
-msgstr "正在處理文字樣式"
-
-#: src/app/main/ui/dashboard/import.cljs:125
-msgid "dashboard.import.progress.upload-data"
-msgstr "正在將資料上傳至伺服器 (%s/%s)"
-
-#: src/app/main/ui/dashboard/import.cljs:128
-msgid "dashboard.import.progress.upload-media"
-msgstr "正在上傳檔案:%s"
-
-#: src/app/main/ui/dashboard/import.cljs:443
+#: src/app/main/ui/dashboard/import.cljs:431
msgid "dashboard.import.resolve-libraries"
msgstr "部分資料庫無法自動連結。請為每一項選擇正確的資料庫:"
-#: src/app/main/ui/dashboard/import.cljs:565
+#: src/app/main/ui/dashboard/import.cljs:553
msgid "dashboard.import.resolve-libraries-summary"
msgstr "確認前,請檢查資料庫連結:"
-#: src/app/main/ui/dashboard/import.cljs:521
+#: src/app/main/ui/dashboard/import.cljs:509
msgid "dashboard.import.summary.linked"
msgstr "已連結"
-#: src/app/main/ui/dashboard/import.cljs:558
+#: src/app/main/ui/dashboard/import.cljs:546
msgid "dashboard.import.summary.no-selection"
msgstr "尚未選取資料庫"
-#: src/app/main/ui/dashboard/team.cljs:881
+#: src/app/main/ui/dashboard/team.cljs:879
msgid "dashboard.invitation-modal.delete"
msgstr "你即將刪除寄給以下對象的邀請:"
-#: src/app/main/ui/dashboard/team.cljs:882
+#: src/app/main/ui/dashboard/team.cljs:880
msgid "dashboard.invitation-modal.resend"
msgstr "你即將重新寄送邀請給以下對象:"
-#: src/app/main/ui/dashboard/team.cljs:872
+#: src/app/main/ui/dashboard/team.cljs:867
msgid "dashboard.invitation-modal.title.delete-invitations"
msgstr "刪除邀請"
-#: src/app/main/ui/dashboard/team.cljs:873
+#: src/app/main/ui/dashboard/team.cljs:868
msgid "dashboard.invitation-modal.title.resend-invitations"
msgstr "重新寄送邀請"
-#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1202, src/app/main/ui/dashboard/team_form.cljs:156
+#: src/app/main/ui/dashboard/team.cljs:856, src/app/main/ui/dashboard/team.cljs:1203, src/app/main/ui/dashboard/team_form.cljs:160
msgid "dashboard.invitations.no-permission"
msgstr "你沒有權限邀請他人加入此團隊,也無法編輯或刪除邀請。"
-#: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860
+#: src/app/main/ui/dashboard/team.cljs:133, src/app/main/ui/dashboard/team.cljs:855
msgid "dashboard.invite-profile"
msgstr "邀請人員"
-#: src/app/main/ui/dashboard/team.cljs:152
+#: src/app/main/ui/dashboard/team.cljs:136
msgid "dashboard.invite-profile-disabled"
msgstr "你沒有權限邀請他人加入此團隊"
@@ -750,27 +722,27 @@ msgstr "離開組織"
msgid "dashboard.leave-organization.toast"
msgstr "你已不再是 %s 組織的成員。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:464
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:210, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:216, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:221, src/app/main/ui/dashboard/team.cljs:455
msgid "dashboard.leave-team"
msgstr "離開團隊"
-#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:166
+#: src/app/main/ui/dashboard/templates.cljs:78, src/app/main/ui/dashboard/templates.cljs:160
msgid "dashboard.libraries-and-templates"
msgstr "資料庫與範本"
-#: src/app/main/ui/dashboard/templates.cljs:263
+#: src/app/main/ui/dashboard/templates.cljs:257
msgid "dashboard.libraries-and-templates.description"
msgstr "這裡提供一些可加入專案的資料庫與範本"
-#: src/app/main/ui/dashboard/templates.cljs:167
+#: src/app/main/ui/dashboard/templates.cljs:161
msgid "dashboard.libraries-and-templates.explore"
msgstr "探索更多資料庫與範本,並了解如何貢獻"
-#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
+#: src/app/main/ui/dashboard/import.cljs:937, src/app/main/ui/workspace/libraries.cljs:281
msgid "dashboard.libraries-and-templates.import-error"
msgstr "匯入範本時發生問題,範本未匯入。"
-#: src/app/main/ui/dashboard/libraries.cljs:71
+#: src/app/main/ui/dashboard/libraries.cljs:76
msgid "dashboard.libraries-title"
msgstr "資料庫"
@@ -778,7 +750,7 @@ msgstr "資料庫"
msgid "dashboard.loading-files"
msgstr "正在載入你的檔案…"
-#: src/app/main/ui/dashboard/fonts.cljs:489
+#: src/app/main/ui/dashboard/fonts.cljs:520
msgid "dashboard.loading-fonts"
msgstr "正在載入你的字型…"
@@ -798,55 +770,55 @@ msgstr "將 %s 個檔案移至"
msgid "dashboard.move-to-other-team"
msgstr "移至其他團隊"
-#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
+#: src/app/main/ui/dashboard/files.cljs:127, src/app/main/ui/dashboard/projects.cljs:268
msgid "dashboard.new-file"
msgstr "+ 新增檔案"
-#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
+#: src/app/main/data/dashboard.cljs:524, src/app/main/data/dashboard.cljs:636
msgid "dashboard.new-file-prefix"
msgstr "新檔案"
-#: src/app/main/ui/dashboard/projects.cljs:59
+#: src/app/main/ui/dashboard/projects.cljs:67
msgid "dashboard.new-project"
msgstr "+ 新增專案"
-#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
+#: src/app/main/data/dashboard.cljs:269, src/app/main/data/dashboard.cljs:639
msgid "dashboard.new-project-prefix"
msgstr "新專案"
-#: src/app/main/ui/dashboard/search.cljs:76
+#: src/app/main/ui/dashboard/search.cljs:90
msgid "dashboard.no-matches-for"
msgstr "找不到符合「%s」的項目"
-#: src/app/main/ui/dashboard/team_form.cljs:158
+#: src/app/main/ui/dashboard/team_form.cljs:162
msgid "dashboard.no-organization-allows-create-team.message"
msgstr "你沒有權限在所屬的任何組織中新增團隊。"
-#: src/app/main/ui/dashboard/team_form.cljs:152
+#: src/app/main/ui/dashboard/team_form.cljs:156
msgid "dashboard.no-permission-create-team.message"
msgstr "你沒有權限在 %s 組織中建立團隊。如需更多資訊,請聯絡組織擁有者。"
-#: src/app/main/ui/dashboard/team_form.cljs:154
+#: src/app/main/ui/dashboard/team_form.cljs:158
msgid "dashboard.no-permission-delete-team.message"
msgstr "你沒有權限刪除隸屬於 %s 組織的團隊。如需更多資訊,請聯絡組織擁有者。"
-#: src/app/main/ui/dashboard/team_form.cljs:160
+#: src/app/main/ui/dashboard/team_form.cljs:164
msgid "dashboard.no-permission-move-team.message"
msgstr "你沒有權限移動隸屬於 %s 組織的團隊。如需更多資訊,請聯絡組織擁有者。"
-#: src/app/main/ui/dashboard/sidebar.cljs:400
+#: src/app/main/ui/dashboard/sidebar.cljs:393
msgid "dashboard.no-projects-placeholder"
msgstr "釘選的專案會顯示在這裡"
-#: src/app/main/ui/dashboard/comments.cljs:89
+#: src/app/main/ui/dashboard/comments.cljs:85
msgid "dashboard.notifications"
msgstr "通知"
-#: src/app/main/ui/auth/verify_token.cljs:38
+#: src/app/main/ui/auth/verify_token.cljs:36
msgid "dashboard.notifications.email-changed-successfully"
msgstr "您的電子郵件地址已成功更新"
-#: src/app/main/ui/auth/verify_token.cljs:32
+#: src/app/main/ui/auth/verify_token.cljs:30
msgid "dashboard.notifications.email-verified-successfully"
msgstr "您的電子郵件地址已成功驗證"
@@ -858,11 +830,11 @@ msgstr "通知設定已更新"
msgid "dashboard.notifications.password-saved"
msgstr "密碼已成功儲存!"
-#: src/app/main/ui/dashboard/comments.cljs:43
+#: src/app/main/ui/dashboard/comments.cljs:39
msgid "dashboard.notifications.view"
msgstr "查看通知"
-#: src/app/main/ui/dashboard/team.cljs:1725
+#: src/app/main/ui/dashboard/team.cljs:1740
msgid "dashboard.num-of-members"
msgstr "%s 位成員"
@@ -870,23 +842,23 @@ msgstr "%s 位成員"
msgid "dashboard.open-in-new-tab"
msgstr "在新分頁開啟檔案"
-#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:143, src/app/main/ui/dashboard/grid.cljs:427, src/app/main/ui/dashboard/grid.cljs:438, src/app/main/ui/dashboard/grid.cljs:480, src/app/main/ui/dashboard/projects.cljs:217, src/app/main/ui/dashboard/projects.cljs:274, src/app/main/ui/dashboard/sidebar.cljs:156
+#: src/app/main/ui/dashboard/deleted.cljs:167, src/app/main/ui/dashboard/files.cljs:153, src/app/main/ui/dashboard/grid.cljs:441, src/app/main/ui/dashboard/grid.cljs:452, src/app/main/ui/dashboard/grid.cljs:494, src/app/main/ui/dashboard/projects.cljs:226, src/app/main/ui/dashboard/projects.cljs:283, src/app/main/ui/dashboard/sidebar.cljs:143
msgid "dashboard.options"
msgstr "選項"
-#: src/app/main/ui/dashboard/team.cljs:1224
+#: src/app/main/ui/dashboard/team.cljs:1225
msgid "dashboard.order-invitations-by-role"
msgstr "依角色排序"
-#: src/app/main/ui/dashboard/team.cljs:1233
+#: src/app/main/ui/dashboard/team.cljs:1234
msgid "dashboard.order-invitations-by-status"
msgstr "依狀態排序"
-#: src/app/main/data/dashboard.cljs:703
+#: src/app/main/data/dashboard.cljs:721
msgid "dashboard.organization-deleted"
msgstr "%s 組織已刪除。"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:208, src/app/main/ui/dashboard/organization_team_switch.cljs:209
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:236, src/app/main/ui/dashboard/organization_team_switch.cljs:237
msgid "dashboard.other-teams"
msgstr "其他團隊"
@@ -910,11 +882,11 @@ msgstr "您現在是此團隊的擁有者。"
msgid "dashboard.permissions-change.viewer"
msgstr "您現在是此團隊的檢視者。"
-#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:58, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:50, src/app/main/ui/dashboard/projects.cljs:364, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1257, src/app/main/ui/dashboard/team.cljs:1537, src/app/main/ui/dashboard/team.cljs:1644
+#: src/app/main/ui/dashboard/file_menu.cljs:38, src/app/main/ui/dashboard/fonts.cljs:51, src/app/main/ui/dashboard/libraries.cljs:60, src/app/main/ui/dashboard/organization_team_switch.cljs:57, src/app/main/ui/dashboard/projects.cljs:57, src/app/main/ui/dashboard/projects.cljs:373, src/app/main/ui/dashboard/search.cljs:49, src/app/main/ui/dashboard/team.cljs:638, src/app/main/ui/dashboard/team.cljs:1258, src/app/main/ui/dashboard/team.cljs:1548, src/app/main/ui/dashboard/team.cljs:1655
msgid "dashboard.personal-projects"
msgstr "個人專案"
-#: src/app/main/ui/dashboard/files.cljs:122, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:251
+#: src/app/main/ui/dashboard/files.cljs:132, src/app/main/ui/dashboard/project_menu.cljs:98, src/app/main/ui/dashboard/projects.cljs:260
msgid "dashboard.pin-unpin"
msgstr "釘選/取消釘選"
@@ -930,27 +902,27 @@ msgstr "無法解析外掛資訊清單"
msgid "dashboard.plugins.try-plugin"
msgstr "試用外掛: "
-#: src/app/main/data/dashboard.cljs:736
+#: src/app/main/data/dashboard.cljs:754
msgid "dashboard.progress-notification.deleting-files"
msgstr "正在刪除檔案…"
-#: src/app/main/data/dashboard.cljs:857
+#: src/app/main/data/dashboard.cljs:875
msgid "dashboard.progress-notification.restoring-files"
msgstr "正在還原檔案…"
-#: src/app/main/data/dashboard.cljs:737
+#: src/app/main/data/dashboard.cljs:755
msgid "dashboard.progress-notification.slow-delete"
msgstr "刪除所需時間比預期長"
-#: src/app/main/data/dashboard.cljs:858
+#: src/app/main/data/dashboard.cljs:876
msgid "dashboard.progress-notification.slow-restore"
msgstr "還原所需時間比預期長"
-#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
+#: src/app/main/ui/dashboard/deleted.cljs:69, src/app/main/ui/dashboard/projects.cljs:58
msgid "dashboard.projects-title"
msgstr "專案"
-#: src/app/main/ui/settings/profile.cljs:86
+#: src/app/main/ui/settings/profile.cljs:92
msgid "dashboard.remove-account"
msgstr "想要移除您的帳號嗎?"
@@ -958,107 +930,107 @@ msgstr "想要移除您的帳號嗎?"
msgid "dashboard.removed-from-team"
msgstr "您已不再是「%s」團隊的成員。"
-#: src/app/main/ui/dashboard/deleted.cljs:280
+#: src/app/main/ui/dashboard/deleted.cljs:286
msgid "dashboard.restore-all-confirmation.description"
msgstr "即將還原您所有的專案與檔案,這可能需要一些時間。"
-#: src/app/main/ui/dashboard/deleted.cljs:279
+#: src/app/main/ui/dashboard/deleted.cljs:285
msgid "dashboard.restore-all-confirmation.title"
msgstr "還原所有專案與檔案"
-#: src/app/main/ui/dashboard/deleted.cljs:317
+#: src/app/main/ui/dashboard/deleted.cljs:323
msgid "dashboard.restore-all-deleted-button"
msgstr "全部還原"
-#: src/app/main/data/dashboard.cljs:917
+#: src/app/main/data/dashboard.cljs:935
msgid "dashboard.restore-files-success-notification"
msgstr "已成功還原 %s 個檔案。"
-#: src/app/main/ui/dashboard/deleted.cljs:87
+#: src/app/main/ui/dashboard/deleted.cljs:92
msgid "dashboard.restore-project-button"
msgstr "還原專案"
-#: src/app/main/ui/dashboard/deleted.cljs:44
+#: src/app/main/ui/dashboard/deleted.cljs:45
msgid "dashboard.restore-project-confirmation.description"
msgstr "即將還原「%s」專案及其中的所有檔案。"
-#: src/app/main/ui/dashboard/deleted.cljs:43
+#: src/app/main/ui/dashboard/deleted.cljs:44
msgid "dashboard.restore-project-confirmation.title"
msgstr "還原專案"
-#: src/app/main/data/dashboard.cljs:889, src/app/main/data/dashboard.cljs:916, src/app/main/data/dashboard.cljs:953, src/app/main/ui/dashboard/file_menu.cljs:224
+#: src/app/main/data/dashboard.cljs:907, src/app/main/data/dashboard.cljs:934, src/app/main/data/dashboard.cljs:971, src/app/main/ui/dashboard/file_menu.cljs:224
msgid "dashboard.restore-success-notification"
msgstr "%s 已成功還原。"
-#: src/app/main/ui/settings/profile.cljs:78
+#: src/app/main/ui/settings/profile.cljs:82
msgid "dashboard.save-settings"
msgstr "儲存設定"
-#: src/app/main/ui/dashboard/sidebar.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:229, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
+#: src/app/main/ui/dashboard/sidebar.cljs:215, src/app/main/ui/dashboard/sidebar.cljs:216, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
msgid "dashboard.search-placeholder"
msgstr "搜尋…"
-#: src/app/main/ui/dashboard/search.cljs:71
+#: src/app/main/ui/dashboard/search.cljs:82
msgid "dashboard.searching-for"
msgstr "正在搜尋「%s」…"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:180
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:263
msgid "dashboard.section.organizations"
msgstr "組織"
-#: src/app/main/ui/dashboard/organization_team_switch.cljs:249
+#: src/app/main/ui/dashboard/organization_team_switch.cljs:363
msgid "dashboard.section.teams"
msgstr "團隊"
-#: src/app/main/data/nitrate.cljs:517
+#: src/app/main/data/nitrate.cljs:529
msgid "dashboard.select-organization-modal.accept"
msgstr "加入組織"
-#: src/app/main/data/nitrate.cljs:515
+#: src/app/main/data/nitrate.cljs:527
msgid "dashboard.select-organization-modal.choose"
msgstr "選擇組織:"
-#: src/app/main/ui/dashboard/team.cljs:1041
+#: src/app/main/ui/dashboard/team.cljs:1042
msgid "dashboard.select-organization-modal.external-invitations-warning"
msgstr "「%s」僅允許組織成員加入旗下團隊。所有寄給組織外部人員且尚未接受的邀請都將撤銷。"
-#: src/app/main/ui/dashboard/team.cljs:1037
+#: src/app/main/ui/dashboard/team.cljs:1038
msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled"
msgstr "寄給外部使用者且尚未接受的邀請將會取消。"
-#: src/app/main/data/nitrate.cljs:583
+#: src/app/main/data/nitrate.cljs:595
msgid "dashboard.select-organization-modal.permission-info"
msgstr "這裡會列出您所屬且有權將團隊移入的組織。"
-#: src/app/main/data/nitrate.cljs:507
+#: src/app/main/data/nitrate.cljs:519
msgid "dashboard.select-organization-modal.permission-info-add"
msgstr "這裡會列出您所屬且有權在其中建立團隊或將現有團隊加入的組織。"
-#: src/app/main/data/nitrate.cljs:516
+#: src/app/main/data/nitrate.cljs:528
msgid "dashboard.select-organization-modal.select"
msgstr "選擇組織"
-#: src/app/main/data/nitrate.cljs:514, src/app/main/data/nitrate.cljs:534, src/app/main/ui/dashboard/team_form.cljs:157
+#: src/app/main/data/nitrate.cljs:526, src/app/main/data/nitrate.cljs:546, src/app/main/ui/dashboard/team_form.cljs:161
msgid "dashboard.select-organization-modal.title"
msgstr "將團隊加入組織"
-#: src/app/main/ui/settings/options.cljs:66
+#: src/app/main/ui/settings/options.cljs:69
msgid "dashboard.select-ui-language"
msgstr "選擇介面語言"
-#: src/app/main/ui/settings/options.cljs:73
+#: src/app/main/ui/settings/options.cljs:79
msgid "dashboard.select-ui-theme"
msgstr "選擇主題"
-#: src/app/main/ui/settings/options.cljs:76
+#: src/app/main/ui/settings/options.cljs:82
msgid "dashboard.select-ui-theme.dark"
msgstr "Penpot 深色(預設)"
-#: src/app/main/ui/settings/options.cljs:77
+#: src/app/main/ui/settings/options.cljs:83
msgid "dashboard.select-ui-theme.light"
msgstr "Penpot 淺色"
-#: src/app/main/ui/settings/options.cljs:78
+#: src/app/main/ui/settings/options.cljs:84
msgid "dashboard.select-ui-theme.system"
msgstr "系統主題"
@@ -1122,11 +1094,11 @@ msgstr "更新設定"
msgid "dashboard.settings.notifications.title"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:288
+#: src/app/main/ui/dashboard/projects.cljs:297
msgid "dashboard.show-all-files"
msgstr "顯示所有檔案"
-#: src/app/main/ui/workspace/main_menu.cljs:718
+#: src/app/main/ui/workspace/main_menu.cljs:719
msgid "dashboard.show-version-history"
msgstr "版本歷史記錄"
@@ -1148,7 +1120,7 @@ msgstr[0] "已成功建立您檔案的複本"
msgid "dashboard.success-duplicate-project"
msgstr "已成功建立您專案的複本"
-#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:715, src/app/main/ui/dashboard/sidebar.cljs:143
+#: src/app/main/ui/dashboard/file_menu.cljs:162, src/app/main/ui/dashboard/grid.cljs:729, src/app/main/ui/dashboard/sidebar.cljs:130
msgid "dashboard.success-move-file"
msgstr "已成功移動您的檔案"
@@ -1160,174 +1132,174 @@ msgstr "已成功移動您的檔案"
msgid "dashboard.success-move-project"
msgstr "已成功移動您的專案"
-#: src/app/main/data/common.cljs:266
+#: src/app/main/data/common.cljs:268
#, backend
msgid "dashboard.team-belong-organization"
msgstr "%s 現已隸屬於 %s"
-#: src/app/main/ui/dashboard/team.cljs:1669
+#: src/app/main/ui/dashboard/team.cljs:1682
msgid "dashboard.team-info"
msgstr "團隊資訊"
-#: src/app/main/ui/dashboard/team.cljs:1714
+#: src/app/main/ui/dashboard/team.cljs:1728
msgid "dashboard.team-members"
msgstr "團隊成員"
-#: src/app/main/data/common.cljs:267
+#: src/app/main/data/common.cljs:269
#, backend
msgid "dashboard.team-no-longer-belong-organization"
msgstr "%s 已不再隸屬於 %s"
-#: src/app/main/ui/dashboard/team.cljs:1676
+#: src/app/main/ui/dashboard/team.cljs:1689
msgid "dashboard.team-organization"
msgstr "團隊所屬組織"
-#: src/app/main/ui/dashboard/team.cljs:1710
+#: src/app/main/ui/dashboard/team.cljs:1724
msgid "dashboard.team-organization.add"
msgstr "加入組織"
-#: src/app/main/data/nitrate.cljs:533, src/app/main/data/nitrate.cljs:590
+#: src/app/main/data/nitrate.cljs:545, src/app/main/data/nitrate.cljs:602
msgid "dashboard.team-organization.add.no-valid-organizations"
msgstr "您沒有權限將此團隊加入您所屬的任何組織。"
-#: src/app/main/ui/dashboard/team.cljs:1699
+#: src/app/main/ui/dashboard/team.cljs:1713
msgid "dashboard.team-organization.change"
msgstr "變更團隊所屬組織"
-#: src/app/main/ui/dashboard/team.cljs:948
+#: src/app/main/ui/dashboard/team.cljs:946
msgid "dashboard.team-organization.disabled-organization-tooltip"
msgstr "只能邀請您所屬組織內的人員。"
-#: src/app/main/ui/dashboard/team.cljs:1706
+#: src/app/main/ui/dashboard/team.cljs:1720
msgid "dashboard.team-organization.none"
msgstr "此團隊不隸屬於任何組織"
-#: src/app/main/ui/dashboard/team.cljs:1702
+#: src/app/main/ui/dashboard/team.cljs:1716
msgid "dashboard.team-organization.remove"
msgstr "將團隊移出組織"
-#: src/app/main/ui/dashboard/team.cljs:1729
+#: src/app/main/ui/dashboard/team.cljs:1744
msgid "dashboard.team-projects"
msgstr "團隊專案"
-#: src/app/main/ui/dashboard/templates.cljs:132
+#: src/app/main/ui/dashboard/templates.cljs:125
msgid "dashboard.template.add-to-project"
msgstr "新增至你的專案"
-#: src/app/main/ui/settings/options.cljs:71
+#: src/app/main/ui/settings/options.cljs:77
msgid "dashboard.theme-change"
msgstr "介面主題"
-#: src/app/main/ui/dashboard/search.cljs:58
+#: src/app/main/ui/dashboard/search.cljs:63
msgid "dashboard.title-search"
msgstr "搜尋結果"
-#: src/app/main/ui/dashboard/deleted.cljs:307
+#: src/app/main/ui/dashboard/deleted.cljs:313
msgid "dashboard.trash-info-text-part1"
msgstr "已刪除的檔案會在垃圾桶中保留"
-#: src/app/main/ui/dashboard/deleted.cljs:309
+#: src/app/main/ui/dashboard/deleted.cljs:315
msgid "dashboard.trash-info-text-part2"
msgstr " %s 天. "
-#: src/app/main/ui/dashboard/deleted.cljs:310
+#: src/app/main/ui/dashboard/deleted.cljs:316
msgid "dashboard.trash-info-text-part3"
msgstr "之後就會永久刪除。"
-#: src/app/main/ui/dashboard/deleted.cljs:312
+#: src/app/main/ui/dashboard/deleted.cljs:318
msgid "dashboard.trash-info-text-part4"
msgstr "如果改變心意,你可以從各個檔案的選單還原檔案,或將其永久刪除。"
-#: src/app/main/ui/dashboard/search.cljs:66
+#: src/app/main/ui/dashboard/search.cljs:74
msgid "dashboard.type-something"
msgstr "輸入以搜尋"
-#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:692
+#: src/app/main/ui/dashboard/file_menu.cljs:322, src/app/main/ui/workspace/main_menu.cljs:693
msgid "dashboard.unpublish-shared"
msgstr "取消發布資料庫"
-#: src/app/main/ui/settings/options.cljs:82
+#: src/app/main/ui/settings/options.cljs:88
msgid "dashboard.update-settings"
msgstr "更新設定"
-#: src/app/main/data/dashboard.cljs:671
+#: src/app/main/data/dashboard.cljs:689
#, backend
msgid "dashboard.user-no-longer-belong-organization"
msgstr "你已不再是 %s 組織的成員"
-#: src/app/main/ui/settings/options.cljs:109
+#: src/app/main/ui/settings/options.cljs:115
msgid "dashboard.webgl-switch.beta"
msgstr "測試版"
-#: src/app/main/ui/settings/options.cljs:110
+#: src/app/main/ui/settings/options.cljs:116
msgid "dashboard.webgl-switch.description"
msgstr "WebGL 算繪可提升效能,但目前仍在測試階段,可能較不穩定。畫布、匯出檔案(SVG/PDF)與檢視模式的顯示效果可能略有差異。"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.disabled"
msgstr "已停用"
-#: src/app/main/ui/settings/options.cljs:113
+#: src/app/main/ui/settings/options.cljs:119
msgid "dashboard.webgl-switch.enabled"
msgstr "已啟用"
-#: src/app/main/ui/settings/options.cljs:116
+#: src/app/main/ui/settings/options.cljs:122
msgid "dashboard.webgl-switch.feedback"
msgstr "提供意見回饋"
-#: src/app/main/ui/settings/options.cljs:112
+#: src/app/main/ui/settings/options.cljs:118
msgid "dashboard.webgl-switch.status"
msgstr "狀態"
-#: src/app/main/ui/settings/options.cljs:108
+#: src/app/main/ui/settings/options.cljs:114
msgid "dashboard.webgl-switch.title"
msgstr "WebGL 渲染"
-#: src/app/main/ui/dashboard/team.cljs:1404
+#: src/app/main/ui/dashboard/team.cljs:1408
msgid "dashboard.webhooks.active"
msgstr "啟用"
-#: src/app/main/ui/dashboard/team.cljs:1405
+#: src/app/main/ui/dashboard/team.cljs:1409
msgid "dashboard.webhooks.active.explain"
msgstr "觸發此 webhook 時,將傳送事件的詳細資訊"
-#: src/app/main/ui/dashboard/team.cljs:1447
+#: src/app/main/ui/dashboard/team.cljs:1456
msgid "dashboard.webhooks.cant-edit"
msgstr "您只能刪除或修改自己建立的 webhook。"
-#: src/app/main/ui/dashboard/team.cljs:1395
+#: src/app/main/ui/dashboard/team.cljs:1399
msgid "dashboard.webhooks.content-type"
msgstr "內容類型"
-#: src/app/main/ui/dashboard/team.cljs:1427
+#: src/app/main/ui/dashboard/team.cljs:1433
msgid "dashboard.webhooks.create"
msgstr "建立 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1330
+#: src/app/main/ui/dashboard/team.cljs:1331
msgid "dashboard.webhooks.create.success"
msgstr "已成功建立 webhook。"
-#: src/app/main/ui/dashboard/team.cljs:1424
+#: src/app/main/ui/dashboard/team.cljs:1428
msgid "dashboard.webhooks.description"
msgstr "透過 webhook,您可以輕鬆讓其他網站和應用程式在 Penpot 發生特定事件時收到通知。我們會向您提供的每個網址傳送 POST 請求。"
-#: src/app/main/ui/dashboard/team.cljs:1551
+#: src/app/main/ui/dashboard/team.cljs:1562
msgid "dashboard.webhooks.empty.add-one"
msgstr "按一下「新增 webhook」按鈕即可新增。"
-#: src/app/main/ui/dashboard/team.cljs:1550
+#: src/app/main/ui/dashboard/team.cljs:1561
msgid "dashboard.webhooks.empty.no-webhooks"
msgstr "尚未建立任何 webhook。"
-#: src/app/main/ui/settings.cljs:36
+#: src/app/main/ui/settings.cljs:42
msgid "dashboard.your-account-title"
msgstr "您的帳號"
-#: src/app/main/ui/settings/profile.cljs:70
+#: src/app/main/ui/settings/profile.cljs:72
msgid "dashboard.your-email"
msgstr "電子郵件"
-#: src/app/main/ui/settings/profile.cljs:62
+#: src/app/main/ui/settings/profile.cljs:64
msgid "dashboard.your-name"
msgstr "您的姓名"
@@ -1343,11 +1315,11 @@ msgstr "注意"
msgid "ds.component-subtitle"
msgstr "待更新的元件:"
-#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442
+#: src/app/main/ui/workspace/plugins.cljs:443, src/app/main/ui/workspace/plugins.cljs:508
msgid "ds.confirm-allow"
msgstr "允許"
-#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:327, src/app/main/ui/settings/subscription.cljs:360, src/app/main/ui/settings/subscription.cljs:844, src/app/main/ui/settings/subscription.cljs:893, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
+#: src/app/main/ui/comments.cljs:719, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:331, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:869, src/app/main/ui/settings/subscription.cljs:920, src/app/main/ui/settings/subscription.cljs:930, src/app/main/ui/workspace/plugins.cljs:438, src/app/main/ui/workspace/plugins.cljs:503
msgid "ds.confirm-cancel"
msgstr "取消"
@@ -1367,7 +1339,7 @@ msgstr "已啟用的集合或主題中沒有適用的 tokens。"
msgid "ds.inputs.numeric-input.no-matches"
msgstr "找不到符合的項目。"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270
+#: src/app/main/ui/ds/controls/numeric_input.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:177, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:267
msgid "ds.inputs.numeric-input.open-token-list-dropdown"
msgstr "開啟 token 清單"
@@ -1383,15 +1355,15 @@ msgstr "此帳號不允許使用此驗證服務提供者"
msgid "errors.auth-provider-not-configured"
msgstr "尚未設定驗證服務提供者。"
-#: src/app/main/errors.cljs:580
+#: src/app/main/errors.cljs:742
msgid "errors.auth.unable-to-login"
msgstr "您似乎尚未登入,或登入階段已過期。"
-#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178
+#: src/app/main/data/fonts.cljs:310, src/app/main/ui/dashboard/fonts.cljs:143, src/app/main/ui/dashboard/fonts.cljs:187
msgid "errors.bad-font"
msgstr "無法載入字型 %s"
-#: src/app/main/data/fonts.cljs:255
+#: src/app/main/data/fonts.cljs:309
msgid "errors.bad-font-plural"
msgstr "無法載入以下字型:%s"
@@ -1403,51 +1375,51 @@ msgstr "無法上傳媒體檔案。"
msgid "errors.character-limit-exceeded"
msgstr "已超過字元數上限"
-#: src/app/main/data/workspace/libraries.cljs:1691
+#: src/app/main/data/workspace/libraries.cljs:1778
msgid "errors.circular-library-reference"
msgstr "無法新增資料庫:這會造成循環相依"
-#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248
+#: src/app/main/ui/components/mcp_menu.cljs:34, src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:274
msgid "errors.clipboard-api-unavailable"
msgstr "剪貼簿 API 無法使用。請透過 HTTPS 提供 Penpot 服務,以啟用剪貼簿存取功能"
-#: src/app/main/data/workspace/clipboard.cljs:514
+#: src/app/main/data/workspace/clipboard.cljs:554
msgid "errors.clipboard-not-implemented"
msgstr "你的瀏覽器無法執行此操作"
-#: src/app/util/clipboard.cljs:245
+#: src/app/util/clipboard.cljs:271
msgid "errors.clipboard-permission-denied"
msgstr "剪貼簿存取遭拒。請在瀏覽器中允許存取剪貼簿,才能貼上內容"
-#: src/app/main/errors.cljs:773
+#: src/app/main/errors.cljs:944
msgid "errors.comment-error"
msgstr "留言發生錯誤"
-#: src/app/main/errors.cljs:842
+#: src/app/main/errors.cljs:1013
msgid "errors.deprecated"
msgstr "很抱歉!這是舊版檔案,使用了已停用的 Penpot 資產類型,因此無法開啟。"
-#: src/app/main/errors.cljs:845
+#: src/app/main/errors.cljs:1016
msgid "errors.deprecated.contact.after"
msgstr "讓我們協助你。"
-#: src/app/main/errors.cljs:843
+#: src/app/main/errors.cljs:1014
msgid "errors.deprecated.contact.before"
msgstr "雖然 Penpot 已不再支援這類資產,你仍可"
-#: src/app/main/errors.cljs:844
+#: src/app/main/errors.cljs:1015
msgid "errors.deprecated.contact.text"
msgstr "聯絡我們"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:515
+#: src/app/main/data/workspace/tokens/library_edit.cljs:549
msgid "errors.drop-token-set-parent-to-child"
msgstr "無法將父集合拖放到自身的子路徑下。"
-#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:148, src/app/main/ui/settings/change_email.cljs:29
+#: src/app/main/ui/auth/register.cljs:111, src/app/main/ui/auth/verify_token.cljs:121, src/app/main/ui/settings/change_email.cljs:30
msgid "errors.email-already-exists"
msgstr "此電子郵件地址已被使用"
-#: src/app/main/ui/auth/verify_token.cljs:153
+#: src/app/main/ui/auth/verify_token.cljs:126
msgid "errors.email-already-validated"
msgstr "此電子郵件地址已完成驗證。"
@@ -1459,27 +1431,27 @@ msgstr "不能使用你的電子郵件地址作為密碼"
msgid "errors.email-does-not-match-invitation"
msgstr "電子郵件地址與邀請中的地址不符。"
-#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:243
+#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:99, src/app/main/ui/dashboard/team.cljs:227
msgid "errors.email-domain-not-allowed"
msgstr "不允許使用此網域"
-#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:740, src/app/main/ui/settings/change_email.cljs:37
+#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:102, src/app/main/ui/auth/register.cljs:105, src/app/main/ui/dashboard/team.cljs:735, src/app/main/ui/settings/change_email.cljs:38
msgid "errors.email-has-permanent-bounces"
msgstr "電子郵件地址「%s」已有多次永久退信紀錄。"
-#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1128, src/app/main/ui/onboarding/team_choice.cljs:122
+#: src/app/main/ui/dashboard/team.cljs:223, src/app/main/ui/dashboard/team.cljs:1129, src/app/main/ui/onboarding/team_choice.cljs:122
msgid "errors.email-spam-or-permanent-bounces"
msgstr "電子郵件地址 «%s» 已被回報為垃圾郵件來源,或寄往此地址的郵件遭到永久退信。"
-#: src/app/main/errors.cljs:819
+#: src/app/main/errors.cljs:990
msgid "errors.feature-mismatch"
msgstr "您正要開啟的檔案已啟用「%s」功能,但目前的 Penpot 版本不支援此功能,或已停用此功能。"
-#: src/app/main/errors.cljs:823, src/app/main/errors.cljs:837
+#: src/app/main/errors.cljs:994, src/app/main/errors.cljs:1008
msgid "errors.feature-not-supported"
msgstr "不支援「%s」功能。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:370, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:305, ../common/src/app/common/files/tokens.cljc:217, ../common/src/app/common/files/tokens.cljc:298, ../common/src/app/common/files/tokens.cljc:339, ../common/src/app/common/schema.cljc:1063
msgid "errors.field-max-length"
msgstr "最多只能包含 %s 個字元。"
@@ -1487,7 +1459,7 @@ msgstr "最多只能包含 %s 個字元。"
msgid "errors.field-min-length"
msgstr "至少須包含 1 個字元。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
+#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:477, ../common/src/app/common/schema/messages.cljc:64, ../common/src/app/common/schema.cljc:1072
msgid "errors.field-missing"
msgstr "欄位不可留空"
@@ -1495,19 +1467,19 @@ msgstr "欄位不可留空"
msgid "errors.field-not-all-whitespace"
msgstr "名稱至少須包含一個非空格字元。"
-#: src/app/main/errors.cljs:815
+#: src/app/main/errors.cljs:986
msgid "errors.file-feature-mismatch"
msgstr "目前啟用的功能似乎與您要開啟的檔案所使用的功能不一致。必須先完成「%s」的資料遷移,才能開啟檔案。"
-#: src/app/main/ui/dashboard/fonts.cljs:341
+#: src/app/main/ui/dashboard/fonts.cljs:358
msgid "errors.font-family-invalid-chars"
msgstr "字型家族名稱只能包含英文字母、數字、空格、連字號、底線和句點。"
-#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:479, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:158, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1131, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:966
+#: src/app/main/data/auth.cljs:352, src/app/main/errors.cljs:564, src/app/main/ui/auth/login.cljs:116, src/app/main/ui/auth/register.cljs:131, src/app/main/ui/auth/register.cljs:317, src/app/main/ui/auth/verify_token.cljs:131, src/app/main/ui/dashboard/fonts.cljs:125, src/app/main/ui/dashboard/fonts.cljs:403, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1132, src/app/main/ui/onboarding/team_choice.cljs:125, src/app/main/ui/settings/feedback.cljs:84, src/app/main/ui/settings/integrations.cljs:143, src/app/main/ui/workspace/main_menu.cljs:967
msgid "errors.generic"
msgstr "發生錯誤。"
-#: src/app/main/errors.cljs:752
+#: src/app/main/errors.cljs:923
msgid "errors.internal-worker-error"
msgstr "Web Worker 發生錯誤。"
@@ -1523,7 +1495,7 @@ msgstr "資料無效"
msgid "errors.invalid-email"
msgstr "請輸入有效的電子郵件地址"
-#: src/app/main/ui/settings/change_email.cljs:62
+#: src/app/main/ui/settings/change_email.cljs:63
msgid "errors.invalid-email-confirmation"
msgstr "兩次輸入的電子郵件地址必須一致"
@@ -1555,11 +1527,11 @@ msgstr "此邀請可能已取消或過期。"
msgid "errors.ldap-disabled"
msgstr "LDAP 驗證已停用。"
-#: src/app/main/errors.cljs:831, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/dashboard/team.cljs:1123, src/app/main/ui/onboarding/team_choice.cljs:117
+#: src/app/main/errors.cljs:1002, src/app/main/ui/dashboard/team.cljs:218, src/app/main/ui/dashboard/team.cljs:1124, src/app/main/ui/onboarding/team_choice.cljs:117
msgid "errors.max-quota-reached"
msgstr "您已達到「%s」的配額上限。請聯絡支援團隊。"
-#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1119, src/app/main/ui/onboarding/team_choice.cljs:113
+#: src/app/main/ui/dashboard/team.cljs:214, src/app/main/ui/dashboard/team.cljs:1120, src/app/main/ui/onboarding/team_choice.cljs:113
msgid "errors.maximum-invitations-by-request-reached"
msgstr "已達到單次可邀請的電子郵件地址數量上限(%s)"
@@ -1575,19 +1547,19 @@ msgstr "圖片內容似乎與副檔名不符。"
msgid "errors.media-type-not-allowed"
msgstr "這似乎不是有效的圖片。"
-#: src/app/main/ui/dashboard/team.cljs:735
+#: src/app/main/ui/dashboard/team.cljs:730
msgid "errors.member-is-muted"
msgstr "您邀請的使用者已因垃圾郵件檢舉或退信率過高而暫停接收電子郵件。"
-#: src/app/main/errors.cljs:805
+#: src/app/main/errors.cljs:976
msgid "errors.migration-in-progress"
msgstr "正在進行資料遷移"
-#: src/app/main/errors.cljs:707
+#: src/app/main/errors.cljs:869
msgid "errors.only-creator-can-lock"
msgstr "只有此版本的建立者可以鎖定此版本"
-#: src/app/main/errors.cljs:715
+#: src/app/main/errors.cljs:877
msgid "errors.only-creator-can-unlock"
msgstr "只有此版本的建立者可以解除鎖定"
@@ -1599,7 +1571,7 @@ msgstr "退出組織時發生問題,請再試一次。"
msgid "errors.organization-leave.organization-owner-cannot-leave"
msgstr "組織擁有者無法退出組織。"
-#: src/app/main/ui/auth/verify_token.cljs:125
+#: src/app/main/ui/auth/verify_token.cljs:98
msgid "errors.organization-not-found"
msgstr "該組織不存在"
@@ -1611,7 +1583,7 @@ msgstr "確認密碼必須與密碼一致"
msgid "errors.password-too-short"
msgstr "密碼至少須包含 8 個字元"
-#: src/app/main/errors.cljs:688
+#: src/app/main/errors.cljs:850
msgid "errors.paste-data-validation"
msgstr "剪貼簿中的資料無效"
@@ -1619,7 +1591,7 @@ msgstr "剪貼簿中的資料無效"
msgid "errors.profile-blocked"
msgstr "此帳號已遭封鎖"
-#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1114, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33
+#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:209, src/app/main/ui/dashboard/team.cljs:726, src/app/main/ui/dashboard/team.cljs:1115, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:34
msgid "errors.profile-is-muted"
msgstr "由於垃圾郵件檢舉或退信率過高,系統已停止寄送電子郵件至您的帳號。"
@@ -1627,23 +1599,23 @@ msgstr "由於垃圾郵件檢舉或退信率過高,系統已停止寄送電子
msgid "errors.registration-disabled"
msgstr "目前未開放註冊。"
-#: src/app/main/errors.cljs:538
+#: src/app/main/errors.cljs:700
msgid "errors.save-failed"
msgstr "尚未確認您的最新變更是否已儲存,且儲存功能可能不會自動恢復。請勿關閉或重新載入此分頁,以免遺失變更。請聯絡支援人員尋求協助。"
-#: src/app/main/errors.cljs:764
+#: src/app/main/errors.cljs:935
msgid "errors.svg-parser.invalid-svg"
msgstr "SVG 無效或格式錯誤"
-#: src/app/main/errors.cljs:810
+#: src/app/main/errors.cljs:981
msgid "errors.team-feature-mismatch"
msgstr "偵測到不相容的功能「%s」"
-#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:505
+#: src/app/main/data/nitrate.cljs:192, src/app/main/ui/dashboard/team.cljs:496
msgid "errors.team-leave.insufficient-members"
msgstr "團隊成員不足,無法離開團隊。您可能需要刪除團隊。"
-#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:508
+#: src/app/main/data/nitrate.cljs:193, src/app/main/ui/dashboard/team.cljs:499
msgid "errors.team-leave.member-does-not-exists"
msgstr "您要指派的成員不存在。"
@@ -1651,7 +1623,7 @@ msgstr "您要指派的成員不存在。"
msgid "errors.team-leave.only-owner-can-delete"
msgstr "只有團隊擁有者可以刪除團隊。"
-#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:511
+#: src/app/main/data/nitrate.cljs:194, src/app/main/ui/dashboard/team.cljs:502
msgid "errors.team-leave.owner-cant-leave"
msgstr "擁有者無法離開團隊,請先將擁有者角色指派給其他成員。"
@@ -1663,11 +1635,11 @@ msgstr "團隊名稱不能包含下列任一字元:'.'、':' 或 '/'"
msgid "errors.token-set-already-exists"
msgstr "已存在同名的集合"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:514
+#: src/app/main/data/workspace/tokens/library_edit.cljs:548
msgid "errors.token-set-exists-on-drop"
msgstr "無法完成拖放,此路徑已有同名集合。"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:274, src/app/main/data/workspace/tokens/library_edit.cljs:293, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
+#: src/app/main/data/workspace/tokens/library_edit.cljs:298, src/app/main/data/workspace/tokens/library_edit.cljs:318, ../common/src/app/common/files/tokens.cljc:318, ../common/src/app/common/files/tokens.cljc:332
msgid "errors.token-theme-already-exists"
msgstr "已有同名的主題選項"
@@ -1679,11 +1651,11 @@ msgstr "此主題參照了不存在的集合:%s"
msgid "errors.tokens.circular-reference"
msgstr "Token 存在循環參照"
-#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245
+#: src/app/main/data/workspace/tokens/errors.cljs:132, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:316
msgid "errors.tokens.composite-line-height-needs-font-size"
msgstr "行高取決於字型大小。請新增字型大小以取得解析後的值。"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436
+#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:347, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:442
msgid "errors.tokens.empty-field"
msgstr "此欄位不可空白"
@@ -1703,11 +1675,11 @@ msgstr "匯入錯誤:"
msgid "errors.tokens.invalid-color"
msgstr "無效的色彩值:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:108
+#: src/app/main/data/workspace/tokens/errors.cljs:124
msgid "errors.tokens.invalid-font-family-token-value"
msgstr "無效的 token 值:只能參照 font-family token"
-#: src/app/main/data/workspace/tokens/errors.cljs:104, ../common/src/app/common/files/tokens.cljc:79
+#: src/app/main/data/workspace/tokens/errors.cljs:120, ../common/src/app/common/files/tokens.cljc:79
msgid "errors.tokens.invalid-font-weight-token-value"
msgstr "無效的字重值:請使用數值(100-950)或標準名稱(thin、light、regular、bold 等),後方可加上 'Italic'"
@@ -1725,35 +1697,35 @@ msgstr ""
"\"%s\" 不是有效的 token 名稱。\n"
"Token 名稱只能包含以 . 字元分隔的字母與數字,且不得以 $ 符號開頭。"
-#: src/app/main/data/workspace/tokens/errors.cljs:120
+#: src/app/main/data/workspace/tokens/errors.cljs:136
msgid "errors.tokens.invalid-shadow-type-token-value"
msgstr "無效的陰影類型:僅接受 'innerShadow' 或 'dropShadow'"
-#: src/app/main/data/workspace/tokens/errors.cljs:96
+#: src/app/main/data/workspace/tokens/errors.cljs:112
msgid "errors.tokens.invalid-text-case-token-value"
msgstr "無效的 token 值:僅接受 none、Uppercase、Lowercase 或 Capitalize"
-#: src/app/main/data/workspace/tokens/errors.cljs:100
+#: src/app/main/data/workspace/tokens/errors.cljs:116
msgid "errors.tokens.invalid-text-decoration-token-value"
msgstr "無效的 token 值:僅接受 none、underline 和 strike-through"
-#: src/app/main/data/workspace/tokens/errors.cljs:132
+#: src/app/main/data/workspace/tokens/errors.cljs:148
msgid "errors.tokens.invalid-token-value-shadow"
msgstr "無效的值:必須參照複合陰影 token。"
-#: src/app/main/data/workspace/tokens/errors.cljs:112
+#: src/app/main/data/workspace/tokens/errors.cljs:128
msgid "errors.tokens.invalid-token-value-typography"
msgstr "無效的值:必須參照複合文字樣式 token。"
-#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92, ../common/src/app/common/files/tokens.cljc:42
+#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/errors.cljs:108, ../common/src/app/common/files/tokens.cljc:42
msgid "errors.tokens.invalid-value"
msgstr "無效的 token 值:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:72
+#: src/app/main/data/workspace/tokens/errors.cljs:88
msgid "errors.tokens.missing-references"
msgstr "缺少 token 參照: "
-#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
+#: src/app/main/data/workspace/tokens/errors.cljs:84, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126
msgid "errors.tokens.name-collision"
msgstr "群組名稱 %s 與另一個啟用中的集合內的同名 token 衝突。"
@@ -1765,31 +1737,31 @@ msgstr "此檔案中找不到任何 tokens、集合或主題。"
msgid "errors.tokens.number-too-large"
msgstr "無效的 token 值。解析後的值過大:%s"
-#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
+#: src/app/main/data/workspace/tokens/errors.cljs:104, src/app/main/data/workspace/tokens/warnings.cljs:15, ../common/src/app/common/files/tokens.cljc:65
msgid "errors.tokens.opacity-range"
msgstr "不透明度必須介於 0 到 100% 或 0 到 1 之間(例如 50% 或 0.5)。"
-#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237, ../common/src/app/common/files/tokens.cljc:235
+#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:373, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:308, ../common/src/app/common/files/tokens.cljc:235
msgid "errors.tokens.self-reference"
msgstr "Token 參照了自身"
-#: src/app/main/data/workspace/tokens/errors.cljs:124
+#: src/app/main/data/workspace/tokens/errors.cljs:140
msgid "errors.tokens.shadow-blur-range"
msgstr "陰影模糊值必須大於或等於 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:128
+#: src/app/main/data/workspace/tokens/errors.cljs:144
msgid "errors.tokens.shadow-spread-range"
msgstr "陰影擴張值必須大於或等於 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19
+#: src/app/main/data/workspace/tokens/errors.cljs:108, src/app/main/data/workspace/tokens/warnings.cljs:19
msgid "errors.tokens.stroke-width-range"
msgstr "筆畫寬度必須大於或等於 0。"
-#: src/app/main/data/workspace/tokens/errors.cljs:84, ../common/src/app/common/files/tokens.cljc:52
+#: src/app/main/data/workspace/tokens/errors.cljs:100, ../common/src/app/common/files/tokens.cljc:52
msgid "errors.tokens.value-with-percent"
msgstr "數值無效:不可使用 %。"
-#: src/app/main/data/workspace/tokens/errors.cljs:80
+#: src/app/main/data/workspace/tokens/errors.cljs:96
msgid "errors.tokens.value-with-units"
msgstr "數值無效:不可包含單位。"
@@ -1797,19 +1769,19 @@ msgstr "數值無效:不可包含單位。"
msgid "errors.unexpected-error"
msgstr "發生非預期的錯誤。"
-#: src/app/main/ui/auth/verify_token.cljs:95
+#: src/app/main/ui/auth/verify_token.cljs:68
msgid "errors.unexpected-token"
msgstr "未知的 token"
-#: src/app/main/errors.cljs:723
+#: src/app/main/errors.cljs:894
msgid "errors.version-already-locked"
msgstr "此版本已鎖定"
-#: src/app/main/errors.cljs:699
+#: src/app/main/errors.cljs:861
msgid "errors.version-locked"
msgstr "此版本已鎖定,其他人無法刪除"
-#: src/app/main/errors.cljs:827
+#: src/app/main/errors.cljs:998
msgid "errors.version-not-supported"
msgstr "檔案版本不相容"
@@ -1842,39 +1814,39 @@ msgstr "至少包含 1 個大寫字母"
msgid "errors.weak-password.too-short"
msgstr "至少 8 個字元"
-#: src/app/main/ui/static.cljs:380
+#: src/app/main/ui/static.cljs:385
msgid "errors.webgl-context-lost.desc-message"
msgstr "WebGL 已停止運作。請重新載入頁面以重設 WebGL"
-#: src/app/main/ui/static.cljs:379
+#: src/app/main/ui/static.cljs:384
msgid "errors.webgl-context-lost.main-message"
msgstr "糟糕!畫布的繪圖環境已遺失"
-#: src/app/main/ui/dashboard/team.cljs:1306, src/app/main/ui/dashboard/team.cljs:1312
+#: src/app/main/ui/dashboard/team.cljs:1307, src/app/main/ui/dashboard/team.cljs:1313
msgid "errors.webhooks.connection"
msgstr "連線錯誤,無法連上此網址"
-#: src/app/main/ui/dashboard/team.cljs:1297
+#: src/app/main/ui/dashboard/team.cljs:1298
msgid "errors.webhooks.invalid-uri"
msgstr "網址未通過驗證。"
-#: src/app/main/ui/dashboard/team.cljs:1490
+#: src/app/main/ui/dashboard/team.cljs:1499
msgid "errors.webhooks.last-delivery"
msgstr "上次傳送失敗。"
-#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1493
+#: src/app/main/ui/dashboard/team.cljs:1301, src/app/main/ui/dashboard/team.cljs:1502
msgid "errors.webhooks.ssl-validation"
msgstr "SSL 驗證發生錯誤。"
-#: src/app/main/ui/dashboard/team.cljs:1303
+#: src/app/main/ui/dashboard/team.cljs:1304
msgid "errors.webhooks.timeout"
msgstr "逾時"
-#: src/app/main/ui/dashboard/team.cljs:1315, src/app/main/ui/dashboard/team.cljs:1499
+#: src/app/main/ui/dashboard/team.cljs:1316, src/app/main/ui/dashboard/team.cljs:1508
msgid "errors.webhooks.unexpected"
msgstr "驗證時發生非預期的錯誤"
-#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1496
+#: src/app/main/ui/dashboard/team.cljs:1310, src/app/main/ui/dashboard/team.cljs:1505
msgid "errors.webhooks.unexpected-status"
msgstr "非預期的狀態 %s"
@@ -1894,15 +1866,15 @@ msgstr "說明"
msgid "feedback.description-placeholder"
msgstr "請說明您提供意見回饋的原因"
-#: src/app/main/ui/settings/feedback.cljs:151
+#: src/app/main/ui/settings/feedback.cljs:153
msgid "feedback.discourse-subtitle1"
msgstr "很高興您加入我們。如果需要協助,請先搜尋相關內容,再發文提問。"
-#: src/app/main/ui/settings/feedback.cljs:150
+#: src/app/main/ui/settings/feedback.cljs:152
msgid "feedback.discourse-title"
msgstr "Penpot 社群"
-#: src/app/main/ui/settings/feedback.cljs:144
+#: src/app/main/ui/settings/feedback.cljs:146
msgid "feedback.other-ways-contact"
msgstr "其他聯絡方式"
@@ -1922,11 +1894,11 @@ msgstr "請說明來信原因,並註明是遇到問題、提出想法,還是
msgid "feedback.title-contact-us"
msgstr "聯絡我們"
-#: src/app/main/ui/settings/feedback.cljs:157
+#: src/app/main/ui/settings/feedback.cljs:159
msgid "feedback.twitter-subtitle1"
msgstr "為您解答技術問題。"
-#: src/app/main/ui/settings/feedback.cljs:156
+#: src/app/main/ui/settings/feedback.cljs:158
msgid "feedback.twitter-title"
msgstr "X 支援帳號"
@@ -1946,39 +1918,35 @@ msgstr "想法"
msgid "feedback.type.issue"
msgstr "問題"
-#: src/app/main/ui/exports/files.cljs:140
-msgid "files-download-modal.title"
-msgstr "下載檔案"
-
-#: src/app/main/ui/exports/files.cljs:183
+#: src/app/main/ui/exports/files.cljs:431
msgid "files-export-modal.options.detach-libraries.message"
msgstr "檔案將不包含已連結資料庫中的資產。"
-#: src/app/main/ui/exports/files.cljs:177
+#: src/app/main/ui/exports/files.cljs:425
msgid "files-export-modal.options.detach-libraries.title"
msgstr "將資產視為基本物件"
-#: src/app/main/ui/exports/files.cljs:181
+#: src/app/main/ui/exports/files.cljs:429
msgid "files-export-modal.options.include-libraries.message"
msgstr "匯出內容將包含檔案及其連結的資料庫,並保留彼此的連結關係。 "
-#: src/app/main/ui/exports/files.cljs:175
+#: src/app/main/ui/exports/files.cljs:423
msgid "files-export-modal.options.include-libraries.title"
msgstr "匯出檔案 + 資料庫"
-#: src/app/main/ui/exports/files.cljs:184
+#: src/app/main/ui/exports/files.cljs:432
msgid "files-export-modal.options.link-later.message"
msgstr "匯入時,你可以連結名稱相符的現有資料庫。"
-#: src/app/main/ui/exports/files.cljs:178
+#: src/app/main/ui/exports/files.cljs:426
msgid "files-export-modal.options.link-later.title"
msgstr "匯入時連結名稱相符的資料庫"
-#: src/app/main/ui/exports/files.cljs:182
+#: src/app/main/ui/exports/files.cljs:430
msgid "files-export-modal.options.merge-libraries.message"
msgstr "匯出檔案時,資料庫資產將合併至檔案內的資料庫。"
-#: src/app/main/ui/exports/files.cljs:176
+#: src/app/main/ui/exports/files.cljs:424
msgid "files-export-modal.options.merge-libraries.title"
msgstr "將資料庫資產嵌入檔案"
@@ -1986,7 +1954,7 @@ msgstr "將資料庫資產嵌入檔案"
msgid "generic.error"
msgstr "發生錯誤"
-#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161
+#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:171
msgid "import-shortcuts.apply"
msgstr "套用"
@@ -2034,7 +2002,7 @@ msgstr "形狀填充圖片預覽"
msgid "inspect.attributes.shadow"
msgstr "陰影"
-#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27
+#: src/app/main/ui/inspect/attributes/geometry.cljs:46, src/app/main/ui/inspect/styles/style_box.cljs:27
msgid "inspect.attributes.size"
msgstr "大小與位置"
@@ -2042,43 +2010,31 @@ msgstr "大小與位置"
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 "外側"
-
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
msgid "inspect.attributes.typography"
msgstr "文字樣式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:588
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:632
msgid "inspect.attributes.typography.font-family"
msgstr "字型家族"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:662
msgid "inspect.attributes.typography.font-size"
msgstr "字型大小"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:629
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:673
msgid "inspect.attributes.typography.font-style"
msgstr "字型樣式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:729, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:740
msgid "inspect.attributes.typography.letter-spacing"
msgstr "字距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:677
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:711, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:721
msgid "inspect.attributes.typography.line-height"
msgstr "行高"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:638
msgid "inspect.attributes.typography.mixed-font-family"
msgstr "混合字型家族"
@@ -2090,11 +2046,11 @@ msgstr "無"
msgid "inspect.attributes.typography.text-decoration.underline"
msgstr "底線"
-#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:726
+#: src/app/main/ui/inspect/attributes/text.cljs:128, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:770
msgid "inspect.attributes.typography.text-transform.capitalize"
msgstr "每個單字首字母大寫"
-#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:730
+#: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:774
msgid "inspect.attributes.typography.text-transform.lowercase"
msgstr "全部小寫"
@@ -2106,7 +2062,7 @@ msgstr "無"
msgid "inspect.attributes.typography.text-transform.unset"
msgstr "取消設定"
-#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720
+#: src/app/main/ui/inspect/attributes/text.cljs:129, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:764
msgid "inspect.attributes.typography.text-transform.uppercase"
msgstr "全部大寫"
@@ -2226,23 +2182,23 @@ msgstr "解析後的值:"
msgid "inspect.tabs.styles.variants-panel"
msgstr "變體屬性"
-#: src/app/main/ui/settings/integrations.cljs:616
+#: src/app/main/ui/settings/integrations.cljs:612
msgid "integrations.access-tokens.create"
msgstr "建立新的存取權杖"
-#: src/app/main/ui/settings/integrations.cljs:632
+#: src/app/main/ui/settings/integrations.cljs:628
msgid "integrations.access-tokens.empty.add-one"
msgstr "按一下「建立新的存取權杖」按鈕即可產生權杖。"
-#: src/app/main/ui/settings/integrations.cljs:631
+#: src/app/main/ui/settings/integrations.cljs:627
msgid "integrations.access-tokens.empty.no-access-tokens"
msgstr "您目前沒有任何權杖。"
-#: src/app/main/ui/settings/integrations.cljs:606
+#: src/app/main/ui/settings/integrations.cljs:602
msgid "integrations.access-tokens.personal"
msgstr "個人存取權杖"
-#: src/app/main/ui/settings/integrations.cljs:611
+#: src/app/main/ui/settings/integrations.cljs:607
msgid "integrations.access-tokens.personal.description"
msgstr "個人存取權杖可替代帳號與密碼驗證,讓應用程式存取 Penpot 內部 API"
@@ -2322,47 +2278,47 @@ msgstr "MCP 金鑰將於 %s 到期"
msgid "integrations.mcp-key.will-not-expire"
msgstr "MCP 金鑰沒有到期日"
-#: src/app/main/ui/settings/integrations.cljs:498
+#: src/app/main/ui/settings/integrations.cljs:494
msgid "integrations.mcp-server.description"
msgstr "Penpot MCP 伺服器可讓 MCP 用戶端直接與 Penpot 設計檔案互動。"
-#: src/app/main/ui/settings/integrations.cljs:581
+#: src/app/main/ui/settings/integrations.cljs:577
msgid "integrations.mcp-server.mcp-keys.help"
msgstr "如何設定 MCP 用戶端"
-#: src/app/main/ui/settings/integrations.cljs:568
+#: src/app/main/ui/settings/integrations.cljs:564
msgid "integrations.mcp-server.mcp-keys.info"
msgstr "設定 MCP 用戶端時,需要使用此伺服器網址才能連線至 Penpot MCP 伺服器。"
-#: src/app/main/ui/settings/integrations.cljs:548
+#: src/app/main/ui/settings/integrations.cljs:544
msgid "integrations.mcp-server.mcp-keys.regenerate"
msgstr "重新產生 MCP 金鑰"
-#: src/app/main/ui/settings/integrations.cljs:541
+#: src/app/main/ui/settings/integrations.cljs:537
msgid "integrations.mcp-server.mcp-keys.title"
msgstr "MCP 金鑰"
-#: src/app/main/ui/settings/integrations.cljs:549
+#: src/app/main/ui/settings/integrations.cljs:545
msgid "integrations.mcp-server.mcp-keys.tootip"
msgstr "設定 MCP 用戶端時需要 MCP 金鑰"
-#: src/app/main/ui/settings/integrations.cljs:504
+#: src/app/main/ui/settings/integrations.cljs:500
msgid "integrations.mcp-server.status"
msgstr "狀態"
-#: src/app/main/ui/settings/integrations.cljs:524
+#: src/app/main/ui/settings/integrations.cljs:520
msgid "integrations.mcp-server.status.disabled"
msgstr "已停用"
-#: src/app/main/ui/settings/integrations.cljs:523
+#: src/app/main/ui/settings/integrations.cljs:519
msgid "integrations.mcp-server.status.enabled"
msgstr "已啟用"
-#: src/app/main/ui/settings/integrations.cljs:514
+#: src/app/main/ui/settings/integrations.cljs:510
msgid "integrations.mcp-server.status.expired.0"
msgstr "用於連線至 MCP 伺服器的 MCP 金鑰已過期,因此無法建立連線。"
-#: src/app/main/ui/settings/integrations.cljs:519
+#: src/app/main/ui/settings/integrations.cljs:515
msgid "integrations.mcp-server.status.expired.1"
msgstr "請重新產生 MCP 金鑰,並使用新金鑰更新用戶端設定。"
@@ -2370,10 +2326,6 @@ msgstr "請重新產生 MCP 金鑰,並使用新金鑰更新用戶端設定。"
msgid "integrations.mcp-server.title"
msgstr "MCP 伺服器"
-#: src/app/main/ui/settings/integrations.cljs:493
-msgid "integrations.mcp-server.title.beta"
-msgstr "測試版"
-
#: src/app/main/ui/settings/integrations.cljs:200
msgid "integrations.name.label"
msgstr "名稱"
@@ -2422,7 +2374,7 @@ msgstr "重新產生 MCP 金鑰"
msgid "integrations.regenerate-mcp-key.title.created"
msgstr "已重新產生 MCP 金鑰"
-#: src/app/main/ui/settings/integrations.cljs:655
+#: src/app/main/ui/settings/integrations.cljs:651
msgid "integrations.title"
msgstr "整合"
@@ -2438,47 +2390,47 @@ msgstr "token 將於 %s 到期"
msgid "integrations.token.will-not-expire"
msgstr "token 沒有到期日"
-#: src/app/main/ui/dashboard/comments.cljs:94
+#: src/app/main/ui/dashboard/comments.cljs:90
msgid "label.mark-all-as-read"
msgstr "全部標示為已讀"
-#: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219
+#: src/app/main/ui/settings/shortcuts.cljs:524, src/app/main/ui/settings/sidebar.cljs:108, src/app/main/ui/workspace/main_menu.cljs:220
msgid "label.shortcuts"
msgstr "快速鍵"
-#: src/app/main/ui/dashboard/sidebar.cljs:740
+#: src/app/main/ui/dashboard/sidebar.cljs:731
msgid "labels.about-penpot"
msgstr "關於 Penpot"
-#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/import.cljs:677
+#: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:776, src/app/main/ui/dashboard/import.cljs:782
msgid "labels.accept"
msgstr "接受"
-#: src/app/main/ui/dashboard/team.cljs:1511
+#: src/app/main/ui/dashboard/team.cljs:1522
msgid "labels.active"
msgstr "已啟用"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.add"
msgstr "新增"
-#: src/app/main/ui/dashboard/fonts.cljs:203
+#: src/app/main/ui/dashboard/fonts.cljs:217
msgid "labels.add-custom-font"
msgstr "新增自訂字型"
-#: src/app/main/ui/workspace/libraries.cljs:255
+#: src/app/main/ui/workspace/libraries.cljs:307
msgid "labels.adding"
msgstr "正在新增..."
-#: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:404, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:72
+#: src/app/main/ui/dashboard/team.cljs:150, src/app/main/ui/dashboard/team.cljs:391, src/app/main/ui/dashboard/team.cljs:421, src/app/main/ui/dashboard/team.cljs:667, src/app/main/ui/dashboard/team.cljs:701, src/app/main/ui/dashboard/team.cljs:887, src/app/main/ui/onboarding/team_choice.cljs:72
msgid "labels.admin"
msgstr "管理員"
-#: src/app/main/ui/onboarding/questions.cljs:158
+#: src/app/main/ui/onboarding/questions.cljs:160
msgid "labels.adobe-xd"
msgstr "Adobe XD 軟體"
-#: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:127
+#: src/app/main/ui/settings/shortcuts.cljs:341, src/app/main/ui/workspace/tokens/management/context_menu.cljs:101, src/app/main/ui/workspace/tokens/management/context_menu.cljs:139, src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
msgid "labels.all"
msgstr "全部"
@@ -2486,15 +2438,15 @@ msgstr "全部"
msgid "labels.and"
msgstr "及"
-#: src/app/main/ui/dashboard/import.cljs:728
+#: src/app/main/ui/dashboard/import.cljs:833
msgid "labels.back"
msgstr "返回"
-#: src/app/main/ui/static.cljs:331
+#: src/app/main/ui/static.cljs:336
msgid "labels.bad-gateway.desc-message"
msgstr "我們正在進行伺服器的小規模維護,請稍候再試。"
-#: src/app/main/ui/static.cljs:330
+#: src/app/main/ui/static.cljs:335
msgid "labels.bad-gateway.main-message"
msgstr "閘道錯誤"
@@ -2506,23 +2458,23 @@ msgstr "模糊"
msgid "labels.blur-effects"
msgstr "模糊效果"
-#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:518, src/app/main/data/nitrate.cljs:603, src/app/main/ui/dashboard/change_owner.cljs:67, src/app/main/ui/dashboard/change_owner.cljs:174, src/app/main/ui/dashboard/import.cljs:657, src/app/main/ui/dashboard/team.cljs:902, src/app/main/ui/dashboard/team.cljs:1411, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:199, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:156, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:651, src/app/main/ui/viewer/share_link.cljs:203, src/app/main/ui/workspace/sidebar/assets/groups.cljs:178, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
+#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:530, src/app/main/data/nitrate.cljs:615, src/app/main/ui/dashboard/change_owner.cljs:73, src/app/main/ui/dashboard/change_owner.cljs:180, src/app/main/ui/dashboard/fonts.cljs:459, src/app/main/ui/dashboard/import.cljs:757, src/app/main/ui/dashboard/import.cljs:771, src/app/main/ui/dashboard/team.cljs:900, src/app/main/ui/dashboard/team.cljs:1415, src/app/main/ui/delete_shared.cljs:38, src/app/main/ui/exports/assets.cljs:158, src/app/main/ui/exports/files.cljs:447, src/app/main/ui/mcp_authorize.cljs:160, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:166, src/app/main/ui/settings/integrations.cljs:220, src/app/main/ui/settings/restore_shortcuts_modal.cljs:165, src/app/main/ui/shortcuts.cljs:783, src/app/main/ui/viewer/share_link.cljs:207, src/app/main/ui/workspace/sidebar/assets/groups.cljs:181, src/app/main/ui/workspace/tokens/export/modal.cljs:43, src/app/main/ui/workspace/tokens/import/modal.cljs:268, src/app/main/ui/workspace/tokens/import_from_library.cljs:88, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:360, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:73, src/app/main/ui/workspace/tokens/settings/menu.cljs:104, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:243
msgid "labels.cancel"
msgstr "取消"
-#: src/app/main/ui/onboarding/questions.cljs:160
+#: src/app/main/ui/onboarding/questions.cljs:162
msgid "labels.canva"
msgstr "油畫"
-#: src/app/main/ui/dashboard/sidebar.cljs:553
+#: src/app/main/ui/dashboard/sidebar.cljs:546
msgid "labels.check-for-updates"
msgstr "檢查更新"
-#: src/app/main/ui/dashboard/sidebar.cljs:552
+#: src/app/main/ui/dashboard/sidebar.cljs:545
msgid "labels.checking-for-updates"
msgstr "正在檢查更新..."
-#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:997, src/app/main/ui/dashboard/projects.cljs:97, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:142, src/app/main/ui/exports/files.cljs:225, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:407, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:229, src/app/main/ui/viewer/login.cljs:91, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1155, src/app/main/ui/workspace/sidebar/layers.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
+#: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/auth/login_modal.cljs:92, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/change_owner.cljs:52, src/app/main/ui/dashboard/change_owner.cljs:156, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:97, src/app/main/ui/dashboard/import.cljs:1132, src/app/main/ui/dashboard/projects.cljs:105, src/app/main/ui/dashboard/team.cljs:312, src/app/main/ui/dashboard/team.cljs:872, src/app/main/ui/dashboard/team.cljs:1003, src/app/main/ui/dashboard/team.cljs:1386, src/app/main/ui/dashboard/team_form.cljs:124, src/app/main/ui/dashboard/team_form.cljs:171, src/app/main/ui/delete_shared.cljs:104, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/assets.cljs:81, src/app/main/ui/exports/assets.cljs:341, src/app/main/ui/exports/files.cljs:383, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/change_email.cljs:94, src/app/main/ui/settings/delete_account.cljs:68, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:269, src/app/main/ui/settings/subscription.cljs:391, src/app/main/ui/settings/subscription.cljs:414, src/app/main/ui/settings/subscription.cljs:847, src/app/main/ui/settings/subscription.cljs:903, src/app/main/ui/settings/subscription.cljs:958, src/app/main/ui/static.cljs:159, src/app/main/ui/static.cljs:234, src/app/main/ui/viewer/share_link.cljs:177, src/app/main/ui/viewer/thumbnails.cljs:101, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:1179, src/app/main/ui/workspace/nudge.cljs:50, src/app/main/ui/workspace/plugins.cljs:213, src/app/main/ui/workspace/plugins.cljs:421, src/app/main/ui/workspace/plugins.cljs:487, src/app/main/ui/workspace/plugins.cljs:544, src/app/main/ui/workspace/sidebar/assets/groups.cljs:164, src/app/main/ui/workspace/sidebar/layers.cljs:627, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:869, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:890, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:265, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:62, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:145, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:476, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56
msgid "labels.close"
msgstr "關閉"
@@ -2530,7 +2482,7 @@ msgstr "關閉"
msgid "labels.code"
msgstr "程式碼"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:184
+#: src/app/main/ui/viewer/thumbnails.cljs:95, src/app/main/ui/workspace/tokens/sets/lists.cljs:184
msgid "labels.collapse"
msgstr "收合"
@@ -2542,15 +2494,15 @@ msgstr "色彩"
msgid "labels.comment"
msgstr "留言"
-#: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130
+#: src/app/main/ui/viewer/comments.cljs:76, src/app/main/ui/workspace/comments.cljs:133
msgid "labels.comments"
msgstr "留言"
-#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
+#: src/app/main/ui/dashboard/sidebar.cljs:472, src/app/main/ui/workspace/main_menu.cljs:166
msgid "labels.community"
msgstr "社群"
-#: src/app/main/ui/dashboard/sidebar.cljs:726
+#: src/app/main/ui/dashboard/sidebar.cljs:717
msgid "labels.community-contributions"
msgstr "社群與貢獻"
@@ -2562,19 +2514,19 @@ msgstr "計算結果"
msgid "labels.confirm-password"
msgstr "確認密碼"
-#: src/app/main/ui/static.cljs:433
+#: src/app/main/ui/static.cljs:441
msgid "labels.contact-support"
msgstr "聯絡支援"
-#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:944
+#: src/app/main/ui/settings/sidebar.cljs:145, src/app/main/ui/settings/subscription.cljs:973
msgid "labels.contact-us"
msgstr "聯絡我們"
-#: src/app/main/ui/auth/login.cljs:208, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:664, src/app/main/ui/dashboard/team.cljs:909, src/app/main/ui/exports/files.cljs:204, src/app/main/ui/settings/subscription.cljs:333, src/app/main/ui/settings/subscription.cljs:367, src/app/main/ui/settings/subscription.cljs:896
+#: src/app/main/ui/auth/login.cljs:209, src/app/main/ui/dashboard/deleted.cljs:47, src/app/main/ui/dashboard/deleted.cljs:287, src/app/main/ui/dashboard/file_menu.cljs:235, src/app/main/ui/dashboard/import.cljs:764, src/app/main/ui/dashboard/team.cljs:907, src/app/main/ui/exports/files.cljs:452, src/app/main/ui/settings/subscription.cljs:337, src/app/main/ui/settings/subscription.cljs:371, src/app/main/ui/settings/subscription.cljs:923
msgid "labels.continue"
msgstr "繼續"
-#: src/app/main/ui/viewer/login.cljs:88
+#: src/app/main/ui/auth/login_modal.cljs:89
msgid "labels.continue-with-penpot"
msgstr "你可以使用 Penpot 帳號繼續"
@@ -2586,23 +2538,23 @@ msgstr "複製"
msgid "labels.copy-color"
msgstr "複製色彩"
-#: src/app/main/ui/dashboard/team.cljs:765
+#: src/app/main/ui/dashboard/team.cljs:760
msgid "labels.copy-invitation-link"
msgstr "複製連結"
-#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:352, src/app/main/ui/static.cljs:373
+#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:357, src/app/main/ui/static.cljs:378
msgid "labels.copyright-period"
msgstr "Kaleidos © 2019 至今"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206
msgid "labels.create"
msgstr "建立"
-#: src/app/main/ui/dashboard/team_form.cljs:119, src/app/main/ui/dashboard/team_form.cljs:139, src/app/main/ui/dashboard/team_form.cljs:151
+#: src/app/main/ui/dashboard/team_form.cljs:120, src/app/main/ui/dashboard/team_form.cljs:143, src/app/main/ui/dashboard/team_form.cljs:155
msgid "labels.create-team"
msgstr "建立新團隊"
-#: src/app/main/ui/dashboard/team_form.cljs:131
+#: src/app/main/ui/dashboard/team_form.cljs:135
msgid "labels.create-team.placeholder"
msgstr "輸入新團隊名稱"
@@ -2610,7 +2562,7 @@ msgstr "輸入新團隊名稱"
msgid "labels.current"
msgstr "目前"
-#: src/app/main/ui/settings/sidebar.cljs:86
+#: src/app/main/ui/settings/sidebar.cljs:82
msgid "labels.dashboard"
msgstr "控制台"
@@ -2618,7 +2570,7 @@ msgstr "控制台"
msgid "labels.default"
msgstr "預設"
-#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:286, src/app/main/ui/dashboard/fonts.cljs:363, src/app/main/ui/dashboard/fonts.cljs:397, src/app/main/ui/dashboard/import.cljs:332, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1445, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:117, src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/profile.cljs:129, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
+#: src/app/main/ui/dashboard/file_menu.cljs:335, src/app/main/ui/dashboard/fonts.cljs:303, src/app/main/ui/dashboard/fonts.cljs:380, src/app/main/ui/dashboard/fonts.cljs:414, src/app/main/ui/dashboard/import.cljs:319, src/app/main/ui/dashboard/project_menu.cljs:116, src/app/main/ui/dashboard/team.cljs:1454, src/app/main/ui/settings/integrations.cljs:376, src/app/main/ui/settings/profile.cljs:123, src/app/main/ui/settings/profile.cljs:137, src/app/main/ui/settings/profile.cljs:138, src/app/main/ui/workspace/sidebar/assets/common.cljs:231, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:228, src/app/main/ui/workspace/sidebar/versions.cljs:257, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:353, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:111, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:66, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:394
msgid "labels.delete"
msgstr "刪除"
@@ -2630,7 +2582,7 @@ msgstr "刪除留言"
msgid "labels.delete-comment-thread"
msgstr "刪除討論串"
-#: src/app/main/ui/dashboard/team.cljs:1216
+#: src/app/main/ui/dashboard/team.cljs:1217
msgid "labels.delete-invitation"
msgstr "刪除邀請"
@@ -2638,39 +2590,35 @@ msgstr "刪除邀請"
msgid "labels.delete-multi-files"
msgstr "刪除 %s 個檔案"
-#: src/app/main/ui/settings/profile.cljs:116
+#: src/app/main/ui/settings/profile.cljs:122
msgid "labels.delete-profile-photo.message"
msgstr "確定要刪除你的個人照片嗎?"
-#: src/app/main/ui/settings/profile.cljs:115
+#: src/app/main/ui/settings/profile.cljs:121
msgid "labels.delete-profile-photo.title"
msgstr "刪除個人照片"
-#: src/app/main/ui/dashboard/deleted.cljs:219
+#: src/app/main/ui/dashboard/deleted.cljs:225
msgid "labels.deleted"
msgstr "已刪除"
-#: src/app/main/ui/onboarding/questions.cljs:83
+#: src/app/main/ui/onboarding/questions.cljs:85
msgid "labels.developer"
msgstr "開發"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:210
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:214
msgid "labels.discard"
msgstr "捨棄"
-#: src/app/main/errors.cljs:484, src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:427
+#: src/app/main/errors.cljs:559, src/app/main/ui/settings/feedback.cljs:137, src/app/main/ui/static.cljs:435
msgid "labels.download"
msgstr "下載 %s"
-#: src/app/main/ui/dashboard/fonts.cljs:283
+#: src/app/main/ui/dashboard/fonts.cljs:300
msgid "labels.download-simple"
msgstr "下載"
-#: src/app/main/ui/exports/files.cljs:217
-msgid "labels.downloading-file"
-msgstr "正在下載檔案…"
-
-#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:86, src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:225, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/sidebar.cljs:362
+#: src/app/main/ui/dashboard/file_menu.cljs:28, src/app/main/ui/dashboard/files.cljs:92, src/app/main/ui/dashboard/files.cljs:217, src/app/main/ui/dashboard/projects.cljs:234, src/app/main/ui/dashboard/projects.cljs:237, src/app/main/ui/dashboard/sidebar.cljs:355
msgid "labels.drafts"
msgstr "草稿"
@@ -2678,19 +2626,19 @@ msgstr "草稿"
msgid "labels.duplicate"
msgstr "建立複本"
-#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:326, src/app/main/ui/dashboard/team.cljs:1443, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:217, src/app/main/ui/workspace/tokens/themes.cljs:52
+#: src/app/main/ui/comments.cljs:1043, src/app/main/ui/dashboard/fonts.cljs:297, src/app/main/ui/dashboard/import.cljs:313, src/app/main/ui/dashboard/team.cljs:1452, src/app/main/ui/viewer/header.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:222, src/app/main/ui/workspace/tokens/themes.cljs:55
msgid "labels.edit"
msgstr "編輯"
-#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:405, src/app/main/ui/dashboard/team.cljs:430, src/app/main/ui/dashboard/team.cljs:677, src/app/main/ui/dashboard/team.cljs:710, src/app/main/ui/dashboard/team.cljs:890, src/app/main/ui/onboarding/team_choice.cljs:71
+#: src/app/main/ui/dashboard/team.cljs:148, src/app/main/ui/dashboard/team.cljs:392, src/app/main/ui/dashboard/team.cljs:418, src/app/main/ui/dashboard/team.cljs:668, src/app/main/ui/dashboard/team.cljs:705, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/onboarding/team_choice.cljs:71
msgid "labels.editor"
msgstr "編輯者"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:295
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:302
msgid "labels.empty"
msgstr "空白"
-#: src/app/main/ui/dashboard/import.cljs:353, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245
+#: src/app/main/data/imports.cljs:57, src/app/main/data/imports.cljs:392, src/app/main/ui/dashboard/import.cljs:344, src/app/main/ui/exports/files.cljs:212
msgid "labels.error"
msgstr "錯誤"
@@ -2698,11 +2646,11 @@ msgstr "錯誤"
msgid "labels.exit"
msgstr "離開"
-#: src/app/main/ui/dashboard/team.cljs:782
+#: src/app/main/ui/dashboard/team.cljs:777
msgid "labels.expired-invitation"
msgstr "已過期"
-#: src/app/main/ui/exports/assets.cljs:172, src/app/main/ui/settings/shortcuts.cljs:548, src/app/main/ui/workspace/tokens/sidebar.cljs:145
+#: src/app/main/ui/exports/assets.cljs:165, src/app/main/ui/settings/shortcuts.cljs:599, src/app/main/ui/workspace/tokens/sidebar.cljs:145
msgid "labels.export"
msgstr "匯出"
@@ -2714,7 +2662,7 @@ msgstr "已停用意見回饋"
msgid "labels.feedback-sent"
msgstr "已送出意見回饋"
-#: src/app/main/ui/onboarding/questions.cljs:154
+#: src/app/main/ui/onboarding/questions.cljs:156
msgid "labels.figma"
msgstr "Figma"
@@ -2722,63 +2670,63 @@ msgstr "Figma"
msgid "labels.fill"
msgstr "填充"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1284
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
msgid "labels.flex-layout"
msgstr "彈性版面佈局"
-#: src/app/main/ui/dashboard/fonts.cljs:472
+#: src/app/main/ui/dashboard/fonts.cljs:501
msgid "labels.font-family"
msgstr "字型家族"
-#: src/app/main/ui/dashboard/fonts.cljs:473
+#: src/app/main/ui/dashboard/fonts.cljs:502
msgid "labels.font-variants"
msgstr "樣式"
-#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
+#: src/app/main/ui/dashboard/fonts.cljs:82, src/app/main/ui/dashboard/sidebar.cljs:367
msgid "labels.fonts"
msgstr "字型"
-#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
+#: src/app/main/ui/dashboard/sidebar.cljs:466, src/app/main/ui/workspace/main_menu.cljs:202
msgid "labels.github-repo"
msgstr "GitHub 儲存庫"
-#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
+#: src/app/main/ui/dashboard/sidebar.cljs:440, src/app/main/ui/workspace/main_menu.cljs:231
msgid "labels.give-feedback"
msgstr "提供意見回饋"
-#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:208, src/app/main/ui/viewer/login.cljs:132
+#: src/app/main/ui/auth/login_modal.cljs:140, src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:365, src/app/main/ui/static.cljs:213
msgid "labels.go-back"
msgstr "返回"
-#: src/app/main/ui/onboarding/questions.cljs:85
+#: src/app/main/ui/onboarding/questions.cljs:87
msgid "labels.graphic-design"
msgstr "平面設計"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1288
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302
msgid "labels.grid-layout"
msgstr "網格版面佈局"
-#: src/app/main/ui/dashboard/sidebar.cljs:430, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1353, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1381, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1570
+#: src/app/main/ui/dashboard/sidebar.cljs:423, src/app/main/ui/workspace/main_menu.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1367, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1395, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1584
msgid "labels.help-center"
msgstr "說明中心"
-#: src/app/main/ui/dashboard/sidebar.cljs:714
+#: src/app/main/ui/dashboard/sidebar.cljs:705
msgid "labels.help-learning"
msgstr "說明與學習資源"
-#: src/app/main/ui/dashboard/templates.cljs:90
+#: src/app/main/ui/dashboard/templates.cljs:86
msgid "labels.hide"
msgstr "隱藏"
-#: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76
+#: src/app/main/ui/viewer/comments.cljs:119, src/app/main/ui/workspace/comments.cljs:78
msgid "labels.hide-resolved-comments"
msgstr "隱藏已解決的留言"
-#: src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:142
+#: src/app/main/ui/settings/shortcuts.cljs:595, src/app/main/ui/workspace/tokens/sidebar.cljs:142
msgid "labels.import"
msgstr "匯入"
-#: src/app/main/ui/dashboard/team.cljs:1512
+#: src/app/main/ui/dashboard/team.cljs:1523
msgid "labels.inactive"
msgstr "未啟用"
@@ -2786,51 +2734,51 @@ msgstr "未啟用"
msgid "labels.info"
msgstr "資訊"
-#: src/app/main/ui/dashboard/fonts.cljs:470
+#: src/app/main/ui/dashboard/fonts.cljs:499
msgid "labels.installed-fonts"
msgstr "已安裝的字型"
-#: src/app/main/ui/settings/sidebar.cljs:134
+#: src/app/main/ui/settings/sidebar.cljs:130
msgid "labels.integrations"
msgstr "整合"
-#: src/app/main/ui/static.cljs:423
+#: src/app/main/ui/static.cljs:428
msgid "labels.internal-error.desc-message-first"
msgstr "發生錯誤。"
-#: src/app/main/ui/static.cljs:424
+#: src/app/main/ui/static.cljs:429
msgid "labels.internal-error.desc-message-second"
msgstr "您可以重試此操作,或聯絡技術支援回報錯誤。"
-#: src/app/main/ui/static.cljs:420
+#: src/app/main/ui/static.cljs:425
msgid "labels.internal-error.main-message"
msgstr "內部錯誤"
-#: src/app/main/ui/onboarding/questions.cljs:162
+#: src/app/main/ui/onboarding/questions.cljs:164
msgid "labels.invision"
msgstr "InVision 軟體"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:186, src/app/main/ui/dashboard/team.cljs:103, src/app/main/ui/dashboard/team.cljs:115, src/app/main/ui/dashboard/team.cljs:1220
msgid "labels.invitations"
msgstr "邀請"
-#: src/app/main/ui/settings/options.cljs:61
+#: src/app/main/ui/settings/options.cljs:64
msgid "labels.language"
msgstr "語言"
-#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1298
+#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
msgid "labels.layout"
msgstr "版面佈局"
-#: src/app/main/ui/dashboard/sidebar.cljs:436
+#: src/app/main/ui/dashboard/sidebar.cljs:429
msgid "labels.learning-center"
msgstr "學習中心"
-#: src/app/main/ui/workspace/main_menu.cljs:192
+#: src/app/main/ui/workspace/main_menu.cljs:193
msgid "labels.libraries-and-templates"
msgstr "資料庫與範本"
-#: src/app/main/ui/auth/verify_token.cljs:164, src/app/main/ui/dashboard/grid.cljs:126, src/app/main/ui/dashboard/grid.cljs:142, src/app/main/ui/dashboard/import.cljs:289, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:69, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:665, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
+#: src/app/main/ui/auth/verify_token.cljs:137, src/app/main/ui/dashboard/fonts.cljs:519, src/app/main/ui/dashboard/grid.cljs:127, src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/placeholder.cljs:139, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/mcp_authorize.cljs:140, src/app/main/ui/nitrate/entry.cljs:26, src/app/main/ui/static.cljs:694, src/app/main/ui/viewer.cljs:652, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:263, src/app/main/ui/workspace.cljs:132
msgid "labels.loading"
msgstr "載入中…"
@@ -2838,7 +2786,7 @@ msgstr "載入中…"
msgid "labels.lock"
msgstr "鎖定"
-#: src/app/main/ui/viewer/header.cljs:208
+#: src/app/main/ui/viewer/header.cljs:220
msgid "labels.log-or-sign"
msgstr "登入或註冊"
@@ -2846,19 +2794,19 @@ msgstr "登入或註冊"
msgid "labels.login"
msgstr "登入"
-#: src/app/main/ui/dashboard/sidebar.cljs:750
+#: src/app/main/ui/dashboard/sidebar.cljs:742
msgid "labels.logout"
msgstr "登出"
-#: src/app/main/ui/onboarding/questions.cljs:86
+#: src/app/main/ui/onboarding/questions.cljs:88
msgid "labels.marketing"
msgstr "行銷"
-#: src/app/main/ui/dashboard/team.cljs:623
+#: src/app/main/ui/dashboard/team.cljs:614
msgid "labels.member"
msgstr "成員"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:181, src/app/main/ui/dashboard/team.cljs:101, src/app/main/ui/dashboard/team.cljs:111
msgid "labels.members"
msgstr "成員"
@@ -2870,39 +2818,39 @@ msgstr "提及"
msgid "labels.new-password"
msgstr "新密碼"
-#: src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:614
+#: src/app/main/ui/dashboard/templates.cljs:293, src/app/main/ui/onboarding/questions.cljs:54, src/app/main/ui/viewer.cljs:118, src/app/main/ui/workspace/sidebar/layers.cljs:647
msgid "labels.next"
msgstr "下一個"
-#: src/app/main/ui/static.cljs:362
+#: src/app/main/ui/static.cljs:367
msgid "labels.nitrate-not-configured.desc-message"
msgstr "此執行個體需要完成最新版本新增的設定步驟。"
-#: src/app/main/ui/static.cljs:365
+#: src/app/main/ui/static.cljs:370
msgid "labels.nitrate-not-configured.learn-more"
msgstr "請參閱我們的"
-#: src/app/main/ui/static.cljs:360
+#: src/app/main/ui/static.cljs:365
msgid "labels.nitrate-not-configured.main-message"
msgstr "Penpot 尚無法啟動。"
-#: src/app/main/ui/static.cljs:370
+#: src/app/main/ui/static.cljs:375
msgid "labels.nitrate-not-configured.technical-guide"
msgstr "技術指南"
-#: src/app/main/ui/static.cljs:350
+#: src/app/main/ui/static.cljs:355
msgid "labels.nitrate-unavailable.main-message"
msgstr "Penpot 因系統問題暫時無法使用,請稍後再試。"
-#: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164
+#: src/app/main/ui/dashboard/comments.cljs:118, src/app/main/ui/workspace/comments.cljs:171
msgid "labels.no-comments-available"
msgstr "您已看完所有通知!新的留言通知會顯示在這裡。"
-#: src/app/main/ui/dashboard/team.cljs:852
+#: src/app/main/ui/dashboard/team.cljs:847
msgid "labels.no-invitations"
msgstr "沒有待處理的邀請。"
-#: src/app/main/ui/dashboard/team.cljs:855
+#: src/app/main/ui/dashboard/team.cljs:850
msgid "labels.no-invitations-gather-people"
msgstr "邀請夥伴加入,一起打造精彩作品。"
@@ -2910,25 +2858,25 @@ msgstr "邀請夥伴加入,一起打造精彩作品。"
msgid "labels.no-matches"
msgstr "沒有符合的結果"
-#: src/app/main/ui/static.cljs:320
+#: src/app/main/ui/static.cljs:325
msgid "labels.not-found.main-message"
msgstr "糟糕!"
-#: src/app/main/ui/settings/sidebar.cljs:106
+#: src/app/main/ui/settings/sidebar.cljs:102
msgid "labels.notifications"
msgstr "通知"
-#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
+#: src/app/main/ui/dashboard/projects.cljs:247, src/app/main/ui/dashboard/team.cljs:1756
msgid "labels.num-of-files"
msgid_plural "labels.num-of-files"
msgstr[0] "%s 個檔案"
-#: src/app/main/ui/viewer/thumbnails.cljs:82
+#: src/app/main/ui/viewer/thumbnails.cljs:91
msgid "labels.num-of-frames"
msgid_plural "labels.num-of-frames"
msgstr[0] "%s 個畫板"
-#: src/app/main/ui/dashboard/team.cljs:1734
+#: src/app/main/ui/dashboard/team.cljs:1750
msgid "labels.num-of-projects"
msgid_plural "labels.num-of-projects"
msgstr[0] "%s 個專案"
@@ -2937,43 +2885,43 @@ msgstr[0] "%s 個專案"
msgid "labels.old-password"
msgstr "舊密碼"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1038
msgid "labels.open"
msgstr "開啟"
-#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:92
+#: src/app/main/ui/comments.cljs:961, src/app/main/ui/comments.cljs:1026, src/app/main/ui/dashboard/fonts.cljs:466, src/app/main/ui/dashboard/team.cljs:443, src/app/main/ui/dashboard/team.cljs:1444, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:910, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:398, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:590, src/app/main/ui/workspace/top_toolbar.cljs:90
msgid "labels.options"
msgstr "選項"
-#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
+#: src/app/main/ui/onboarding/questions.cljs:132, src/app/main/ui/onboarding/questions.cljs:203, src/app/main/ui/onboarding/questions.cljs:315, src/app/main/ui/workspace/colorpicker/libraries.cljs:129
msgid "labels.other"
msgstr "其他(請註明)"
-#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277
+#: src/app/main/ui/onboarding/questions.cljs:90, src/app/main/ui/onboarding/questions.cljs:166, src/app/main/ui/onboarding/questions.cljs:279
msgid "labels.other-short"
msgstr "其他"
-#: src/app/main/ui/dashboard/team.cljs:403, src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:888, src/app/main/ui/dashboard/team.cljs:1720
+#: src/app/main/ui/dashboard/team.cljs:390, src/app/main/ui/dashboard/team.cljs:425, src/app/main/ui/dashboard/team.cljs:666, src/app/main/ui/dashboard/team.cljs:886, src/app/main/ui/dashboard/team.cljs:1734
msgid "labels.owner"
msgstr "擁有者"
-#: src/app/main/ui/settings/sidebar.cljs:101
+#: src/app/main/ui/settings/sidebar.cljs:97
msgid "labels.password"
msgstr "密碼"
-#: src/app/main/ui/dashboard/team.cljs:783
+#: src/app/main/ui/dashboard/team.cljs:778
msgid "labels.pending-invitation"
msgstr "待接受"
-#: src/app/main/ui/dashboard/sidebar.cljs:536
+#: src/app/main/ui/dashboard/sidebar.cljs:529
msgid "labels.penpot-changelog"
msgstr "Penpot 更新紀錄"
-#: src/app/main/ui/dashboard/sidebar.cljs:442
+#: src/app/main/ui/dashboard/sidebar.cljs:435
msgid "labels.penpot-hub"
msgstr "Penpot Hub"
-#: src/app/main/ui/dashboard/sidebar.cljs:388
+#: src/app/main/ui/dashboard/sidebar.cljs:379
msgid "labels.pinned-projects"
msgstr "已釘選的專案"
@@ -2981,31 +2929,31 @@ msgstr "已釘選的專案"
msgid "labels.post"
msgstr "發布"
-#: src/app/main/ui/dashboard/import.cljs:698, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:612
+#: src/app/main/ui/dashboard/import.cljs:803, src/app/main/ui/dashboard/templates.cljs:284, src/app/main/ui/onboarding/questions.cljs:50, src/app/main/ui/viewer.cljs:108, src/app/main/ui/workspace/sidebar/layers.cljs:645
msgid "labels.previous"
msgstr "上一個"
-#: src/app/main/ui/onboarding/questions.cljs:82
+#: src/app/main/ui/onboarding/questions.cljs:84
msgid "labels.product-design"
msgstr "產品或使用者體驗設計"
-#: src/app/main/ui/onboarding/questions.cljs:87
+#: src/app/main/ui/onboarding/questions.cljs:89
msgid "labels.product-management"
msgstr "產品管理"
-#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
+#: src/app/main/ui/settings/profile.cljs:162, src/app/main/ui/settings/sidebar.cljs:92
msgid "labels.profile"
msgstr "個人檔案"
-#: src/app/main/ui/dashboard/sidebar.cljs:355
+#: src/app/main/ui/dashboard/sidebar.cljs:348
msgid "labels.projects"
msgstr "專案"
-#: src/app/main/ui/dashboard/deleted.cljs:212
+#: src/app/main/ui/dashboard/deleted.cljs:218
msgid "labels.recent"
msgstr "最近"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:243, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:216
msgid "labels.reference"
msgstr "參照"
@@ -3013,27 +2961,27 @@ msgstr "參照"
msgid "labels.refresh"
msgstr "重新整理"
-#: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183
+#: src/app/main/ui/settings/sidebar.cljs:136, src/app/main/ui/workspace/main_menu.cljs:184
msgid "labels.release-notes"
msgstr "版本更新說明"
-#: src/app/main/ui/static.cljs:383
+#: src/app/main/errors.cljs:663, src/app/main/ui/static.cljs:388
msgid "labels.reload-page"
msgstr "重新載入頁面"
-#: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
+#: src/app/main/ui/dashboard/fonts.cljs:288, src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402
msgid "labels.remove"
msgstr "移除"
-#: src/app/main/ui/dashboard/team.cljs:468
+#: src/app/main/ui/dashboard/team.cljs:459
msgid "labels.remove-member"
msgstr "移除成員"
-#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
+#: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:204, src/app/main/ui/dashboard/project_menu.cljs:90, src/app/main/ui/workspace/sidebar/assets/groups.cljs:187, src/app/main/ui/workspace/sidebar/versions.cljs:228, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:101, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:63
msgid "labels.rename"
msgstr "重新命名"
-#: src/app/main/ui/dashboard/team_form.cljs:117
+#: src/app/main/ui/dashboard/team_form.cljs:118
msgid "labels.rename-team"
msgstr "重新命名團隊"
@@ -3057,11 +3005,11 @@ msgstr "新回覆"
msgid "labels.reply.thread"
msgstr "回覆"
-#: src/app/main/ui/dashboard/team.cljs:910
+#: src/app/main/ui/dashboard/team.cljs:908
msgid "labels.resend"
msgstr "重新傳送"
-#: src/app/main/ui/dashboard/team.cljs:1213
+#: src/app/main/ui/dashboard/team.cljs:1214
msgid "labels.resend-invitation"
msgstr "重新傳送邀請"
@@ -3069,43 +3017,43 @@ msgstr "重新傳送邀請"
msgid "labels.restore"
msgstr "還原"
-#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:437
+#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:338, src/app/main/ui/static.cljs:347, src/app/main/ui/static.cljs:445
msgid "labels.retry"
msgstr "重試"
-#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
+#: src/app/main/ui/dashboard/team.cljs:615, src/app/main/ui/dashboard/team.cljs:1221
msgid "labels.role"
msgstr "角色"
-#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
+#: src/app/main/ui/dashboard/fonts.cljs:457, src/app/main/ui/shortcuts.cljs:788, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:207, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:364, src/app/main/ui/workspace/tokens/settings/menu.cljs:109
msgid "labels.save"
msgstr "儲存"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:763, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:787
+#: src/app/main/ui/dashboard/sidebar.cljs:236, src/app/main/ui/workspace/sidebar/layers.cljs:796, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:795
msgid "labels.search"
msgstr "搜尋"
-#: src/app/main/ui/dashboard/fonts.cljs:475
+#: src/app/main/ui/dashboard/fonts.cljs:505
msgid "labels.search-font"
msgstr "搜尋字型"
-#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215
+#: src/app/main/ui/onboarding/questions.cljs:83, src/app/main/ui/onboarding/questions.cljs:217
msgid "labels.select-option"
msgstr "選擇選項"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.send"
msgstr "傳送"
-#: src/app/main/ui/settings/feedback.cljs:138
+#: src/app/main/ui/settings/feedback.cljs:140
msgid "labels.sending"
msgstr "正在傳送…"
-#: src/app/main/ui/static.cljs:340
+#: src/app/main/ui/static.cljs:345
msgid "labels.service-unavailable.desc-message"
msgstr "系統正在進行排定的維護作業。"
-#: src/app/main/ui/static.cljs:339
+#: src/app/main/ui/static.cljs:344
msgid "labels.service-unavailable.main-message"
msgstr "服務暫時無法使用"
@@ -3113,67 +3061,67 @@ msgstr "服務暫時無法使用"
msgid "labels.sets"
msgstr "集合"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:140, src/app/main/ui/settings/options.cljs:133, src/app/main/ui/settings/sidebar.cljs:91, src/app/main/ui/settings/sidebar.cljs:118
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:196, src/app/main/ui/dashboard/team.cljs:102, src/app/main/ui/dashboard/team.cljs:124, src/app/main/ui/settings/options.cljs:139, src/app/main/ui/settings/sidebar.cljs:87, src/app/main/ui/settings/sidebar.cljs:114
msgid "labels.settings"
msgstr "設定"
-#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233
+#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:300
msgid "labels.shadow"
msgstr "陰影"
-#: src/app/main/ui/viewer/header.cljs:204
+#: src/app/main/ui/viewer/header.cljs:215
msgid "labels.share"
msgstr "分享"
-#: src/app/main/ui/dashboard/sidebar.cljs:382
+#: src/app/main/ui/dashboard/sidebar.cljs:374
msgid "labels.shared-libraries"
msgstr "資料庫"
-#: src/app/main/ui/dashboard/templates.cljs:86
+#: src/app/main/ui/dashboard/templates.cljs:81
msgid "labels.show"
msgstr "顯示"
-#: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138
+#: src/app/main/ui/viewer/comments.cljs:90, src/app/main/ui/workspace/comments.cljs:57, src/app/main/ui/workspace/comments.cljs:144
msgid "labels.show-all-comments"
msgstr "顯示所有留言"
-#: src/app/main/ui/viewer/comments.cljs:127
+#: src/app/main/ui/viewer/comments.cljs:130
msgid "labels.show-comments-list"
msgstr "顯示留言清單"
-#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140
+#: src/app/main/ui/viewer/comments.cljs:108, src/app/main/ui/workspace/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:146
msgid "labels.show-mentions"
msgstr "僅顯示提及您的留言"
-#: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139
+#: src/app/main/ui/viewer/comments.cljs:99, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:145
msgid "labels.show-your-comments"
msgstr "僅顯示您的留言"
-#: src/app/main/ui/onboarding/questions.cljs:156
+#: src/app/main/ui/onboarding/questions.cljs:158
msgid "labels.sketch"
msgstr "sketch"
-#: src/app/main/ui/dashboard/sidebar.cljs:367
+#: src/app/main/ui/dashboard/sidebar.cljs:359
msgid "labels.sources"
msgstr "來源"
-#: src/app/main/ui/static.cljs:554
+#: src/app/main/ui/static.cljs:562
msgid "labels.sso-error.desc-message"
msgstr "未能透過您組織的身分識別提供者完成登入。該服務可能暫時無法使用,或您的帳號尚未加入其目錄。"
-#: src/app/main/ui/static.cljs:555
+#: src/app/main/ui/static.cljs:563
msgid "labels.sso-error.retry"
msgstr "再試一次"
-#: src/app/main/ui/static.cljs:553
+#: src/app/main/ui/static.cljs:561
msgid "labels.sso-error.title"
msgstr "無法將您登入 %s"
-#: src/app/main/ui/onboarding/questions.cljs:53
+#: src/app/main/ui/onboarding/questions.cljs:55
msgid "labels.start"
msgstr "開始"
-#: src/app/main/ui/dashboard/team.cljs:1229
+#: src/app/main/ui/dashboard/team.cljs:1230
msgid "labels.status"
msgstr "狀態"
@@ -3181,7 +3129,7 @@ msgstr "狀態"
msgid "labels.stroke"
msgstr "筆畫"
-#: src/app/main/ui/onboarding/questions.cljs:84
+#: src/app/main/ui/onboarding/questions.cljs:86
msgid "labels.student-teacher"
msgstr "學生或教師"
@@ -3193,7 +3141,7 @@ msgstr "樣式"
msgid "labels.svg"
msgstr "SVG"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:570
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:593
msgid "labels.switch"
msgstr "切換"
@@ -3201,19 +3149,19 @@ msgstr "切換"
msgid "labels.text"
msgstr "文字"
-#: src/app/main/ui/workspace/tokens/themes.cljs:36
+#: src/app/main/ui/workspace/tokens/themes.cljs:39
msgid "labels.themes"
msgstr "佈景主題"
-#: src/app/main/ui/workspace/main_menu.cljs:174
+#: src/app/main/ui/workspace/main_menu.cljs:175
msgid "labels.tutorials"
msgstr "教學"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:259
msgid "labels.typography"
msgstr "文字樣式"
-#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175
+#: src/app/main/data/workspace/tokens/errors.cljs:152, src/app/main/data/workspace/tokens/errors.cljs:179, src/app/main/data/workspace/tokens/errors.cljs:191
msgid "labels.unknown-error"
msgstr "未知錯誤"
@@ -3225,35 +3173,31 @@ msgstr "解除鎖定"
msgid "labels.unpublish-multi-files"
msgstr "取消發布 %s 個檔案"
-#: src/app/main/ui/settings/profile.cljs:123
+#: src/app/main/ui/settings/profile.cljs:131
msgid "labels.update"
msgstr "更新"
-#: src/app/main/ui/dashboard/team_form.cljs:138
+#: src/app/main/ui/dashboard/team_form.cljs:142
msgid "labels.update-team"
msgstr "更新團隊"
-#: src/app/main/ui/dashboard/fonts.cljs:270
+#: src/app/main/ui/dashboard/fonts.cljs:286
msgid "labels.upload"
msgstr "上傳"
-#: src/app/main/ui/dashboard/fonts.cljs:197
+#: src/app/main/ui/dashboard/fonts.cljs:209
msgid "labels.upload-custom-fonts"
msgstr "上傳自訂字型"
-#: src/app/main/ui/dashboard/fonts.cljs:269
+#: src/app/main/ui/dashboard/fonts.cljs:285
msgid "labels.uploading"
msgstr "正在上傳…"
-#: src/app/main/ui/dashboard/import.cljs:648
-msgid "labels.uploading-file"
-msgstr "正在上傳檔案…"
-
-#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034
+#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046
msgid "labels.variant"
msgstr "變體"
-#: src/app/main/ui/dashboard/sidebar.cljs:530
+#: src/app/main/ui/dashboard/sidebar.cljs:523
msgid "labels.version-notes"
msgstr "版本 %s 說明"
@@ -3261,7 +3205,7 @@ msgstr "版本 %s 說明"
msgid "labels.view-only"
msgstr "僅供檢視"
-#: src/app/main/ui/dashboard/team.cljs:163, src/app/main/ui/dashboard/team.cljs:406, src/app/main/ui/dashboard/team.cljs:427, src/app/main/ui/dashboard/team.cljs:678, src/app/main/ui/dashboard/team.cljs:714, src/app/main/ui/dashboard/team.cljs:891, src/app/main/ui/onboarding/team_choice.cljs:70
+#: src/app/main/ui/dashboard/team.cljs:147, src/app/main/ui/dashboard/team.cljs:393, src/app/main/ui/dashboard/team.cljs:415, src/app/main/ui/dashboard/team.cljs:669, src/app/main/ui/dashboard/team.cljs:709, src/app/main/ui/dashboard/team.cljs:889, src/app/main/ui/onboarding/team_choice.cljs:70
msgid "labels.viewer"
msgstr "檢視者"
@@ -3274,7 +3218,7 @@ msgid "labels.warning-count"
msgid_plural "labels.warning-count"
msgstr[0] "%s 則警告"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1422
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:191, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:120, src/app/main/ui/dashboard/team.cljs:1426
msgid "labels.webhooks"
msgstr "Webhook"
@@ -3282,11 +3226,11 @@ msgstr "Webhook"
msgid "labels.write-new-comment"
msgstr "撰寫新留言"
-#: src/app/main/ui/dashboard/team.cljs:381
+#: src/app/main/ui/dashboard/team.cljs:368
msgid "labels.you"
msgstr "(你)"
-#: src/app/main/ui/dashboard/sidebar.cljs:700
+#: src/app/main/ui/dashboard/sidebar.cljs:692
msgid "labels.your-account"
msgstr "你的帳戶"
@@ -3418,7 +3362,7 @@ msgstr "將「%s」新增為共享資料庫"
msgid "modals.before-leave-organization.message"
msgstr "您是部分團隊中唯一的成員。這些團隊及其專案與檔案都將被刪除。"
-#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:151
+#: src/app/main/data/nitrate.cljs:319, src/app/main/ui/dashboard/change_owner.cljs:153
msgid "modals.before-leave-organization.title"
msgstr "離開組織前"
@@ -3426,75 +3370,75 @@ msgstr "離開組織前"
msgid "modals.before-leave-organization.warning"
msgstr "所有只有您一位成員的團隊都將被刪除。"
-#: src/app/main/ui/workspace/nudge.cljs:59
+#: src/app/main/ui/workspace/nudge.cljs:63
msgid "modals.big-nudge"
msgstr "大幅移動"
-#: src/app/main/ui/settings/change_email.cljs:109
+#: src/app/main/ui/settings/change_email.cljs:113
msgid "modals.change-email.confirm-email"
msgstr "確認新的電子郵件地址"
-#: src/app/main/ui/settings/change_email.cljs:97
+#: src/app/main/ui/settings/change_email.cljs:101
msgid "modals.change-email.info"
msgstr "我們會寄送郵件至您目前的電子郵件地址「%s」,以驗證您的身分。"
-#: src/app/main/ui/settings/change_email.cljs:102
+#: src/app/main/ui/settings/change_email.cljs:106
msgid "modals.change-email.new-email"
msgstr "新的電子郵件地址"
-#: src/app/main/ui/settings/change_email.cljs:117
+#: src/app/main/ui/settings/change_email.cljs:121
msgid "modals.change-email.submit"
msgstr "變更電子郵件地址"
-#: src/app/main/ui/settings/change_email.cljs:90
+#: src/app/main/ui/settings/change_email.cljs:91
msgid "modals.change-email.title"
msgstr "變更您的電子郵件地址"
-#: src/app/main/ui/dashboard/team.cljs:1416
+#: src/app/main/ui/dashboard/team.cljs:1420
msgid "modals.create-webhook.submit-label"
msgstr "建立 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1381
+#: src/app/main/ui/dashboard/team.cljs:1382
msgid "modals.create-webhook.title"
msgstr "建立 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1392
+#: src/app/main/ui/dashboard/team.cljs:1396
msgid "modals.create-webhook.url.label"
msgstr "資料接收網址"
-#: src/app/main/ui/dashboard/team.cljs:1393
+#: src/app/main/ui/dashboard/team.cljs:1397
msgid "modals.create-webhook.url.placeholder"
msgstr "https://example.com/postreceive"
-#: src/app/main/ui/settings/delete_account.cljs:105
+#: src/app/main/ui/settings/delete_account.cljs:110
msgid "modals.delete-account.cancel"
msgstr "取消並保留我的帳號"
-#: src/app/main/ui/settings/delete_account.cljs:110
+#: src/app/main/ui/settings/delete_account.cljs:115
msgid "modals.delete-account.confirm"
msgstr "是,刪除我的帳號"
-#: src/app/main/ui/settings/delete_account.cljs:74
+#: src/app/main/ui/settings/delete_account.cljs:78
msgid "modals.delete-account.info"
msgstr "刪除帳號後,你將失去目前所有的專案與封存資料。"
-#: src/app/main/ui/settings/delete_account.cljs:73
+#: src/app/main/ui/settings/delete_account.cljs:77
msgid "modals.delete-account.info.with-organizations"
msgstr "此操作無法復原。你的帳號、訂閱及組織將立即刪除,你也將無法再存取目前的專案與檔案。"
-#: src/app/main/ui/settings/delete_account.cljs:83
+#: src/app/main/ui/settings/delete_account.cljs:87
msgid "modals.delete-account.owned-organizations.list-title"
msgstr "即將刪除的組織"
-#: src/app/main/ui/settings/delete_account.cljs:98
+#: src/app/main/ui/settings/delete_account.cljs:102
msgid "modals.delete-account.owned-organizations.members-count"
msgstr "%s 位成員"
-#: src/app/main/ui/settings/delete_account.cljs:96
+#: src/app/main/ui/settings/delete_account.cljs:100
msgid "modals.delete-account.owned-organizations.teams-count"
msgstr "%s 個團隊"
-#: src/app/main/ui/settings/delete_account.cljs:64
+#: src/app/main/ui/settings/delete_account.cljs:65
msgid "modals.delete-account.title"
msgstr "確定要刪除您的帳號嗎?"
@@ -3551,19 +3495,19 @@ msgstr "確定要刪除 %s 個檔案嗎?"
msgid "modals.delete-file-multi-confirm.title"
msgstr "刪除 %s 個檔案"
-#: src/app/main/ui/dashboard/fonts.cljs:396
+#: src/app/main/ui/dashboard/fonts.cljs:413
msgid "modals.delete-font-variant.message"
msgstr "確定要刪除這個字型樣式嗎?刪除後,使用此樣式的檔案將無法載入此樣式。"
-#: src/app/main/ui/dashboard/fonts.cljs:395
+#: src/app/main/ui/dashboard/fonts.cljs:412
msgid "modals.delete-font-variant.title"
msgstr "刪除字型樣式"
-#: src/app/main/ui/dashboard/fonts.cljs:362
+#: src/app/main/ui/dashboard/fonts.cljs:379
msgid "modals.delete-font.message"
msgstr "確定要刪除這個字型嗎?刪除後,使用此字型的檔案將無法載入此字型。"
-#: src/app/main/ui/dashboard/fonts.cljs:361
+#: src/app/main/ui/dashboard/fonts.cljs:378
msgid "modals.delete-font.title"
msgstr "刪除字型"
@@ -3571,19 +3515,19 @@ msgstr "刪除字型"
msgid "modals.delete-organization-team-confirm.message"
msgstr "確定要刪除隸屬於 %s 組織的這個團隊嗎?"
-#: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
+#: src/app/main/ui/workspace/context_menu.cljs:816, src/app/main/ui/workspace/sidebar/sitemap.cljs:125
msgid "modals.delete-page.body"
msgstr "確定要刪除此頁面嗎?"
-#: src/app/main/ui/workspace/context_menu.cljs:807, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
+#: src/app/main/ui/workspace/context_menu.cljs:815, src/app/main/ui/workspace/sidebar/sitemap.cljs:124, src/app/main/ui/workspace/sidebar/sitemap.cljs:242
msgid "modals.delete-page.title"
msgstr "刪除頁面"
-#: src/app/main/ui/workspace/context_menu.cljs:814
+#: src/app/main/ui/workspace/context_menu.cljs:822
msgid "modals.delete-pages.body"
msgstr "確定要刪除所選頁面嗎?"
-#: src/app/main/ui/workspace/context_menu.cljs:813
+#: src/app/main/ui/workspace/context_menu.cljs:821
msgid "modals.delete-pages.title"
msgstr "刪除頁面"
@@ -3599,27 +3543,27 @@ msgstr "確定要刪除此專案嗎?"
msgid "modals.delete-project-confirm.title"
msgstr "刪除專案"
-#: src/app/main/ui/delete_shared.cljs:52
+#: src/app/main/ui/delete_shared.cljs:54
msgid "modals.delete-shared-confirm.accept"
msgid_plural "modals.delete-shared-confirm.accept"
msgstr[0] "刪除檔案"
-#: src/app/main/ui/delete_shared.cljs:56
+#: src/app/main/ui/delete_shared.cljs:58
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:58
+#: src/app/main/ui/delete_shared.cljs:60
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:47
+#: src/app/main/ui/delete_shared.cljs:49
msgid "modals.delete-shared-confirm.message"
msgid_plural "modals.delete-shared-confirm.message"
msgstr[0] "確定要刪除這些檔案嗎?"
-#: src/app/main/ui/delete_shared.cljs:42
+#: src/app/main/ui/delete_shared.cljs:44
msgid "modals.delete-shared-confirm.title"
msgid_plural "modals.delete-shared-confirm.title"
msgstr[0] "刪除檔案"
@@ -3636,40 +3580,40 @@ msgstr "確定要刪除這個團隊嗎?與此團隊相關的所有專案和檔
msgid "modals.delete-team-confirm.title"
msgstr "刪除團隊"
-#: src/app/main/ui/dashboard/team.cljs:573
+#: src/app/main/ui/dashboard/team.cljs:564
msgid "modals.delete-team-member-confirm.accept"
msgstr "移除成員"
-#: src/app/main/ui/dashboard/team.cljs:572
+#: src/app/main/ui/dashboard/team.cljs:563
msgid "modals.delete-team-member-confirm.message"
msgstr "確定要將這位成員從團隊中移除嗎?"
-#: src/app/main/ui/dashboard/team.cljs:571
+#: src/app/main/ui/dashboard/team.cljs:562
msgid "modals.delete-team-member-confirm.title"
msgstr "移除團隊成員"
-#: src/app/main/ui/delete_shared.cljs:60
+#: src/app/main/ui/delete_shared.cljs:62
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:1483
+#: src/app/main/ui/dashboard/team.cljs:1492
msgid "modals.delete-webhook.accept"
msgstr "刪除 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1482
+#: src/app/main/ui/dashboard/team.cljs:1491
msgid "modals.delete-webhook.message"
msgstr "確定要刪除此 webhook 嗎?"
-#: src/app/main/ui/dashboard/team.cljs:1481
+#: src/app/main/ui/dashboard/team.cljs:1490
msgid "modals.delete-webhook.title"
msgstr "刪除 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1415
+#: src/app/main/ui/dashboard/team.cljs:1419
msgid "modals.edit-webhook.submit-label"
msgstr "編輯 webhook"
-#: src/app/main/ui/dashboard/team.cljs:1380
+#: src/app/main/ui/dashboard/team.cljs:1381
msgid "modals.edit-webhook.title"
msgstr "編輯 webhook"
@@ -3685,15 +3629,15 @@ msgstr "匯入 tokens"
msgid "modals.import-library-tokens.title"
msgstr "要從資料庫匯入 tokens 嗎?"
-#: src/app/main/ui/dashboard/team.cljs:308
+#: src/app/main/ui/dashboard/team.cljs:292
msgid "modals.invite-member-confirm.accept"
msgstr "傳送邀請"
-#: src/app/main/ui/dashboard/team.cljs:302, src/app/main/ui/onboarding/team_choice.cljs:222
+#: src/app/main/ui/dashboard/team.cljs:286, src/app/main/ui/onboarding/team_choice.cljs:222
msgid "modals.invite-member.emails"
msgstr "電子郵件地址,以逗號分隔"
-#: src/app/main/ui/dashboard/team.cljs:286
+#: src/app/main/ui/dashboard/team.cljs:270
msgid "modals.invite-member.repeated-invitation"
msgstr "部分成員已加入團隊,我們會邀請其餘成員。"
@@ -3709,87 +3653,87 @@ msgstr "未寄出任何邀請"
msgid "modals.invite-restricted-members.all-organization-members-in-team"
msgstr "只有「%s」組織的成員才能受邀加入此團隊,而他們都已經是團隊成員。如需更多資訊,請聯絡組織擁有者。"
-#: src/app/main/ui/dashboard/team.cljs:340
+#: src/app/main/ui/dashboard/team.cljs:327
msgid "modals.invite-restricted-members.blocked-addresses"
msgstr "不會收到邀請的電子郵件地址"
-#: src/app/main/ui/dashboard/team.cljs:357
+#: src/app/main/ui/dashboard/team.cljs:344
msgid "modals.invite-restricted-members.cancel"
msgstr "取消"
-#: src/app/main/ui/dashboard/team.cljs:330
+#: src/app/main/ui/dashboard/team.cljs:317
msgid "modals.invite-restricted-members.description"
msgstr "只能邀請組織的現有成員。"
-#: src/app/main/ui/dashboard/team.cljs:365
+#: src/app/main/ui/dashboard/team.cljs:352
msgid "modals.invite-restricted-members.send"
msgstr "寄送邀請"
-#: src/app/main/ui/dashboard/team.cljs:325
+#: src/app/main/ui/dashboard/team.cljs:309
msgid "modals.invite-restricted-members.title"
msgstr "部分邀請無法寄出"
-#: src/app/main/ui/dashboard/team.cljs:331
+#: src/app/main/ui/dashboard/team.cljs:318
msgid "modals.invite-restricted-members.warning"
msgstr "清單上的部分人員不會收到邀請。"
-#: src/app/main/ui/dashboard/team.cljs:278
+#: src/app/main/ui/dashboard/team.cljs:262
msgid "modals.invite-team-member.text"
msgstr "您可以邀請成員加入團隊,讓他們存取此檔案及團隊的所有檔案。"
-#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155
+#: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:256, src/app/main/ui/dashboard/team_form.cljs:159
msgid "modals.invite-team-member.title"
msgstr "邀請成員加入團隊"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:539
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:148, src/app/main/ui/dashboard/team.cljs:530
msgid "modals.leave-and-close-confirm.hint"
msgstr "由於您是這個團隊的唯一成員,團隊及其所有專案和檔案都將一併刪除。"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:538
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:147, src/app/main/ui/dashboard/team.cljs:529
msgid "modals.leave-and-close-confirm.message"
msgstr "您確定要離開 %s 團隊嗎?"
-#: src/app/main/ui/dashboard/change_owner.cljs:57, src/app/main/ui/dashboard/change_owner.cljs:92
+#: src/app/main/ui/dashboard/change_owner.cljs:62, src/app/main/ui/dashboard/change_owner.cljs:94
msgid "modals.leave-and-reassign.forbidden"
msgstr "沒有其他成員可接任擁有者,因此您無法離開團隊。您可以考慮刪除團隊。"
-#: src/app/main/ui/dashboard/change_owner.cljs:53
+#: src/app/main/ui/dashboard/change_owner.cljs:58
msgid "modals.leave-and-reassign.hint1"
msgstr "您是這個團隊的擁有者。離開前,請先選擇另一位成員接任擁有者。"
-#: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183
+#: src/app/main/ui/dashboard/change_owner.cljs:79, src/app/main/ui/dashboard/change_owner.cljs:186
msgid "modals.leave-and-reassign.promote-and-leave"
msgstr "轉移擁有權並離開"
-#: src/app/main/ui/dashboard/change_owner.cljs:33
+#: src/app/main/ui/dashboard/change_owner.cljs:35
msgid "modals.leave-and-reassign.select-member-to-promote"
msgstr "選擇接任擁有者的成員"
-#: src/app/main/ui/dashboard/change_owner.cljs:47
+#: src/app/main/ui/dashboard/change_owner.cljs:49
msgid "modals.leave-and-reassign.title"
msgstr "離開之前"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:124, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:149, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:553
msgid "modals.leave-confirm.accept"
msgstr "離開團隊"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:561
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:123, src/app/main/ui/dashboard/team.cljs:552
msgid "modals.leave-confirm.message"
msgstr "您確定要離開這個團隊嗎?"
-#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:537, src/app/main/ui/dashboard/team.cljs:560
+#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:122, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:146, src/app/main/ui/dashboard/team.cljs:528, src/app/main/ui/dashboard/team.cljs:551
msgid "modals.leave-confirm.title"
msgstr "離開團隊"
-#: src/app/main/ui/dashboard/change_owner.cljs:158
+#: src/app/main/ui/dashboard/change_owner.cljs:163
msgid "modals.leave-organization-and-reassign.hint"
msgstr "您是組織中部分團隊的擁有者。請將其他成員設為擁有者。"
-#: src/app/main/ui/dashboard/change_owner.cljs:161
+#: src/app/main/ui/dashboard/change_owner.cljs:166
msgid "modals.leave-organization-and-reassign.hint-delete"
msgstr "您是部分團隊中唯一的成員。這些團隊將連同其中的專案與檔案一併刪除。"
-#: src/app/main/ui/dashboard/change_owner.cljs:163
+#: src/app/main/ui/dashboard/change_owner.cljs:168
msgid "modals.leave-organization-and-reassign.hint-promote"
msgstr "此外,您也是組織中部分團隊的擁有者。請將其他成員設為擁有者。"
@@ -3805,50 +3749,50 @@ msgstr "您將永久失去此組織內所有團隊、專案與檔案的存取權
msgid "modals.leave-organization-confirm.title"
msgstr "要離開 %s 組織嗎?"
-#: src/app/main/ui/delete_shared.cljs:54
+#: src/app/main/ui/delete_shared.cljs:56
msgid "modals.move-shared-confirm.accept"
msgid_plural "modals.move-shared-confirm.accept"
msgstr[0] "移動"
-#: src/app/main/ui/delete_shared.cljs:49
+#: src/app/main/ui/delete_shared.cljs:51
msgid "modals.move-shared-confirm.message"
msgid_plural "modals.move-shared-confirm.message"
msgstr[0] "確定要移動這些資料庫嗎?"
-#: src/app/main/ui/delete_shared.cljs:44
+#: src/app/main/ui/delete_shared.cljs:46
msgid "modals.move-shared-confirm.title"
msgid_plural "modals.move-shared-confirm.title"
msgstr[0] "移動資料庫"
-#: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46
+#: src/app/main/ui/workspace/main_menu.cljs:318, src/app/main/ui/workspace/nudge.cljs:47
msgid "modals.nudge-title"
msgstr "微調幅度"
-#: src/app/main/ui/dashboard/team.cljs:492
+#: src/app/main/ui/dashboard/team.cljs:483
msgid "modals.promote-owner-confirm.accept"
msgstr "轉移所有權"
-#: src/app/main/ui/dashboard/team.cljs:491
+#: src/app/main/ui/dashboard/team.cljs:482
msgid "modals.promote-owner-confirm.hint"
msgstr "轉移所有權後,您的角色將變更為管理員,並失去此團隊的部分權限。 "
-#: src/app/main/ui/dashboard/team.cljs:490
+#: src/app/main/ui/dashboard/team.cljs:481
msgid "modals.promote-owner-confirm.message"
msgstr "您目前是此團隊的擁有者。確定要讓 %s 成為團隊的新擁有者嗎?"
-#: src/app/main/ui/dashboard/team.cljs:489
+#: src/app/main/ui/dashboard/team.cljs:480
msgid "modals.promote-owner-confirm.title"
msgstr "新的團隊擁有者"
-#: src/app/main/ui/workspace/libraries.cljs:397, src/app/main/ui/workspace/libraries.cljs:775
+#: src/app/main/ui/workspace/libraries.cljs:449, src/app/main/ui/workspace/libraries.cljs:797
msgid "modals.publish-empty-library.accept"
msgstr "發布"
-#: src/app/main/ui/workspace/libraries.cljs:396, src/app/main/ui/workspace/libraries.cljs:774
+#: src/app/main/ui/workspace/libraries.cljs:448, src/app/main/ui/workspace/libraries.cljs:796
msgid "modals.publish-empty-library.message"
msgstr "您的資料庫目前沒有內容。確定要發布嗎?"
-#: src/app/main/ui/workspace/libraries.cljs:395, src/app/main/ui/workspace/libraries.cljs:773
+#: src/app/main/ui/workspace/libraries.cljs:447, src/app/main/ui/workspace/libraries.cljs:795
msgid "modals.publish-empty-library.title"
msgstr "發布空白資料庫"
@@ -3868,21 +3812,21 @@ msgstr "確定要將「%s」團隊從「%s」組織中移除嗎?"
msgid "modals.remove-team-organization.title"
msgstr "從組織中移除團隊"
-#: src/app/main/ui/workspace/nudge.cljs:52
+#: src/app/main/ui/workspace/nudge.cljs:56
msgid "modals.small-nudge"
msgstr "小幅微調"
-#: src/app/main/ui/delete_shared.cljs:53
+#: src/app/main/ui/delete_shared.cljs:55
msgid "modals.unpublish-shared-confirm.accept"
msgid_plural "modals.unpublish-shared-confirm.accept"
msgstr[0] "取消發布"
-#: src/app/main/ui/delete_shared.cljs:48
+#: src/app/main/ui/delete_shared.cljs:50
msgid "modals.unpublish-shared-confirm.message"
msgid_plural "modals.unpublish-shared-confirm.message"
msgstr[0] "確定要取消發布這些資料庫嗎?"
-#: src/app/main/ui/delete_shared.cljs:43
+#: src/app/main/ui/delete_shared.cljs:45
msgid "modals.unpublish-shared-confirm.title"
msgid_plural "modals.unpublish-shared-confirm.title"
msgstr[0] "取消發布資料庫"
@@ -3967,31 +3911,31 @@ msgstr "啟用"
msgid "nitrate.code-activation.title"
msgstr "啟用企業版"
-#: src/app/main/ui/settings/subscription.cljs:906
+#: src/app/main/ui/settings/subscription.cljs:933
msgid "nitrate.contact-sales.button"
msgstr "聯絡業務團隊"
-#: src/app/main/ui/settings/subscription.cljs:899
+#: src/app/main/ui/settings/subscription.cljs:926
msgid "nitrate.contact-sales.downgrade-contact-info"
msgstr "如要切換至此方案,請聯絡我們的業務團隊。我們會協助您更新訂閱,並確保所有設定皆正確無誤。"
-#: src/app/main/ui/settings/subscription.cljs:885
+#: src/app/main/ui/settings/subscription.cljs:912
msgid "nitrate.contact-sales.downgrade-organization-deleted"
msgstr "您的組織將遭到刪除。"
-#: src/app/main/ui/settings/subscription.cljs:887
+#: src/app/main/ui/settings/subscription.cljs:914
msgid "nitrate.contact-sales.downgrade-storage-limited"
msgstr "您的儲存空間總容量、自動儲存的版本紀錄及檔案復原期限都將受到限制。"
-#: src/app/main/ui/settings/subscription.cljs:886
+#: src/app/main/ui/settings/subscription.cljs:913
msgid "nitrate.contact-sales.downgrade-teams-available"
msgstr "團隊、專案和檔案將不再隸屬於任何組織,但仍可繼續使用。"
-#: src/app/main/ui/settings/subscription.cljs:883
+#: src/app/main/ui/settings/subscription.cljs:910
msgid "nitrate.contact-sales.downgrade-title"
msgstr "降級後:"
-#: src/app/main/ui/settings/subscription.cljs:880
+#: src/app/main/ui/settings/subscription.cljs:907
msgid "nitrate.contact-sales.title"
msgstr "要切換至 %s 方案嗎?"
@@ -4007,15 +3951,15 @@ msgstr "請聯絡我們,試用企業版 14 天:"
msgid "nitrate.form.contact-upgrade"
msgstr "聯絡我們,升級至企業版:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-free-trial"
msgstr "聯絡我們,試用企業方案 14 天:"
-#: src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.contact-us-upgrade"
msgstr "聯絡我們,升級至企業方案:"
-#: src/app/main/ui/settings/subscription.cljs:837
+#: src/app/main/ui/settings/subscription.cljs:862
msgid "nitrate.form.enterprise-description"
msgstr "目前不會向您收費,試用期結束後才會扣款。您可以隨時取消。"
@@ -4031,7 +3975,7 @@ msgstr "透過專屬管理控制台,集中控管每位成員可在哪裡執行
msgid "nitrate.form.enterprise-feature-3"
msgstr "享有完整的開源自由,同時滿足組織的治理需求"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:832, src/app/main/ui/settings/subscription.cljs:854
+#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:857, src/app/main/ui/settings/subscription.cljs:879
msgid "nitrate.form.enterprise-intro"
msgstr "滿足團隊大規模安全協作的一切需求%s"
@@ -4039,7 +3983,7 @@ msgstr "滿足團隊大規模安全協作的一切需求%s"
msgid "nitrate.form.enterprise.price"
msgstr "每位成員每月"
-#: src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "nitrate.form.free-trial-button"
msgstr "免費試用 14 天"
@@ -4055,7 +3999,7 @@ msgstr "開始使用 Enterprise 方案"
msgid "nitrate.form.subscribe-with-code"
msgstr "使用啟用碼訂閱"
-#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:826
+#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:851
msgid "nitrate.form.title"
msgstr "解鎖 Enterprise 功能"
@@ -4067,7 +4011,7 @@ msgstr "免費試用 14 天"
msgid "nitrate.modal-success.title"
msgstr "歡迎使用 Enterprise 方案!"
-#: src/app/main/ui/settings/subscription.cljs:618
+#: src/app/main/ui/settings/subscription.cljs:634
msgid "nitrate.subscription.active-until"
msgstr "有效期限至 %s"
@@ -4075,23 +4019,23 @@ msgstr "有效期限至 %s"
msgid "nitrate.subscription.renew-success"
msgstr "您的 Enterprise 方案已續訂。"
-#: src/app/main/ui/settings/subscription.cljs:630, src/app/main/ui/settings/subscription.cljs:933
+#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:962
msgid "nitrate.subscription.settings.manual-cancel"
msgstr "取消訂閱"
-#: src/app/main/ui/settings/subscription.cljs:937
+#: src/app/main/ui/settings/subscription.cljs:966
msgid "nitrate.subscription.settings.manual-contact-us"
msgstr "如要取消企業版訂閱,請透過以下方式聯絡我們:"
-#: src/app/main/ui/settings/subscription.cljs:111
+#: src/app/main/ui/settings/subscription.cljs:113
msgid "nitrate.subscription.settings.renew-with-code"
msgstr "使用啟用碼續訂"
-#: src/app/main/ui/static.cljs:322
+#: src/app/main/ui/static.cljs:327
msgid "not-found.desc-message.doesnt-exist"
msgstr "此頁面不存在"
-#: src/app/main/ui/static.cljs:321
+#: src/app/main/ui/static.cljs:326
msgid "not-found.desc-message.error"
msgstr "404 錯誤"
@@ -4107,11 +4051,11 @@ msgstr "我們已將密碼重設郵件寄至"
msgid "not-found.login.sent-recovery-check"
msgstr "請查看電子郵件,並點選連結以設定新密碼。"
-#: src/app/main/ui/static.cljs:185
+#: src/app/main/ui/static.cljs:187
msgid "not-found.login.signup-free"
msgstr "免費註冊"
-#: src/app/main/ui/static.cljs:186
+#: src/app/main/ui/static.cljs:188
msgid "not-found.login.start-using"
msgstr "只要幾秒鐘,就能開始使用 Penpot!"
@@ -4119,63 +4063,63 @@ msgstr "只要幾秒鐘,就能開始使用 Penpot!"
msgid "not-found.made-with-love"
msgstr "以愛與開源精神打造"
-#: src/app/main/ui/static.cljs:282
+#: src/app/main/ui/static.cljs:287
msgid "not-found.no-permission.already-requested.file"
msgstr "您已申請此檔案的存取權限。"
-#: src/app/main/ui/static.cljs:283
+#: src/app/main/ui/static.cljs:288
msgid "not-found.no-permission.already-requested.or-others.file"
msgstr "您已申請此檔案或此團隊其他檔案或專案的存取權限。"
-#: src/app/main/ui/static.cljs:289
+#: src/app/main/ui/static.cljs:294
msgid "not-found.no-permission.already-requested.or-others.project"
msgstr "您已申請此專案或此團隊其他專案或檔案的存取權限。"
-#: src/app/main/ui/static.cljs:288
+#: src/app/main/ui/static.cljs:293
msgid "not-found.no-permission.already-requested.project"
msgstr "您已申請此專案的存取權限。"
-#: src/app/main/ui/static.cljs:303, src/app/main/ui/static.cljs:312
+#: src/app/main/ui/static.cljs:308, src/app/main/ui/static.cljs:317
msgid "not-found.no-permission.ask"
msgstr "申請存取權限"
-#: src/app/main/ui/static.cljs:295
+#: src/app/main/ui/static.cljs:300
msgid "not-found.no-permission.done.remember"
msgstr "請留意,擁有者核准後,您將收到加入團隊的邀請。"
-#: src/app/main/ui/static.cljs:294
+#: src/app/main/ui/static.cljs:299
msgid "not-found.no-permission.done.success"
msgstr "您的申請已成功送出!"
-#: src/app/main/ui/static.cljs:300
+#: src/app/main/ui/static.cljs:305
msgid "not-found.no-permission.file"
msgstr "您沒有此檔案的存取權限。"
-#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:278, src/app/main/ui/static.cljs:284, src/app/main/ui/static.cljs:290, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:557
+#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:283, src/app/main/ui/static.cljs:289, src/app/main/ui/static.cljs:295, src/app/main/ui/static.cljs:301, src/app/main/ui/static.cljs:310, src/app/main/ui/static.cljs:319, src/app/main/ui/static.cljs:565
msgid "not-found.no-permission.go-dashboard"
msgstr "前往個人專案"
-#: src/app/main/ui/static.cljs:302, src/app/main/ui/static.cljs:311
+#: src/app/main/ui/static.cljs:307, src/app/main/ui/static.cljs:316
msgid "not-found.no-permission.if-approves"
msgstr "擁有者核准後,您將收到加入團隊的邀請。"
-#: src/app/main/ui/static.cljs:477, src/app/main/ui/static.cljs:490
+#: src/app/main/ui/static.cljs:485, src/app/main/ui/static.cljs:498
msgid "not-found.no-permission.penpot-file"
msgstr "Penpot 檔案"
-#: src/app/main/ui/static.cljs:277, src/app/main/ui/static.cljs:309
+#: src/app/main/ui/static.cljs:282, src/app/main/ui/static.cljs:314
msgid "not-found.no-permission.project"
msgstr "您沒有此專案的存取權限。"
-#: src/app/main/ui/static.cljs:476, src/app/main/ui/static.cljs:488
+#: src/app/main/ui/static.cljs:484, src/app/main/ui/static.cljs:496
msgid "not-found.no-permission.project-name"
msgstr "專案"
-#: src/app/main/ui/static.cljs:301
+#: src/app/main/ui/static.cljs:306
msgid "not-found.no-permission.you-can-ask.file"
msgstr "如需存取此檔案,請向團隊擁有者申請權限。"
-#: src/app/main/ui/static.cljs:310
+#: src/app/main/ui/static.cljs:315
msgid "not-found.no-permission.you-can-ask.project"
msgstr "如需存取此專案,請向團隊擁有者申請權限。"
@@ -4187,31 +4131,31 @@ msgstr "維護通知:我們將在 5 分鐘內進行短暫維護,期間服務
msgid "notifications.by-code.upgrade-version"
msgstr "已有新版本可用。"
-#: src/app/main/ui/auth/verify_token.cljs:133, src/app/main/ui/auth/verify_token.cljs:136
+#: src/app/main/ui/auth/verify_token.cljs:106, src/app/main/ui/auth/verify_token.cljs:109
msgid "notifications.invitation-canceled"
msgstr "此邀請已失效。"
-#: src/app/main/ui/dashboard/team.cljs:1096
+#: src/app/main/ui/dashboard/team.cljs:1097
msgid "notifications.invitation-deleted"
msgstr "已成功刪除邀請"
-#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
+#: src/app/main/ui/dashboard/team.cljs:197, src/app/main/ui/dashboard/team.cljs:1138
msgid "notifications.invitation-email-sent"
msgstr "已成功寄出邀請"
-#: src/app/main/ui/dashboard/team.cljs:750
+#: src/app/main/ui/dashboard/team.cljs:745
msgid "notifications.invitation-link-copied"
msgstr "已複製邀請連結"
-#: src/app/main/ui/settings/delete_account.cljs:28
+#: src/app/main/ui/settings/delete_account.cljs:29
msgid "notifications.profile-deletion-not-allowed"
msgstr "目前無法刪除您的個人資料。請先移轉您所擁有的團隊,再繼續操作。"
-#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:34
+#: src/app/main/ui/settings/options.cljs:36, src/app/main/ui/settings/profile.cljs:36
msgid "notifications.profile-saved"
msgstr "個人資料已成功儲存!"
-#: src/app/main/ui/settings/change_email.cljs:46
+#: src/app/main/ui/settings/change_email.cljs:47
msgid "notifications.validation-email-sent"
msgstr "已寄送驗證信至 %s。請查看您的信箱!"
@@ -4247,7 +4191,7 @@ msgstr "團隊名稱"
msgid "onboarding.choice.team-up.create-team-without-invite"
msgstr "建立團隊"
-#: src/app/main/ui/dashboard/projects.cljs:93, src/app/main/ui/onboarding/team_choice.cljs:207
+#: src/app/main/ui/dashboard/projects.cljs:101, src/app/main/ui/onboarding/team_choice.cljs:207
msgid "onboarding.choice.team-up.invite-members"
msgstr "邀請成員"
@@ -4255,95 +4199,95 @@ msgstr "邀請成員"
msgid "onboarding.choice.team-up.invite-members-desc"
msgstr "開發人員、設計師、管理者……歡迎所有人加入。您也可以稍後邀請更多成員。"
-#: src/app/main/ui/dashboard/team.cljs:292
+#: src/app/main/ui/dashboard/team.cljs:276
msgid "onboarding.choice.team-up.roles"
msgstr "以此角色邀請:"
-#: src/app/main/ui/onboarding/questions.cljs:104
+#: src/app/main/ui/onboarding/questions.cljs:106
msgid "onboarding.questions.lets-get-started"
msgstr "讓我們開始吧!"
-#: src/app/main/ui/onboarding/questions.cljs:275
+#: src/app/main/ui/onboarding/questions.cljs:277
msgid "onboarding.questions.start-with.code"
msgstr "將設計轉換成可用的程式碼"
-#: src/app/main/ui/onboarding/questions.cljs:273
+#: src/app/main/ui/onboarding/questions.cljs:275
msgid "onboarding.questions.start-with.ds"
msgstr "建立設計系統"
-#: src/app/main/ui/onboarding/questions.cljs:271
+#: src/app/main/ui/onboarding/questions.cljs:273
msgid "onboarding.questions.start-with.prototyping"
msgstr "原型設計"
-#: src/app/main/ui/onboarding/questions.cljs:267
+#: src/app/main/ui/onboarding/questions.cljs:269
msgid "onboarding.questions.start-with.ui"
msgstr "設計應用程式的 UI/UX"
-#: src/app/main/ui/onboarding/questions.cljs:269
+#: src/app/main/ui/onboarding/questions.cljs:271
msgid "onboarding.questions.start-with.wireframing"
msgstr "繪製線框圖"
-#: src/app/main/ui/onboarding/questions.cljs:114
+#: src/app/main/ui/onboarding/questions.cljs:116
msgid "onboarding.questions.step1.question1"
msgstr "您打算用 Penpot 做什麼?"
-#: src/app/main/ui/onboarding/questions.cljs:110
+#: src/app/main/ui/onboarding/questions.cljs:112
msgid "onboarding.questions.step1.subtitle"
msgstr "讓我們多了解您一些,讓 Penpot 更符合您的需求。您的回答將幫助我們安排新功能的開發優先順序,並引導您順利入門。"
-#: src/app/main/ui/onboarding/questions.cljs:107
+#: src/app/main/ui/onboarding/questions.cljs:109
msgid "onboarding.questions.step1.title"
msgstr "讓我們更了解您"
-#: src/app/main/ui/onboarding/questions.cljs:188
+#: src/app/main/ui/onboarding/questions.cljs:190
msgid "onboarding.questions.step2.title"
msgstr "您最常使用下列哪一項工具?"
-#: src/app/main/ui/onboarding/questions.cljs:121
+#: src/app/main/ui/onboarding/questions.cljs:123
msgid "onboarding.questions.step3.question1"
msgstr "您從事哪一類工作?"
-#: src/app/main/ui/onboarding/questions.cljs:242
+#: src/app/main/ui/onboarding/questions.cljs:244
msgid "onboarding.questions.step3.title"
msgstr "您的公司規模有多大?"
-#: src/app/main/ui/onboarding/questions.cljs:300
+#: src/app/main/ui/onboarding/questions.cljs:302
msgid "onboarding.questions.step4.title"
msgstr "您想從哪裡開始?"
-#: src/app/main/ui/onboarding/questions.cljs:226
+#: src/app/main/ui/onboarding/questions.cljs:228
msgid "onboarding.questions.team-size.1001-5000"
msgstr "1,001 - 5,000"
-#: src/app/main/ui/onboarding/questions.cljs:222
+#: src/app/main/ui/onboarding/questions.cljs:224
msgid "onboarding.questions.team-size.101-500"
msgstr "101 - 500"
-#: src/app/main/ui/onboarding/questions.cljs:220
+#: src/app/main/ui/onboarding/questions.cljs:222
msgid "onboarding.questions.team-size.2-100"
msgstr "2 - 100"
-#: src/app/main/ui/onboarding/questions.cljs:224
+#: src/app/main/ui/onboarding/questions.cljs:226
msgid "onboarding.questions.team-size.501-1000"
msgstr "501 - 1,000"
-#: src/app/main/ui/onboarding/questions.cljs:218
+#: src/app/main/ui/onboarding/questions.cljs:220
msgid "onboarding.questions.team-size.just-me"
msgstr "只有我一個人"
-#: src/app/main/ui/onboarding/questions.cljs:228
+#: src/app/main/ui/onboarding/questions.cljs:230
msgid "onboarding.questions.team-size.more-than-5001"
msgstr "5,001+"
-#: src/app/main/ui/onboarding/questions.cljs:76
+#: src/app/main/ui/onboarding/questions.cljs:78
msgid "onboarding.questions.use.education"
msgstr "教育"
-#: src/app/main/ui/onboarding/questions.cljs:77
+#: src/app/main/ui/onboarding/questions.cljs:79
msgid "onboarding.questions.use.personal"
msgstr "個人"
-#: src/app/main/ui/onboarding/questions.cljs:75
+#: src/app/main/ui/onboarding/questions.cljs:77
msgid "onboarding.questions.use.work"
msgstr "工作"
@@ -4423,11 +4367,11 @@ msgstr "還原為預設設定"
msgid "restore-shortcuts.restore"
msgstr "還原"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1034, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:425
msgid "settings.detach"
msgstr "解除連結"
-#: src/app/main/ui/ds/controls/numeric_input.cljs:742, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:345, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:502, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1057, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:410, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:451
+#: src/app/main/ui/ds/controls/numeric_input.cljs:744, src/app/main/ui/inspect/exports.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:509, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1071, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:225, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:27, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:245, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:754, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:792, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:81, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:570, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:593, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:604, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:632, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:645, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:654, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:665, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:686, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:697, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:280, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:666, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:723, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:742, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:474, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:435, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:474
msgid "settings.multiple"
msgstr "混合"
@@ -4439,35 +4383,35 @@ msgstr "移除色彩"
msgid "settings.select-this-color"
msgstr "選取使用此樣式的項目"
-#: src/app/main/data/workspace/shortcuts.cljs:431
+#: src/app/main/data/workspace/shortcuts.cljs:434
msgid "shortcuts.add-comment"
msgstr "留言"
-#: src/app/main/data/workspace/shortcuts.cljs:532
+#: src/app/main/data/workspace/shortcuts.cljs:535
msgid "shortcuts.align-bottom"
msgstr "靠下對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:518
+#: src/app/main/data/workspace/shortcuts.cljs:521
msgid "shortcuts.align-hcenter"
msgstr "水平置中對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:497
+#: src/app/main/data/workspace/shortcuts.cljs:500
msgid "shortcuts.align-left"
msgstr "靠左對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:504
+#: src/app/main/data/workspace/shortcuts.cljs:507
msgid "shortcuts.align-right"
msgstr "靠右對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:511
+#: src/app/main/data/workspace/shortcuts.cljs:514
msgid "shortcuts.align-top"
msgstr "靠上對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:525
+#: src/app/main/data/workspace/shortcuts.cljs:528
msgid "shortcuts.align-vcenter"
msgstr "垂直置中對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:341
+#: src/app/main/data/workspace/shortcuts.cljs:344
msgid "shortcuts.artboard-selection"
msgstr "以選取項目建立畫板"
@@ -4475,55 +4419,55 @@ msgstr "以選取項目建立畫板"
msgid "shortcuts.bold"
msgstr "切換粗體"
-#: src/app/main/data/workspace/shortcuts.cljs:800
+#: src/app/main/data/workspace/shortcuts.cljs:802
msgid "shortcuts.bool-difference"
msgstr "布林差集"
-#: src/app/main/data/workspace/shortcuts.cljs:814
+#: src/app/main/data/workspace/shortcuts.cljs:816
msgid "shortcuts.bool-exclude"
msgstr "布林排除"
-#: src/app/main/data/workspace/shortcuts.cljs:807
+#: src/app/main/data/workspace/shortcuts.cljs:809
msgid "shortcuts.bool-intersection"
msgstr "布林交集"
-#: src/app/main/data/workspace/shortcuts.cljs:793
+#: src/app/main/data/workspace/shortcuts.cljs:795
msgid "shortcuts.bool-union"
msgstr "布林聯集"
-#: src/app/main/data/workspace/shortcuts.cljs:278
+#: src/app/main/data/workspace/shortcuts.cljs:281
msgid "shortcuts.bring-back"
msgstr "移至最底層"
-#: src/app/main/data/workspace/shortcuts.cljs:264
+#: src/app/main/data/workspace/shortcuts.cljs:267
msgid "shortcuts.bring-backward"
msgstr "下移一層"
-#: src/app/main/data/workspace/shortcuts.cljs:257
+#: src/app/main/data/workspace/shortcuts.cljs:260
msgid "shortcuts.bring-forward"
msgstr "上移一層"
-#: src/app/main/data/workspace/shortcuts.cljs:271
+#: src/app/main/data/workspace/shortcuts.cljs:274
msgid "shortcuts.bring-front"
msgstr "移至最上層"
-#: src/app/main/data/workspace/shortcuts.cljs:86
+#: src/app/main/data/workspace/shortcuts.cljs:87
msgid "shortcuts.clear-undo"
msgstr "清除復原紀錄"
-#: src/app/main/data/workspace/path/shortcuts.cljs:127, src/app/main/data/workspace/shortcuts.cljs:93
+#: src/app/main/data/workspace/path/shortcuts.cljs:119, src/app/main/data/workspace/shortcuts.cljs:94
msgid "shortcuts.copy"
msgstr "複製"
-#: src/app/main/data/workspace/shortcuts.cljs:100
+#: src/app/main/data/workspace/shortcuts.cljs:102
msgid "shortcuts.copy-link"
msgstr "複製連結"
-#: src/app/main/data/workspace/shortcuts.cljs:132
+#: src/app/main/data/workspace/shortcuts.cljs:134
msgid "shortcuts.copy-props"
msgstr "複製屬性"
-#: src/app/main/data/workspace/shortcuts.cljs:230
+#: src/app/main/data/workspace/shortcuts.cljs:233
msgid "shortcuts.create-component-variant"
msgstr "建立元件 / 變體"
@@ -4531,63 +4475,63 @@ msgstr "建立元件 / 變體"
msgid "shortcuts.create-new-project"
msgstr "新增專案"
-#: src/app/main/data/workspace/path/shortcuts.cljs:133, src/app/main/data/workspace/shortcuts.cljs:107
+#: src/app/main/data/workspace/path/shortcuts.cljs:126, src/app/main/data/workspace/shortcuts.cljs:109
msgid "shortcuts.cut"
msgstr "剪下"
-#: src/app/main/data/viewer/shortcuts.cljs:34, src/app/main/data/workspace/grid_layout/shortcuts.cljs:63, src/app/main/data/workspace/path/shortcuts.cljs:214, src/app/main/data/workspace/shortcuts.cljs:697, src/app/main/ui/workspace/right_header.cljs:86
+#: src/app/main/data/viewer/shortcuts.cljs:35, src/app/main/data/workspace/grid_layout/shortcuts.cljs:64, src/app/main/data/workspace/path/shortcuts.cljs:211, src/app/main/data/workspace/shortcuts.cljs:699, src/app/main/ui/viewer/header.cljs:96, src/app/main/ui/workspace/right_header.cljs:88
msgid "shortcuts.decrease-zoom"
msgstr "縮小"
-#: src/app/main/data/workspace/shortcuts.cljs:146
+#: src/app/main/data/workspace/shortcuts.cljs:148
msgid "shortcuts.delete"
msgstr "刪除"
-#: src/app/main/data/workspace/path/shortcuts.cljs:68
+#: src/app/main/data/workspace/path/shortcuts.cljs:61
msgid "shortcuts.delete-node"
msgstr "刪除節點"
-#: src/app/main/data/workspace/path/shortcuts.cljs:76
+#: src/app/main/data/workspace/path/shortcuts.cljs:69
msgid "shortcuts.delete-node-and-segments"
msgstr "刪除節點與線段"
-#: src/app/main/data/workspace/path/shortcuts.cljs:157
+#: src/app/main/data/workspace/path/shortcuts.cljs:151
msgid "shortcuts.deselect-all"
msgstr "取消全選"
-#: src/app/main/data/workspace/shortcuts.cljs:237
+#: src/app/main/data/workspace/shortcuts.cljs:240
msgid "shortcuts.detach-component"
msgstr "分離元件"
-#: src/app/main/ui/shortcuts.cljs:662
+#: src/app/main/ui/shortcuts.cljs:795
msgid "shortcuts.disable"
msgstr "停用快捷鍵"
-#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529
+#: src/app/main/ui/settings/shortcuts.cljs:346, src/app/main/ui/settings/shortcuts.cljs:580
msgid "shortcuts.disabled"
msgstr "已停用"
-#: src/app/main/ui/shortcuts.cljs:735
+#: src/app/main/ui/shortcuts.cljs:868
msgid "shortcuts.disabled-shortcut"
msgstr "已停用的快捷鍵"
-#: src/app/main/data/workspace/shortcuts.cljs:417
+#: src/app/main/data/workspace/shortcuts.cljs:420
msgid "shortcuts.draw-arrow"
msgstr "箭頭"
-#: src/app/main/data/workspace/shortcuts.cljs:424
+#: src/app/main/data/workspace/shortcuts.cljs:427
msgid "shortcuts.draw-curve"
msgstr "曲線"
-#: src/app/main/data/workspace/shortcuts.cljs:388
+#: src/app/main/data/workspace/shortcuts.cljs:391
msgid "shortcuts.draw-ellipse"
msgstr "橢圓"
-#: src/app/main/data/workspace/shortcuts.cljs:367
+#: src/app/main/data/workspace/shortcuts.cljs:370
msgid "shortcuts.draw-frame"
msgstr "畫板"
-#: src/app/main/data/workspace/shortcuts.cljs:410
+#: src/app/main/data/workspace/shortcuts.cljs:413
msgid "shortcuts.draw-line"
msgstr "直線"
@@ -4595,63 +4539,63 @@ msgstr "直線"
msgid "shortcuts.draw-nodes"
msgstr "繪製路徑"
-#: src/app/main/data/workspace/shortcuts.cljs:403
+#: src/app/main/data/workspace/shortcuts.cljs:406
msgid "shortcuts.draw-path"
msgstr "路徑"
-#: src/app/main/data/workspace/shortcuts.cljs:381
+#: src/app/main/data/workspace/shortcuts.cljs:384
msgid "shortcuts.draw-rect"
msgstr "矩形"
-#: src/app/main/data/workspace/shortcuts.cljs:395
+#: src/app/main/data/workspace/shortcuts.cljs:398
msgid "shortcuts.draw-text"
msgstr "文字"
-#: src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:153
+#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:155
msgid "shortcuts.duplicate"
msgstr "建立複本"
-#: src/app/main/ui/shortcuts.cljs:645
+#: src/app/main/ui/shortcuts.cljs:775
msgid "shortcuts.edit-modal.conflict"
msgstr "此按鍵組合已指派給「%s」。儲存後將移除該功能的此組快捷鍵。"
-#: src/app/main/ui/shortcuts.cljs:636
+#: src/app/main/ui/shortcuts.cljs:761
msgid "shortcuts.edit-modal.reset-pending"
msgstr "儲存後,此快捷鍵將還原為原始設定:"
-#: src/app/main/ui/shortcuts.cljs:647
+#: src/app/main/ui/shortcuts.cljs:779
msgid "shortcuts.edit-modal.success"
msgstr "此按鍵組合可用,指派後不會產生衝突。"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161
msgid "shortcuts.edit-on-settings"
msgstr "在設定中自訂"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:175, src/app/main/data/workspace/shortcuts.cljs:177
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:37, src/app/main/data/workspace/path/shortcuts.cljs:170, src/app/main/data/workspace/shortcuts.cljs:179
msgid "shortcuts.escape"
msgstr "取消"
-#: src/app/main/data/workspace/shortcuts.cljs:606
+#: src/app/main/data/workspace/shortcuts.cljs:608
msgid "shortcuts.export-shapes"
msgstr "匯出形狀"
-#: src/app/main/data/workspace/shortcuts.cljs:184
+#: src/app/main/data/workspace/shortcuts.cljs:187
msgid "shortcuts.find"
msgstr "尋找"
-#: src/app/main/data/workspace/shortcuts.cljs:188
+#: src/app/main/data/workspace/shortcuts.cljs:191
msgid "shortcuts.find-and-replace"
msgstr "尋找與取代"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:75, src/app/main/data/workspace/path/shortcuts.cljs:226, src/app/main/data/workspace/shortcuts.cljs:711
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:76, src/app/main/data/workspace/path/shortcuts.cljs:223, src/app/main/data/workspace/shortcuts.cljs:713
msgid "shortcuts.fit-all"
msgstr "縮放至顯示全部內容"
-#: src/app/main/data/workspace/path/shortcuts.cljs:163, src/app/main/data/workspace/shortcuts.cljs:251
+#: src/app/main/data/workspace/path/shortcuts.cljs:158, src/app/main/data/workspace/shortcuts.cljs:254
msgid "shortcuts.flip-horizontal"
msgstr "水平翻轉"
-#: src/app/main/data/workspace/path/shortcuts.cljs:169, src/app/main/data/workspace/shortcuts.cljs:244
+#: src/app/main/data/workspace/path/shortcuts.cljs:164, src/app/main/data/workspace/shortcuts.cljs:247
msgid "shortcuts.flip-vertical"
msgstr "垂直翻轉"
@@ -4675,27 +4619,27 @@ msgstr "前往共享資料庫"
msgid "shortcuts.go-to-search"
msgstr "搜尋"
-#: src/app/main/data/workspace/shortcuts.cljs:202
+#: src/app/main/data/workspace/shortcuts.cljs:205
msgid "shortcuts.group"
msgstr "建立群組"
-#: src/app/main/data/workspace/shortcuts.cljs:539
+#: src/app/main/data/workspace/shortcuts.cljs:542
msgid "shortcuts.h-distribute"
msgstr "水平平均分布"
-#: src/app/main/data/workspace/shortcuts.cljs:681
+#: src/app/main/data/workspace/shortcuts.cljs:683
msgid "shortcuts.hide-ui"
msgstr "顯示 / 隱藏介面"
-#: src/app/main/ui/settings/shortcuts.cljs:536
+#: src/app/main/ui/settings/shortcuts.cljs:587
msgid "shortcuts.import-export"
msgstr "匯入 / 匯出"
-#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:208, src/app/main/data/workspace/shortcuts.cljs:690, src/app/main/ui/workspace/right_header.cljs:91
+#: src/app/main/data/viewer/shortcuts.cljs:19, src/app/main/data/workspace/grid_layout/shortcuts.cljs:57, src/app/main/data/workspace/path/shortcuts.cljs:204, src/app/main/data/workspace/shortcuts.cljs:692, src/app/main/ui/viewer/header.cljs:102, src/app/main/ui/workspace/right_header.cljs:93
msgid "shortcuts.increase-zoom"
msgstr "放大"
-#: src/app/main/data/workspace/shortcuts.cljs:446
+#: src/app/main/data/workspace/shortcuts.cljs:449
msgid "shortcuts.insert-image"
msgstr "插入圖片"
@@ -4703,11 +4647,11 @@ msgstr "插入圖片"
msgid "shortcuts.italic"
msgstr "切換斜體"
-#: src/app/main/data/workspace/path/shortcuts.cljs:89
+#: src/app/main/data/workspace/path/shortcuts.cljs:82
msgid "shortcuts.join-nodes"
msgstr "連接節點"
-#: src/app/main/ui/shortcuts.cljs:624
+#: src/app/main/ui/shortcuts.cljs:749
msgid "shortcuts.key-combo"
msgstr "按下組合鍵"
@@ -4715,39 +4659,39 @@ msgstr "按下組合鍵"
msgid "shortcuts.line-through"
msgstr "切換刪除線"
-#: src/app/main/data/workspace/path/shortcuts.cljs:104
+#: src/app/main/data/workspace/path/shortcuts.cljs:97
msgid "shortcuts.make-corner"
msgstr "轉為角點"
-#: src/app/main/data/workspace/path/shortcuts.cljs:111
+#: src/app/main/data/workspace/path/shortcuts.cljs:104
msgid "shortcuts.make-curve"
msgstr "轉為曲線"
-#: src/app/main/data/workspace/shortcuts.cljs:216
+#: src/app/main/data/workspace/shortcuts.cljs:219
msgid "shortcuts.mask"
msgstr "遮罩"
-#: src/app/main/data/workspace/path/shortcuts.cljs:82
+#: src/app/main/data/workspace/path/shortcuts.cljs:75
msgid "shortcuts.merge-nodes"
msgstr "合併節點"
-#: src/app/main/data/workspace/shortcuts.cljs:374
+#: src/app/main/data/workspace/shortcuts.cljs:377
msgid "shortcuts.move"
msgstr "移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:246, src/app/main/data/workspace/shortcuts.cljs:292
+#: src/app/main/data/workspace/path/shortcuts.cljs:243, src/app/main/data/workspace/shortcuts.cljs:295
msgid "shortcuts.move-fast-down"
msgstr "快速向下移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:258, src/app/main/data/workspace/shortcuts.cljs:306
+#: src/app/main/data/workspace/path/shortcuts.cljs:255, src/app/main/data/workspace/shortcuts.cljs:309
msgid "shortcuts.move-fast-left"
msgstr "快速向左移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:252, src/app/main/data/workspace/shortcuts.cljs:299
+#: src/app/main/data/workspace/path/shortcuts.cljs:249, src/app/main/data/workspace/shortcuts.cljs:302
msgid "shortcuts.move-fast-right"
msgstr "快速向右移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:240, src/app/main/data/workspace/shortcuts.cljs:285
+#: src/app/main/data/workspace/path/shortcuts.cljs:237, src/app/main/data/workspace/shortcuts.cljs:288
msgid "shortcuts.move-fast-up"
msgstr "快速向上移動"
@@ -4755,377 +4699,377 @@ msgstr "快速向上移動"
msgid "shortcuts.move-nodes"
msgstr "移動節點"
-#: src/app/main/data/workspace/path/shortcuts.cljs:270, src/app/main/data/workspace/shortcuts.cljs:320
+#: src/app/main/data/workspace/path/shortcuts.cljs:267, src/app/main/data/workspace/shortcuts.cljs:323
msgid "shortcuts.move-unit-down"
msgstr "向下移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:276, src/app/main/data/workspace/shortcuts.cljs:327
+#: src/app/main/data/workspace/path/shortcuts.cljs:273, src/app/main/data/workspace/shortcuts.cljs:330
msgid "shortcuts.move-unit-left"
msgstr "向左移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:282, src/app/main/data/workspace/shortcuts.cljs:334
+#: src/app/main/data/workspace/path/shortcuts.cljs:279, src/app/main/data/workspace/shortcuts.cljs:337
msgid "shortcuts.move-unit-right"
msgstr "向右移動"
-#: src/app/main/data/workspace/path/shortcuts.cljs:264, src/app/main/data/workspace/shortcuts.cljs:313
+#: src/app/main/data/workspace/path/shortcuts.cljs:261, src/app/main/data/workspace/shortcuts.cljs:316
msgid "shortcuts.move-unit-up"
msgstr "向上移動"
-#: src/app/main/data/viewer/shortcuts.cljs:76
+#: src/app/main/data/viewer/shortcuts.cljs:77
msgid "shortcuts.next-frame"
msgstr "下一個畫板"
-#: src/app/main/ui/settings/shortcuts.cljs:510
+#: src/app/main/ui/settings/shortcuts.cljs:561
msgid "shortcuts.no-disabled"
msgstr "沒有已停用的快捷鍵"
-#: src/app/main/ui/settings/shortcuts.cljs:500
+#: src/app/main/ui/settings/shortcuts.cljs:551
msgid "shortcuts.no-personalized"
msgstr "前往「全部」開始自訂快捷鍵。"
-#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491
+#: src/app/main/ui/settings/shortcuts.cljs:289, src/app/main/ui/settings/shortcuts.cljs:542
msgid "shortcuts.no-shortcuts"
msgstr "沒有符合搜尋條件的快捷鍵"
-#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154
+#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158
msgid "shortcuts.not-found"
msgstr "找不到快捷鍵"
-#: src/app/main/data/workspace/shortcuts.cljs:848
+#: src/app/main/data/workspace/shortcuts.cljs:850
msgid "shortcuts.opacity-0"
msgstr "將不透明度設為 100%"
-#: src/app/main/data/workspace/shortcuts.cljs:854
+#: src/app/main/data/workspace/shortcuts.cljs:856
msgid "shortcuts.opacity-1"
msgstr "將不透明度設為 10%"
-#: src/app/main/data/workspace/shortcuts.cljs:860
+#: src/app/main/data/workspace/shortcuts.cljs:862
msgid "shortcuts.opacity-2"
msgstr "將不透明度設為 20%"
-#: src/app/main/data/workspace/shortcuts.cljs:866
+#: src/app/main/data/workspace/shortcuts.cljs:868
msgid "shortcuts.opacity-3"
msgstr "將不透明度設為 30%"
-#: src/app/main/data/workspace/shortcuts.cljs:872
+#: src/app/main/data/workspace/shortcuts.cljs:874
msgid "shortcuts.opacity-4"
msgstr "將不透明度設為 40%"
-#: src/app/main/data/workspace/shortcuts.cljs:878
+#: src/app/main/data/workspace/shortcuts.cljs:880
msgid "shortcuts.opacity-5"
msgstr "將不透明度設為 50%"
-#: src/app/main/data/workspace/shortcuts.cljs:884
+#: src/app/main/data/workspace/shortcuts.cljs:886
msgid "shortcuts.opacity-6"
msgstr "將不透明度設為 60%"
-#: src/app/main/data/workspace/shortcuts.cljs:890
+#: src/app/main/data/workspace/shortcuts.cljs:892
msgid "shortcuts.opacity-7"
msgstr "將不透明度設為 70%"
-#: src/app/main/data/workspace/shortcuts.cljs:896
+#: src/app/main/data/workspace/shortcuts.cljs:898
msgid "shortcuts.opacity-8"
msgstr "將不透明度設為 80%"
-#: src/app/main/data/workspace/shortcuts.cljs:902
+#: src/app/main/data/workspace/shortcuts.cljs:904
msgid "shortcuts.opacity-9"
msgstr "將不透明度設為 90%"
-#: src/app/main/data/workspace/shortcuts.cljs:481
+#: src/app/main/data/workspace/shortcuts.cljs:484
msgid "shortcuts.open-color-picker"
msgstr "色彩選擇器"
-#: src/app/main/data/viewer/shortcuts.cljs:90, src/app/main/data/workspace/shortcuts.cljs:756
+#: src/app/main/data/viewer/shortcuts.cljs:91, src/app/main/data/workspace/shortcuts.cljs:758
msgid "shortcuts.open-comments"
msgstr "前往檢視器的留言區"
-#: src/app/main/data/workspace/shortcuts.cljs:763
+#: src/app/main/data/workspace/shortcuts.cljs:765
msgid "shortcuts.open-dashboard"
msgstr "前往控制台"
-#: src/app/main/data/viewer/shortcuts.cljs:83, src/app/main/data/workspace/shortcuts.cljs:749
+#: src/app/main/data/viewer/shortcuts.cljs:84, src/app/main/data/workspace/shortcuts.cljs:751
msgid "shortcuts.open-inspect"
msgstr "前往檢視器的檢查區"
-#: src/app/main/data/viewer/shortcuts.cljs:97
+#: src/app/main/data/viewer/shortcuts.cljs:98
msgid "shortcuts.open-interactions"
msgstr "前往檢視器的互動區"
-#: src/app/main/data/workspace/shortcuts.cljs:742
+#: src/app/main/data/workspace/shortcuts.cljs:744
msgid "shortcuts.open-viewer"
msgstr "前往檢視器的互動區"
-#: src/app/main/data/viewer/shortcuts.cljs:104
+#: src/app/main/data/viewer/shortcuts.cljs:105
msgid "shortcuts.open-workspace"
msgstr "前往工作區"
-#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:437
+#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:134, src/app/main/ui/settings/restore_shortcuts_modal.cljs:152, src/app/main/ui/shortcuts.cljs:559
msgid "shortcuts.or"
msgstr " 或 "
-#: src/app/main/ui/shortcuts.cljs:605, src/app/main/ui/shortcuts.cljs:747
+#: src/app/main/ui/shortcuts.cljs:730, src/app/main/ui/shortcuts.cljs:880
msgid "shortcuts.overwritten-by"
msgstr "此快捷鍵已重新指派給 %s"
-#: src/app/main/ui/settings/shortcuts.cljs:468
+#: src/app/main/ui/settings/shortcuts.cljs:519
msgid "shortcuts.page"
msgstr "快捷鍵頁面"
-#: src/app/main/data/workspace/path/shortcuts.cljs:139, src/app/main/data/workspace/shortcuts.cljs:116
+#: src/app/main/data/workspace/path/shortcuts.cljs:132, src/app/main/data/workspace/shortcuts.cljs:118
msgid "shortcuts.paste"
msgstr "貼上"
-#: src/app/main/data/workspace/shortcuts.cljs:139
+#: src/app/main/data/workspace/shortcuts.cljs:141
msgid "shortcuts.paste-props"
msgstr "貼上屬性"
-#: src/app/main/data/workspace/shortcuts.cljs:125
+#: src/app/main/data/workspace/shortcuts.cljs:127
msgid "shortcuts.paste-replace"
msgstr "貼上並取代"
-#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523
+#: src/app/main/ui/settings/shortcuts.cljs:343, src/app/main/ui/settings/shortcuts.cljs:574
msgid "shortcuts.personalized"
msgstr "個人化"
-#: src/app/main/data/workspace/shortcuts.cljs:832
+#: src/app/main/data/workspace/shortcuts.cljs:834
msgid "shortcuts.plugins"
msgstr "外掛管理員"
-#: src/app/main/data/viewer/shortcuts.cljs:69
+#: src/app/main/data/viewer/shortcuts.cljs:70
msgid "shortcuts.prev-frame"
msgstr "上一個畫板"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:200, src/app/main/data/workspace/shortcuts.cljs:79
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:49, src/app/main/data/workspace/path/shortcuts.cljs:196, src/app/main/data/workspace/shortcuts.cljs:80
msgid "shortcuts.redo"
msgstr "重做"
-#: src/app/main/ui/settings/shortcuts.cljs:479
+#: src/app/main/ui/settings/shortcuts.cljs:530
msgid "shortcuts.reload-hint"
msgstr "編輯快捷鍵後,請重新載入其他已開啟的 Penpot 分頁,以套用變更。"
-#: src/app/main/data/workspace/shortcuts.cljs:195
+#: src/app/main/data/workspace/shortcuts.cljs:198
msgid "shortcuts.rename"
msgstr "重新命名"
-#: src/app/main/ui/shortcuts.cljs:670
+#: src/app/main/ui/shortcuts.cljs:803
msgid "shortcuts.reset"
msgstr "還原為預設值"
-#: src/app/main/data/viewer/shortcuts.cljs:48, src/app/main/data/workspace/grid_layout/shortcuts.cljs:69, src/app/main/data/workspace/path/shortcuts.cljs:220, src/app/main/data/workspace/shortcuts.cljs:704
+#: src/app/main/data/viewer/shortcuts.cljs:49, src/app/main/data/workspace/grid_layout/shortcuts.cljs:70, src/app/main/data/workspace/path/shortcuts.cljs:217, src/app/main/data/workspace/shortcuts.cljs:706
msgid "shortcuts.reset-zoom"
msgstr "重設縮放比例"
-#: src/app/main/data/workspace/shortcuts.cljs:474
+#: src/app/main/data/workspace/shortcuts.cljs:477
msgid "shortcuts.scale"
msgstr "縮放"
# SECTIONS
-#: src/app/main/ui/shortcuts.cljs:126, src/app/main/ui/shortcuts.cljs:298
+#: src/app/main/ui/shortcuts.cljs:255, src/app/main/ui/shortcuts.cljs:427
msgid "shortcuts.section.basics"
msgstr "基本"
-#: src/app/main/ui/shortcuts.cljs:128, src/app/main/ui/shortcuts.cljs:302, src/app/main/ui/shortcuts.cljs:369
+#: src/app/main/ui/shortcuts.cljs:257, src/app/main/ui/shortcuts.cljs:431, src/app/main/ui/shortcuts.cljs:498
msgid "shortcuts.section.dashboard"
msgstr "儀表板"
-#: src/app/main/ui/shortcuts.cljs:129, src/app/main/ui/shortcuts.cljs:304, src/app/main/ui/shortcuts.cljs:371
+#: src/app/main/ui/shortcuts.cljs:258, src/app/main/ui/shortcuts.cljs:433, src/app/main/ui/shortcuts.cljs:500
msgid "shortcuts.section.viewer"
msgstr "檢視者"
-#: src/app/main/ui/shortcuts.cljs:127, src/app/main/ui/shortcuts.cljs:300, src/app/main/ui/shortcuts.cljs:367
+#: src/app/main/ui/shortcuts.cljs:256, src/app/main/ui/shortcuts.cljs:429, src/app/main/ui/shortcuts.cljs:496
msgid "shortcuts.section.workspace"
msgstr "工作區"
-#: src/app/main/data/viewer/shortcuts.cljs:41, src/app/main/data/workspace/path/shortcuts.cljs:151, src/app/main/data/workspace/shortcuts.cljs:562
+#: src/app/main/data/viewer/shortcuts.cljs:42, src/app/main/data/workspace/path/shortcuts.cljs:145, src/app/main/data/workspace/shortcuts.cljs:565
msgid "shortcuts.select-all"
msgstr "全選"
-#: src/app/main/data/workspace/shortcuts.cljs:777
+#: src/app/main/data/workspace/shortcuts.cljs:779
msgid "shortcuts.select-next"
msgstr "選取下一個圖層"
-#: src/app/main/data/workspace/shortcuts.cljs:784
+#: src/app/main/data/workspace/shortcuts.cljs:786
msgid "shortcuts.select-parent-layer"
msgstr "選取父圖層"
-#: src/app/main/data/workspace/shortcuts.cljs:770
+#: src/app/main/data/workspace/shortcuts.cljs:772
msgid "shortcuts.select-prev"
msgstr "選取上一個圖層"
-#: src/app/main/data/workspace/path/shortcuts.cljs:96
+#: src/app/main/data/workspace/path/shortcuts.cljs:89
msgid "shortcuts.separate-nodes"
msgstr "分離節點"
-#: src/app/main/data/workspace/shortcuts.cljs:167
+#: src/app/main/data/workspace/shortcuts.cljs:169
msgid "shortcuts.show-measure"
msgstr "顯示測量數值"
-#: src/app/main/data/workspace/shortcuts.cljs:592
+#: src/app/main/data/workspace/shortcuts.cljs:594
msgid "shortcuts.show-pixel-grid"
msgstr "顯示 / 隱藏像素網格"
-#: src/app/main/data/workspace/shortcuts.cljs:630
+#: src/app/main/data/workspace/shortcuts.cljs:631
msgid "shortcuts.show-shortcuts"
msgstr "顯示 / 隱藏快捷鍵"
-#: src/app/main/data/workspace/path/shortcuts.cljs:119
+#: src/app/main/data/workspace/path/shortcuts.cljs:112
msgid "shortcuts.snap-nodes"
msgstr "貼齊至節點"
-#: src/app/main/data/workspace/shortcuts.cljs:599
+#: src/app/main/data/workspace/shortcuts.cljs:601
msgid "shortcuts.snap-pixel-grid"
msgstr "貼齊至像素網格"
-#: src/app/main/data/workspace/path/shortcuts.cljs:187, src/app/main/data/workspace/shortcuts.cljs:160
+#: src/app/main/data/workspace/path/shortcuts.cljs:183, src/app/main/data/workspace/shortcuts.cljs:162
msgid "shortcuts.start-editing"
msgstr "開始編輯"
# SUBSECTIONS
-#: src/app/main/ui/shortcuts.cljs:132
+#: src/app/main/ui/shortcuts.cljs:261
msgid "shortcuts.subsection.alignment"
msgstr "對齊"
-#: src/app/main/ui/shortcuts.cljs:133
+#: src/app/main/ui/shortcuts.cljs:262
msgid "shortcuts.subsection.edit"
msgstr "編輯"
-#: src/app/main/ui/shortcuts.cljs:134
+#: src/app/main/ui/shortcuts.cljs:263
msgid "shortcuts.subsection.generic"
msgstr "一般"
-#: src/app/main/ui/shortcuts.cljs:135, src/app/main/ui/workspace/main_menu.cljs:1008
+#: src/app/main/ui/shortcuts.cljs:264, src/app/main/ui/workspace/main_menu.cljs:1009
msgid "shortcuts.subsection.main-menu"
msgstr "主功能表"
-#: src/app/main/ui/shortcuts.cljs:136
+#: src/app/main/ui/shortcuts.cljs:265
msgid "shortcuts.subsection.modify-layers"
msgstr "修改圖層"
-#: src/app/main/ui/shortcuts.cljs:137
+#: src/app/main/ui/shortcuts.cljs:266
msgid "shortcuts.subsection.navigation-dashboard"
msgstr "導航"
-#: src/app/main/ui/shortcuts.cljs:138
+#: src/app/main/ui/shortcuts.cljs:267
msgid "shortcuts.subsection.navigation-viewer"
msgstr "導航"
-#: src/app/main/ui/shortcuts.cljs:139
+#: src/app/main/ui/shortcuts.cljs:268
msgid "shortcuts.subsection.navigation-workspace"
msgstr "導航"
-#: src/app/main/ui/shortcuts.cljs:140
+#: src/app/main/ui/shortcuts.cljs:269
msgid "shortcuts.subsection.panels"
msgstr "面板"
-#: src/app/main/ui/shortcuts.cljs:141
+#: src/app/main/ui/shortcuts.cljs:270
msgid "shortcuts.subsection.path-editor"
msgstr "路徑"
-#: src/app/main/ui/shortcuts.cljs:142
+#: src/app/main/ui/shortcuts.cljs:271
msgid "shortcuts.subsection.shape"
msgstr "形狀"
-#: src/app/main/ui/shortcuts.cljs:143
+#: src/app/main/ui/shortcuts.cljs:272
msgid "shortcuts.subsection.text-editor"
msgstr "文字"
-#: src/app/main/ui/shortcuts.cljs:144
+#: src/app/main/ui/shortcuts.cljs:273
msgid "shortcuts.subsection.tools"
msgstr "工具"
-#: src/app/main/ui/shortcuts.cljs:145
+#: src/app/main/ui/shortcuts.cljs:274
msgid "shortcuts.subsection.zoom-viewer"
msgstr "縮放"
-#: src/app/main/ui/shortcuts.cljs:146
+#: src/app/main/ui/shortcuts.cljs:275
msgid "shortcuts.subsection.zoom-workspace"
msgstr "縮放"
-#: src/app/main/data/workspace/shortcuts.cljs:585
+#: src/app/main/data/workspace/shortcuts.cljs:587
msgid "shortcuts.thumbnail-set"
msgstr "設定縮圖"
-#: src/app/main/ui/settings/shortcuts.cljs:170, src/app/main/ui/workspace/sidebar/shortcuts.cljs:132
+#: src/app/main/ui/settings/shortcuts.cljs:217, src/app/main/ui/workspace/sidebar/shortcuts.cljs:136
msgid "shortcuts.title"
msgstr "鍵盤快速鍵"
-#: src/app/main/data/workspace/shortcuts.cljs:578
+#: src/app/main/data/workspace/shortcuts.cljs:580
msgid "shortcuts.toggle-alignment"
msgstr "切換動態對齊"
-#: src/app/main/data/workspace/shortcuts.cljs:646
+#: src/app/main/data/workspace/shortcuts.cljs:647
msgid "shortcuts.toggle-assets"
msgstr "切換資產面板"
-#: src/app/main/data/workspace/shortcuts.cljs:661
+#: src/app/main/data/workspace/shortcuts.cljs:663
msgid "shortcuts.toggle-colorpalette"
msgstr "顯示 / 隱藏調色盤"
-#: src/app/main/data/workspace/shortcuts.cljs:439
+#: src/app/main/data/workspace/shortcuts.cljs:442
msgid "shortcuts.toggle-comments-visibility"
msgstr "顯示 / 隱藏留言"
-#: src/app/main/data/workspace/shortcuts.cljs:488
+#: src/app/main/data/workspace/shortcuts.cljs:491
msgid "shortcuts.toggle-focus-mode"
msgstr "切換專注模式"
-#: src/app/main/data/viewer/shortcuts.cljs:62
+#: src/app/main/data/viewer/shortcuts.cljs:63
msgid "shortcuts.toggle-fullscreen"
msgstr "切換全螢幕"
-#: src/app/main/data/workspace/shortcuts.cljs:569
+#: src/app/main/data/workspace/shortcuts.cljs:572
msgid "shortcuts.toggle-guides"
msgstr "顯示 / 隱藏參考線"
-#: src/app/main/data/workspace/shortcuts.cljs:653
+#: src/app/main/data/workspace/shortcuts.cljs:654
msgid "shortcuts.toggle-history"
msgstr "顯示 / 隱藏歷史記錄"
-#: src/app/main/data/workspace/shortcuts.cljs:639
+#: src/app/main/data/workspace/shortcuts.cljs:640
msgid "shortcuts.toggle-layers"
msgstr "顯示 / 隱藏圖層面板"
-#: src/app/main/data/workspace/shortcuts.cljs:348
+#: src/app/main/data/workspace/shortcuts.cljs:351
msgid "shortcuts.toggle-layout-flex"
msgstr "新增 / 移除彈性佈局"
-#: src/app/main/data/workspace/shortcuts.cljs:357
+#: src/app/main/data/workspace/shortcuts.cljs:360
msgid "shortcuts.toggle-layout-grid"
msgstr "新增/移除網格佈局"
-#: src/app/main/data/workspace/shortcuts.cljs:460
+#: src/app/main/data/workspace/shortcuts.cljs:463
msgid "shortcuts.toggle-lock"
msgstr "鎖定 / 解除鎖定"
-#: src/app/main/data/workspace/shortcuts.cljs:467
+#: src/app/main/data/workspace/shortcuts.cljs:470
msgid "shortcuts.toggle-lock-size"
msgstr "鎖定比例"
-#: src/app/main/data/workspace/shortcuts.cljs:555
+#: src/app/main/data/workspace/shortcuts.cljs:558
msgid "shortcuts.toggle-rulers"
msgstr "顯示 / 隱藏尺規"
-#: src/app/main/data/workspace/shortcuts.cljs:621
+#: src/app/main/data/workspace/shortcuts.cljs:623
msgid "shortcuts.toggle-snap-guides"
msgstr "貼齊輔助線"
-#: src/app/main/data/workspace/shortcuts.cljs:614
+#: src/app/main/data/workspace/shortcuts.cljs:616
msgid "shortcuts.toggle-snap-ruler-guide"
msgstr "貼齊尺規輔助線"
-#: src/app/main/data/workspace/shortcuts.cljs:671
+#: src/app/main/data/workspace/shortcuts.cljs:673
msgid "shortcuts.toggle-textpalette"
msgstr "顯示 / 隱藏文字樣式面板"
-#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:26, src/app/main/data/workspace/shortcuts.cljs:822
+#: src/app/main/data/dashboard/shortcuts.cljs:20, src/app/main/data/viewer/shortcuts.cljs:27, src/app/main/data/workspace/shortcuts.cljs:824
msgid "shortcuts.toggle-theme"
msgstr "切換主題"
-#: src/app/main/data/workspace/shortcuts.cljs:453
+#: src/app/main/data/workspace/shortcuts.cljs:456
msgid "shortcuts.toggle-visibility"
msgstr "顯示 / 隱藏"
-#: src/app/main/data/viewer/shortcuts.cljs:55
+#: src/app/main/data/viewer/shortcuts.cljs:56
msgid "shortcuts.toggle-zoom-style"
msgstr "切換縮放模式"
@@ -5133,31 +5077,31 @@ msgstr "切換縮放模式"
msgid "shortcuts.underline"
msgstr "顯示/隱藏底線"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:194, src/app/main/data/workspace/shortcuts.cljs:72
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:43, src/app/main/data/workspace/path/shortcuts.cljs:190, src/app/main/data/workspace/shortcuts.cljs:73
msgid "shortcuts.undo"
msgstr "復原"
-#: src/app/main/data/workspace/shortcuts.cljs:209
+#: src/app/main/data/workspace/shortcuts.cljs:212
msgid "shortcuts.ungroup"
msgstr "取消群組"
-#: src/app/main/data/workspace/shortcuts.cljs:223
+#: src/app/main/data/workspace/shortcuts.cljs:226
msgid "shortcuts.unmask"
msgstr "解除遮罩"
-#: src/app/main/data/workspace/shortcuts.cljs:546
+#: src/app/main/data/workspace/shortcuts.cljs:549
msgid "shortcuts.v-distribute"
msgstr "垂直平均分布"
-#: src/app/main/data/workspace/shortcuts.cljs:732
+#: src/app/main/data/workspace/shortcuts.cljs:734
msgid "shortcuts.zoom-lense-decrease"
msgstr "降低放大鏡倍率"
-#: src/app/main/data/workspace/shortcuts.cljs:725
+#: src/app/main/data/workspace/shortcuts.cljs:727
msgid "shortcuts.zoom-lense-increase"
msgstr "提高放大鏡倍率"
-#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:81, src/app/main/data/workspace/path/shortcuts.cljs:232, src/app/main/data/workspace/shortcuts.cljs:718
+#: src/app/main/data/workspace/grid_layout/shortcuts.cljs:82, src/app/main/data/workspace/path/shortcuts.cljs:229, src/app/main/data/workspace/shortcuts.cljs:720
msgid "shortcuts.zoom-selected"
msgstr "縮放至選取範圍"
@@ -5173,7 +5117,7 @@ msgstr "體驗企業版"
msgid "subscription.current-plan.enterprise"
msgstr "企業版"
-#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:785
+#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:808
msgid "subscription.current-plan.nitrate"
msgstr "企業版"
@@ -5185,7 +5129,7 @@ msgstr "企業版試用"
msgid "subscription.current-plan.professional"
msgstr "專業版"
-#: src/app/main/ui/dashboard/subscription.cljs:257
+#: src/app/main/ui/dashboard/subscription.cljs:259
msgid "subscription.current-plan.title"
msgstr "你的訂閱"
@@ -5299,257 +5243,257 @@ msgstr "未來的帳單只會計入您擁有的所有團隊中新增的編輯者
msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title"
msgstr "使用 Unlimited 方案時邀請成員"
-#: src/app/main/ui/settings/subscription.cljs:432
+#: src/app/main/ui/settings/subscription.cljs:439
msgid "subscription.error.nitrate.checkout-cancelled"
msgstr "付款尚未完成。準備好後,隨時可以重試。"
-#: src/app/main/ui/settings/subscription.cljs:431, src/app/main/ui/settings/subscription.cljs:451
+#: src/app/main/ui/settings/subscription.cljs:438, src/app/main/ui/settings/subscription.cljs:458
msgid "subscription.error.nitrate.checkout-failed"
msgstr "付款尚未完成。請再試一次。如果問題持續發生,請聯絡我們:support@penpot.app。"
-#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:550, src/app/main/ui/settings/subscription.cljs:611
+#: src/app/main/ui/settings/sidebar.cljs:122, src/app/main/ui/settings/subscription.cljs:564, src/app/main/ui/settings/subscription.cljs:625
msgid "subscription.labels"
msgstr "訂閱"
-#: src/app/main/ui/settings/subscription.cljs:105
+#: src/app/main/ui/settings/subscription.cljs:107
msgid "subscription.settings.activate-by-code"
msgstr "輸入啟用碼"
-#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:686
+#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:702
msgid "subscription.settings.add-payment-to-continue"
msgstr "新增付款方式,即可在試用期結束後繼續使用"
-#: src/app/main/ui/settings/subscription.cljs:626
+#: src/app/main/ui/settings/subscription.cljs:642
msgid "subscription.settings.admin-console"
msgstr "管理控制台"
-#: src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:745
+#: src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:768
msgid "subscription.settings.benefits.all-professional-benefits"
msgstr "包含 Professional 方案的所有權益,以及:"
-#: src/app/main/ui/settings/subscription.cljs:667, src/app/main/ui/settings/subscription.cljs:680, src/app/main/ui/settings/subscription.cljs:691, src/app/main/ui/settings/subscription.cljs:761
+#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:696, src/app/main/ui/settings/subscription.cljs:707, src/app/main/ui/settings/subscription.cljs:784
msgid "subscription.settings.benefits.all-unlimited-benefits"
msgstr "包含 Unlimited 方案的所有權益,以及:"
-#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776
+#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:799
msgid "subscription.settings.benefits.nitrate-unlimited-benefits"
msgstr "包含 Unlimited 方案的所有權益,另享:"
-#: src/app/main/ui/settings/subscription.cljs:64
+#: src/app/main/ui/settings/subscription.cljs:65
msgid "subscription.settings.editors"
msgstr "(x %s 位編輯者)"
-#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:467, src/app/main/ui/settings/subscription.cljs:469, src/app/main/ui/settings/subscription.cljs:605, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:757, src/app/main/ui/settings/subscription.cljs:773
+#: src/app/main/ui/dashboard/subscription.cljs:299, src/app/main/ui/settings/subscription.cljs:126, src/app/main/ui/settings/subscription.cljs:474, src/app/main/ui/settings/subscription.cljs:476, src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:632, src/app/main/ui/settings/subscription.cljs:705, src/app/main/ui/settings/subscription.cljs:780, src/app/main/ui/settings/subscription.cljs:796
msgid "subscription.settings.enterprise"
msgstr "Enterprise"
-#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:604, src/app/main/ui/settings/subscription.cljs:678
+#: src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:631, src/app/main/ui/settings/subscription.cljs:694
msgid "subscription.settings.enterprise-trial"
msgstr "Enterprise(試用版)"
-#: src/app/main/ui/settings/subscription.cljs:682, src/app/main/ui/settings/subscription.cljs:693, src/app/main/ui/settings/subscription.cljs:763
+#: src/app/main/ui/settings/subscription.cljs:698, src/app/main/ui/settings/subscription.cljs:709, src/app/main/ui/settings/subscription.cljs:786
msgid "subscription.settings.enterprise.autosave"
msgstr "保留 90 天的自動儲存版本,並提供檔案復原功能"
-#: src/app/main/ui/settings/subscription.cljs:683, src/app/main/ui/settings/subscription.cljs:694, src/app/main/ui/settings/subscription.cljs:764
+#: src/app/main/ui/settings/subscription.cljs:699, src/app/main/ui/settings/subscription.cljs:710, src/app/main/ui/settings/subscription.cljs:787
msgid "subscription.settings.enterprise.capped-bill"
msgstr "每月固定費用"
-#: src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:781
+#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:804
msgid "subscription.settings.enterprise.nitrate.advanced-control"
msgstr "進階控管:"
-#: src/app/main/ui/settings/subscription.cljs:622, src/app/main/ui/settings/subscription.cljs:779
+#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:802
msgid "subscription.settings.enterprise.nitrate.enterprise-security"
msgstr "企業級安全性:"
-#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777
+#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:800
msgid "subscription.settings.enterprise.nitrate.multi-organization-management"
msgstr "多組織管理:"
-#: src/app/main/ui/settings/subscription.cljs:623, src/app/main/ui/settings/subscription.cljs:780
+#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:803
msgid "subscription.settings.enterprise.nitrate.native-sso"
msgstr "原生支援 SAML/SSO,並提供完整的稽核軌跡紀錄,以供製作法規遵循報告。"
-#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:782
+#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:805
msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting"
msgstr "精細的外掛允許清單控管,涵蓋我們用於連接 AI 的安全、隔離式 MCP 伺服器。"
-#: src/app/main/ui/settings/subscription.cljs:621, src/app/main/ui/settings/subscription.cljs:778
+#: src/app/main/ui/settings/subscription.cljs:637, src/app/main/ui/settings/subscription.cljs:801
msgid "subscription.settings.enterprise.nitrate.support-team"
msgstr "支援複雜的團隊階層架構與獨立的子組織。"
-#: src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:692, src/app/main/ui/settings/subscription.cljs:762
+#: src/app/main/ui/settings/subscription.cljs:697, src/app/main/ui/settings/subscription.cljs:708, src/app/main/ui/settings/subscription.cljs:785
msgid "subscription.settings.enterprise.unlimited-storage-benefit"
msgstr "無限儲存空間"
-#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:629, src/app/main/ui/settings/subscription.cljs:658, src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:695
+#: src/app/main/ui/dashboard/subscription.cljs:304, src/app/main/ui/settings/subscription.cljs:645, src/app/main/ui/settings/subscription.cljs:674, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:700, src/app/main/ui/settings/subscription.cljs:711
msgid "subscription.settings.manage-your-subscription"
msgstr "管理你的訂閱"
-#: src/app/main/ui/settings/subscription.cljs:352
+#: src/app/main/ui/settings/subscription.cljs:356
msgid "subscription.settings.management-dialog.step-2-add-payment-button"
msgstr "新增付款資訊"
-#: src/app/main/ui/settings/subscription.cljs:339
+#: src/app/main/ui/settings/subscription.cljs:343
msgid "subscription.settings.management-dialog.step-2-description"
msgstr "立即新增付款資訊,讓訂閱在試用結束後順利延續,並持續支持我們的開源專案。目前不會向你收費。"
-#: src/app/main/ui/settings/subscription.cljs:347
+#: src/app/main/ui/settings/subscription.cljs:351
msgid "subscription.settings.management-dialog.step-2-skip-button"
msgstr "暫時略過並開始試用"
-#: src/app/main/ui/settings/subscription.cljs:270
+#: src/app/main/ui/settings/subscription.cljs:274
msgid "subscription.settings.management-dialog.step-2-title"
msgstr "支持我們成長,讓試用更順暢"
-#: src/app/main/ui/settings/subscription.cljs:136
+#: src/app/main/ui/settings/subscription.cljs:138
msgid "subscription.settings.management.dialog.currently-editors-title"
msgid_plural "subscription.settings.management.dialog.currently-editors-title"
msgstr[0] "目前,你的所有團隊共有 %s 人具備編輯權限。"
-#: src/app/main/ui/settings/subscription.cljs:284
+#: src/app/main/ui/settings/subscription.cljs:288
msgid "subscription.settings.management.dialog.downgrade"
msgstr "提醒你:降級方案會減少儲存空間,並縮短備份與版本紀錄的保留時間。"
-#: src/app/main/ui/settings/subscription.cljs:138
+#: src/app/main/ui/settings/subscription.cljs:140
msgid "subscription.settings.management.dialog.editors"
msgstr "編輯者"
-#: src/app/main/ui/settings/subscription.cljs:145
+#: src/app/main/ui/settings/subscription.cljs:147
msgid "subscription.settings.management.dialog.editors-explanation"
msgstr "(包含擁有者、管理員與編輯者。檢視者不計入編輯者人數)"
-#: src/app/main/ui/settings/subscription.cljs:317
+#: src/app/main/ui/settings/subscription.cljs:321
msgid "subscription.settings.management.dialog.input-error"
msgstr "編輯者人數不能少於目前人數。請在團隊設定中,將實際上不編輯檔案的成員從編輯者或管理員改為檢視者。"
-#: src/app/main/ui/settings/subscription.cljs:313
+#: src/app/main/ui/settings/subscription.cljs:317
msgid "subscription.settings.management.dialog.payment-explanation"
msgstr "試用結束後才會收費,目前無須提供信用卡。"
-#: src/app/main/ui/settings/subscription.cljs:306, src/app/main/ui/settings/subscription.cljs:310
+#: src/app/main/ui/settings/subscription.cljs:310, src/app/main/ui/settings/subscription.cljs:314
#, markdown
msgid "subscription.settings.management.dialog.price-month"
msgstr "**$%s**/月"
-#: src/app/main/ui/settings/subscription.cljs:271
+#: src/app/main/ui/settings/subscription.cljs:275
msgid "subscription.settings.management.dialog.title"
msgstr "將 %s 套用至你的團隊"
-#: src/app/main/ui/settings/subscription.cljs:320
+#: src/app/main/ui/settings/subscription.cljs:324
msgid "subscription.settings.management.dialog.unlimited-capped-warning"
msgstr "提示:你可以現在增加席次,為後續邀請預留名額。所有團隊的編輯者合計達 25 人以上時,即可享有每月 $175 的固定費用。"
-#: src/app/main/ui/settings/subscription.cljs:714
+#: src/app/main/ui/settings/subscription.cljs:737
msgid "subscription.settings.member-since"
msgstr "加入 Penpot 的日期:%s"
-#: src/app/main/ui/settings/subscription.cljs:736, src/app/main/ui/settings/subscription.cljs:751, src/app/main/ui/settings/subscription.cljs:767, src/app/main/ui/settings/subscription.cljs:787
+#: src/app/main/ui/settings/subscription.cljs:759, src/app/main/ui/settings/subscription.cljs:774, src/app/main/ui/settings/subscription.cljs:790, src/app/main/ui/settings/subscription.cljs:810
msgid "subscription.settings.more-information"
msgstr "更多資訊"
-#: src/app/main/ui/settings/subscription.cljs:775, src/app/main/ui/settings/subscription.cljs:835
+#: src/app/main/ui/settings/subscription.cljs:798, src/app/main/ui/settings/subscription.cljs:860
msgid "subscription.settings.organization-member-month"
msgstr "組織成員 / 月"
-#: src/app/main/ui/settings/subscription.cljs:717
+#: src/app/main/ui/settings/subscription.cljs:740
msgid "subscription.settings.other-plans"
msgstr "其他 Penpot 方案"
-#: src/app/main/ui/settings/subscription.cljs:760
+#: src/app/main/ui/settings/subscription.cljs:783
msgid "subscription.settings.price-organization-month"
msgstr "每個組織每月"
-#: src/app/main/ui/settings/subscription.cljs:721, src/app/main/ui/settings/subscription.cljs:744
+#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:767
msgid "subscription.settings.price-user-month"
msgstr "使用者 / 月"
-#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:719
+#: src/app/main/ui/dashboard/subscription.cljs:294, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:654, src/app/main/ui/settings/subscription.cljs:742
msgid "subscription.settings.professional"
msgstr "專業版"
-#: src/app/main/ui/settings/subscription.cljs:643, src/app/main/ui/settings/subscription.cljs:726
+#: src/app/main/ui/settings/subscription.cljs:659, src/app/main/ui/settings/subscription.cljs:749
msgid "subscription.settings.professional.autosave-benefit"
msgstr "保留 7 天的自動儲存版本,並可復原檔案"
-#: src/app/main/ui/settings/subscription.cljs:647, src/app/main/ui/settings/subscription.cljs:730
+#: src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:753
msgid "subscription.settings.professional.selfhost.community-support"
msgstr "所有設計與原型設計功能,以及社群支援。"
-#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724
+#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:747
msgid "subscription.settings.professional.selfhost.control-over-data"
msgstr "完全掌控資料與基礎架構。"
-#: src/app/main/ui/settings/subscription.cljs:644, src/app/main/ui/settings/subscription.cljs:727
+#: src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:750
msgid "subscription.settings.professional.selfhost.unlimited-users"
msgstr "使用者、團隊與檔案數量無上限。"
-#: src/app/main/ui/settings/subscription.cljs:640, src/app/main/ui/settings/subscription.cljs:723
+#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:746
msgid "subscription.settings.professional.storage-benefit"
msgstr "10 GB 儲存空間"
-#: src/app/main/ui/settings/subscription.cljs:646, src/app/main/ui/settings/subscription.cljs:729
+#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:752
msgid "subscription.settings.professional.teams-editors-benefit"
msgstr "團隊數量無上限。您擁有的所有團隊合計最多可有 8 位編輯者。"
-#: src/app/main/ui/settings/subscription.cljs:60
+#: src/app/main/ui/settings/subscription.cljs:61
msgid "subscription.settings.recommended"
msgstr "推薦"
-#: src/app/main/ui/settings/subscription.cljs:614
+#: src/app/main/ui/settings/subscription.cljs:628
msgid "subscription.settings.section-plan"
msgstr "您的訂閱"
-#: src/app/main/ui/settings/subscription.cljs:367
+#: src/app/main/ui/settings/subscription.cljs:371
msgid "subscription.settings.start-trial"
msgstr "開始免費試用"
-#: src/app/main/ui/settings/subscription.cljs:332, src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765, src/app/main/ui/settings/subscription.cljs:783, src/app/main/ui/settings/subscription.cljs:850
+#: src/app/main/ui/settings/subscription.cljs:336, src/app/main/ui/settings/subscription.cljs:754, src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788, src/app/main/ui/settings/subscription.cljs:806, src/app/main/ui/settings/subscription.cljs:875
msgid "subscription.settings.subscribe"
msgstr "訂閱"
-#: src/app/main/ui/settings/subscription.cljs:707
+#: src/app/main/ui/settings/subscription.cljs:730
msgid "subscription.settings.subscribed-since"
msgstr "您自 %s 方案於 %s 啟用後便持續使用至今。"
-#: src/app/main/ui/settings/subscription.cljs:399
+#: src/app/main/ui/settings/subscription.cljs:406
msgid "subscription.settings.success.dialog.description"
msgstr "您隨時都可以前往帳號詳細資料中的「訂閱」頁面,變更訂閱內容。"
-#: src/app/main/ui/settings/subscription.cljs:401
+#: src/app/main/ui/settings/subscription.cljs:408
msgid "subscription.settings.success.dialog.footer"
msgstr "盡情享用您的方案!"
-#: src/app/main/ui/settings/subscription.cljs:397
+#: src/app/main/ui/settings/subscription.cljs:404
msgid "subscription.settings.success.dialog.thanks"
msgstr "感謝您選擇 Penpot %s 方案!"
-#: src/app/main/ui/settings/subscription.cljs:394
+#: src/app/main/ui/settings/subscription.cljs:401
msgid "subscription.settings.success.dialog.title"
msgstr "您現在是 %s 方案用戶!"
-#: src/app/main/ui/settings/subscription.cljs:749, src/app/main/ui/settings/subscription.cljs:765
+#: src/app/main/ui/settings/subscription.cljs:772, src/app/main/ui/settings/subscription.cljs:788
msgid "subscription.settings.try-it-free"
msgstr "免費試用 14 天"
-#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:468, src/app/main/ui/settings/subscription.cljs:602, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:741
+#: src/app/main/ui/dashboard/subscription.cljs:297, src/app/main/ui/settings/subscription.cljs:125, src/app/main/ui/settings/subscription.cljs:475, src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:681, src/app/main/ui/settings/subscription.cljs:764
msgid "subscription.settings.unlimited"
msgstr ""
-#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:601, src/app/main/ui/settings/subscription.cljs:652
+#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:121, src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:668
msgid "subscription.settings.unlimited-trial"
msgstr "Unlimited(試用版)"
-#: src/app/main/ui/settings/subscription.cljs:656, src/app/main/ui/settings/subscription.cljs:669, src/app/main/ui/settings/subscription.cljs:747
+#: src/app/main/ui/settings/subscription.cljs:672, src/app/main/ui/settings/subscription.cljs:685, src/app/main/ui/settings/subscription.cljs:770
msgid "subscription.settings.unlimited.autosave-benefit"
msgstr "保留 30 天的自動儲存版本,並提供檔案復原功能"
-#: src/app/main/ui/settings/subscription.cljs:657, src/app/main/ui/settings/subscription.cljs:670, src/app/main/ui/settings/subscription.cljs:748
+#: src/app/main/ui/settings/subscription.cljs:673, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:771
msgid "subscription.settings.unlimited.bill"
msgstr "每月帳單金額上限為 $175"
-#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:668, src/app/main/ui/settings/subscription.cljs:746
+#: src/app/main/ui/settings/subscription.cljs:671, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:769
msgid "subscription.settings.unlimited.storage-benefit"
msgstr "25GB 儲存空間"
@@ -5572,44 +5516,44 @@ msgstr "如需提高此上限,請聯絡團隊擁有者:[%s](mailto)"
msgid "subscription.workspace.versions.warning.subtext-owner"
msgstr "如需提高此上限,請[升級你的方案|target:self](%s)"
-#: src/app/main/ui/dashboard/team.cljs:1208
+#: src/app/main/ui/dashboard/team.cljs:1209
msgid "team.invitations-selected"
msgid_plural "team.invitations-selected"
msgstr[0] "'已選取 %s 個邀請'"
-#: src/app/main/ui/dashboard/files.cljs:209
+#: src/app/main/ui/dashboard/files.cljs:219
msgid "title.dashboard.files"
msgstr "%s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:50
+#: src/app/main/ui/dashboard/fonts.cljs:55
msgid "title.dashboard.font-providers"
msgstr "字型提供者 - %s - Penpot"
-#: src/app/main/ui/dashboard/fonts.cljs:49
+#: src/app/main/ui/dashboard/fonts.cljs:54
msgid "title.dashboard.fonts"
msgstr "字型 - %s - Penpot"
-#: src/app/main/ui/dashboard/projects.cljs:366
+#: src/app/main/ui/dashboard/projects.cljs:375
msgid "title.dashboard.projects"
msgstr "專案 - %s - Penpot"
-#: src/app/main/ui/dashboard/search.cljs:49
+#: src/app/main/ui/dashboard/search.cljs:51
msgid "title.dashboard.search"
msgstr "搜尋 - %s - Penpot"
-#: src/app/main/ui/dashboard/libraries.cljs:60
+#: src/app/main/ui/dashboard/libraries.cljs:62
msgid "title.dashboard.shared-libraries"
msgstr "共享資料庫 - %s - Penpot"
-#: src/app/main/ui/auth/verify_token.cljs:110, src/app/main/ui/auth.cljs:40
+#: src/app/main/ui/auth/verify_token.cljs:83, src/app/main/ui/auth.cljs:40
msgid "title.default"
msgstr "Penpot | 全端設計"
-#: src/app/main/ui/settings/feedback.cljs:162
+#: src/app/main/ui/settings/feedback.cljs:164
msgid "title.settings.feedback"
msgstr "提供回饋 - Penpot"
-#: src/app/main/ui/settings/integrations.cljs:646
+#: src/app/main/ui/settings/integrations.cljs:642
msgid "title.settings.integrations"
msgstr "整合 - Penpot"
@@ -5617,7 +5561,7 @@ msgstr "整合 - Penpot"
msgid "title.settings.notifications"
msgstr "通知 - Penpot"
-#: src/app/main/ui/settings/options.cljs:123
+#: src/app/main/ui/settings/options.cljs:129
msgid "title.settings.options"
msgstr "設定 - Penpot"
@@ -5625,27 +5569,27 @@ msgstr "設定 - Penpot"
msgid "title.settings.password"
msgstr "密碼 - Penpot"
-#: src/app/main/ui/settings/profile.cljs:144
+#: src/app/main/ui/settings/profile.cljs:153
msgid "title.settings.profile"
msgstr "個人資料 - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1255
+#: src/app/main/ui/dashboard/team.cljs:1256
msgid "title.team-invitations"
msgstr "邀請 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:645
+#: src/app/main/ui/dashboard/team.cljs:636
msgid "title.team-members"
msgstr "成員 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1642
+#: src/app/main/ui/dashboard/team.cljs:1653
msgid "title.team-settings"
msgstr "設定 - %s - Penpot"
-#: src/app/main/ui/dashboard/team.cljs:1535
+#: src/app/main/ui/dashboard/team.cljs:1546
msgid "title.team-webhooks"
msgstr "Webhooks - %s - Penpot"
-#: src/app/main/ui/viewer.cljs:422
+#: src/app/main/ui/viewer.cljs:433
msgid "title.viewer"
msgstr "%s - 檢視模式 - Penpot"
@@ -5657,51 +5601,51 @@ msgstr "%s - Penpot"
msgid "token-actions.detach-token"
msgstr "解除 token 連結"
-#: src/app/main/ui/viewer.cljs:572
+#: src/app/main/ui/viewer.cljs:583
msgid "viewer.empty-state"
msgstr "此頁面沒有畫板。"
-#: src/app/main/ui/viewer.cljs:577
+#: src/app/main/ui/viewer.cljs:588
msgid "viewer.frame-not-found"
msgstr "找不到畫板。"
-#: src/app/main/ui/viewer/header.cljs:341
+#: src/app/main/ui/viewer/header.cljs:367
msgid "viewer.header.comments-section"
msgstr "留言 (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:268
+#: src/app/main/ui/viewer/interactions.cljs:280
msgid "viewer.header.dont-show-interactions"
msgstr "隱藏互動"
-#: src/app/main/ui/viewer/header.cljs:195
+#: src/app/main/ui/viewer/header.cljs:206
msgid "viewer.header.fullscreen"
msgstr "全螢幕"
-#: src/app/main/ui/viewer/header.cljs:350
+#: src/app/main/ui/viewer/header.cljs:376
msgid "viewer.header.inspect-section"
msgstr "檢視 (%s)"
-#: src/app/main/ui/viewer/interactions.cljs:258
+#: src/app/main/ui/viewer/interactions.cljs:268
msgid "viewer.header.interactions"
msgstr "互動"
-#: src/app/main/ui/viewer/header.cljs:332
+#: src/app/main/ui/viewer/header.cljs:358
msgid "viewer.header.interactions-section"
msgstr "互動 (%s)"
-#: src/app/main/ui/viewer/share_link.cljs:187
+#: src/app/main/ui/viewer/share_link.cljs:191
msgid "viewer.header.share.copy-link"
msgstr "複製連結"
-#: src/app/main/ui/viewer/interactions.cljs:276
+#: src/app/main/ui/viewer/interactions.cljs:288
msgid "viewer.header.show-interactions"
msgstr "顯示互動"
-#: src/app/main/ui/viewer/interactions.cljs:287
+#: src/app/main/ui/viewer/interactions.cljs:299
msgid "viewer.header.show-interactions-on-click"
msgstr "點選時顯示互動"
-#: src/app/main/ui/viewer/header.cljs:236
+#: src/app/main/ui/viewer/header.cljs:248
msgid "viewer.header.sitemap"
msgstr "網站地圖"
@@ -5729,67 +5673,67 @@ msgstr "請參閱我們的 "
msgid "webgl.modals.webgl-unavailable.troubleshooting.link"
msgstr "WebGL 疑難排解指南"
-#: src/app/main/ui/settings/options.cljs:105
+#: src/app/main/ui/settings/options.cljs:111
msgid "webgl.toast.webgl-render-disabled"
msgstr "已停用 WebGL 渲染"
-#: src/app/main/ui/settings/options.cljs:104
+#: src/app/main/ui/settings/options.cljs:110
msgid "webgl.toast.webgl-render-enabled"
msgstr "已啟用 WebGL 渲染"
-#: src/app/render_wasm/api.cljs:2462
+#: src/app/render_wasm/api.cljs:2402
msgid "webgl.webgl-context-lost.toast"
msgstr "WebGL 繪圖環境已遺失"
-#: src/app/render_wasm/api.cljs:2485
+#: src/app/render_wasm/api.cljs:2425
msgid "webgl.webgl-context-recovered.toast"
msgstr "WebGL 繪圖環境已恢復"
-#: src/app/main/ui/dashboard/team.cljs:1489
+#: src/app/main/ui/dashboard/team.cljs:1498
msgid "webhooks.last-delivery.success"
msgstr "上次傳送成功。"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:69
msgid "workspace.align.hcenter"
msgstr "水平置中對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:87
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83
msgid "workspace.align.hdistribute"
msgstr "平均分配水平間距 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:63
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:62
msgid "workspace.align.hleft"
msgstr "靠左對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:76
msgid "workspace.align.hright"
msgstr "靠右對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:105
msgid "workspace.align.vbottom"
msgstr "靠下對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:98
msgid "workspace.align.vcenter"
msgstr "垂直置中對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:117
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:112
msgid "workspace.align.vdistribute"
msgstr "平均分配垂直間距 (%s)"
-#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:96
+#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91
msgid "workspace.align.vtop"
msgstr "靠上對齊 (%s)"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:207
+#: src/app/main/ui/workspace/sidebar/assets.cljs:210
msgid "workspace.assets.add-library"
msgstr "新增資料庫"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:179
+#: src/app/main/ui/workspace/sidebar/assets.cljs:180
msgid "workspace.assets.box-filter-all"
msgstr "所有資產"
-#: src/app/main/ui/dashboard/grid.cljs:156, src/app/main/ui/dashboard/grid.cljs:189, src/app/main/ui/workspace/colorpicker/libraries.cljs:364, src/app/main/ui/workspace/colorpicker/libraries.cljs:381, src/app/main/ui/workspace/colorpicker/libraries.cljs:395, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:185
+#: src/app/main/ui/dashboard/grid.cljs:157, src/app/main/ui/dashboard/grid.cljs:190, src/app/main/ui/workspace/colorpicker/libraries.cljs:360, src/app/main/ui/workspace/colorpicker/libraries.cljs:377, src/app/main/ui/workspace/colorpicker/libraries.cljs:391, src/app/main/ui/workspace/sidebar/assets/colors.cljs:512, src/app/main/ui/workspace/sidebar/assets.cljs:186
msgid "workspace.assets.colors"
msgstr "色彩"
@@ -5801,7 +5745,7 @@ msgstr "新增色彩"
msgid "workspace.assets.component-group-options"
msgstr "元件群組選項"
-#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:182
+#: src/app/main/ui/dashboard/grid.cljs:153, src/app/main/ui/dashboard/grid.cljs:168, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:183
msgid "workspace.assets.components"
msgstr "元件"
@@ -5809,7 +5753,7 @@ msgstr "元件"
msgid "workspace.assets.components.add-component"
msgstr "新增元件"
-#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:613
+#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:620
msgid "workspace.assets.components.num-variants"
msgstr "%s 個變體"
@@ -5817,11 +5761,11 @@ msgstr "%s 個變體"
msgid "workspace.assets.create-group"
msgstr "建立群組"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:171
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:174
msgid "workspace.assets.create-group-hint"
msgstr "您的項目將自動命名為「群組名稱 / 項目名稱」"
-#: src/app/main/ui/workspace/context_menu.cljs:828, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
+#: src/app/main/ui/workspace/context_menu.cljs:836, src/app/main/ui/workspace/sidebar/assets/colors.cljs:265, src/app/main/ui/workspace/sidebar/assets/components.cljs:670, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:529, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:865
msgid "workspace.assets.delete"
msgstr "刪除"
@@ -5829,11 +5773,11 @@ msgstr "刪除"
msgid "workspace.assets.delete-group"
msgstr "刪除群組"
-#: src/app/main/ui/workspace/context_menu.cljs:824
+#: src/app/main/ui/workspace/context_menu.cljs:832
msgid "workspace.assets.delete-pages"
msgstr "刪除頁面"
-#: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:472, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817
+#: src/app/main/ui/workspace/context_menu.cljs:841, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:861
msgid "workspace.assets.duplicate"
msgstr "建立複本"
@@ -5841,39 +5785,39 @@ msgstr "建立複本"
msgid "workspace.assets.duplicate-main"
msgstr "複製主元件"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:520
msgid "workspace.assets.edit"
msgstr "編輯"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:221
+#: src/app/main/ui/workspace/sidebar/assets.cljs:226
msgid "workspace.assets.filter"
msgstr "篩選"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:343, src/app/main/ui/workspace/sidebar/assets/components.cljs:604
msgid "workspace.assets.grid-view"
msgstr "方格檢視"
-#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:481
+#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:534
msgid "workspace.assets.group"
msgstr "群組"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:170
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:173
msgid "workspace.assets.group-name"
msgstr "群組名稱"
-#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
+#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:342, src/app/main/ui/workspace/sidebar/assets/components.cljs:600
msgid "workspace.assets.list-view"
msgstr "清單檢視"
-#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:697
+#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:116, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:705
msgid "workspace.assets.local-library"
msgstr "本機資料庫"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:212
+#: src/app/main/ui/workspace/sidebar/assets.cljs:217
msgid "workspace.assets.manage-library"
msgstr "管理資料庫"
-#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
+#: src/app/main/ui/workspace/color_palette.cljs:205, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:323
msgid "workspace.assets.not-found"
msgstr "找不到資產"
@@ -5881,7 +5825,7 @@ msgstr "找不到資產"
msgid "workspace.assets.open-library"
msgstr "開啟資料庫檔案"
-#: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:462
+#: src/app/main/ui/workspace/context_menu.cljs:839, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:515
msgid "workspace.assets.rename"
msgstr "重新命名"
@@ -5889,11 +5833,11 @@ msgstr "重新命名"
msgid "workspace.assets.rename-group"
msgstr "重新命名群組"
-#: src/app/main/ui/workspace/color_palette.cljs:182, src/app/main/ui/workspace/color_palette.cljs:187, src/app/main/ui/workspace/sidebar/assets.cljs:218
+#: src/app/main/ui/workspace/color_palette.cljs:181, src/app/main/ui/workspace/color_palette.cljs:186, src/app/main/ui/workspace/sidebar/assets.cljs:223
msgid "workspace.assets.search"
msgstr "搜尋資產"
-#: src/app/main/ui/dashboard/grid.cljs:463, src/app/main/ui/dashboard/grid.cljs:464
+#: src/app/main/ui/dashboard/grid.cljs:477, src/app/main/ui/dashboard/grid.cljs:478
msgid "workspace.assets.shared-library"
msgstr "共享資料庫"
@@ -5902,43 +5846,43 @@ msgid "workspace.assets.sidebar.components"
msgid_plural "workspace.assets.sidebar.components"
msgstr[0] "%s 個元件"
-#: src/app/main/ui/workspace/sidebar/assets.cljs:239
+#: src/app/main/ui/workspace/sidebar/assets.cljs:245
msgid "workspace.assets.sort"
msgstr "排序"
-#: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:423, src/app/main/ui/workspace/sidebar/assets.cljs:188
+#: src/app/main/ui/dashboard/grid.cljs:161, src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:479, src/app/main/ui/workspace/sidebar/assets.cljs:189
msgid "workspace.assets.typography"
msgstr "文字樣式"
-#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:431
+#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:304
msgid "workspace.assets.typography.add-typography"
msgstr "新增文字樣式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:899
msgid "workspace.assets.typography.font-size"
msgstr "字級"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:851
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:895
msgid "workspace.assets.typography.font-style"
msgstr "字型樣式"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:873
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:917
msgid "workspace.assets.typography.go-to-edit"
msgstr "前往樣式資料庫檔案進行編輯"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:863
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:907
msgid "workspace.assets.typography.letter-spacing"
msgstr "字距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:859
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:903
msgid "workspace.assets.typography.line-height"
msgstr "行高"
-#: src/app/main/ui/dashboard/grid.cljs:226, src/app/main/ui/workspace/libraries.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:802, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:838, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:957, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:976
+#: src/app/main/ui/dashboard/grid.cljs:227, src/app/main/ui/workspace/libraries.cljs:1094, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:882, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1001, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:1020
msgid "workspace.assets.typography.sample"
msgstr "Ag"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:911
msgid "workspace.assets.typography.text-transform"
msgstr "文字轉換"
@@ -5946,15 +5890,15 @@ msgstr "文字轉換"
msgid "workspace.assets.ungroup"
msgstr "取消群組"
-#: src/app/main/data/workspace/clipboard.cljs:1170
+#: src/app/main/data/workspace/clipboard.cljs:1242
msgid "workspace.clipboard.copying"
msgstr "正在複製圖片…"
-#: src/app/main/data/workspace/clipboard.cljs:1192
+#: src/app/main/data/workspace/clipboard.cljs:1264
msgid "workspace.clipboard.image-copied"
msgstr "已將圖片複製到剪貼簿"
-#: src/app/main/data/workspace/clipboard.cljs:1198
+#: src/app/main/data/workspace/clipboard.cljs:1270
msgid "workspace.clipboard.image-copy-failed"
msgstr "複製圖片時發生錯誤"
@@ -5962,83 +5906,83 @@ msgstr "複製圖片時發生錯誤"
msgid "workspace.colorpicker.color-tokens"
msgstr "色彩 tokens"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:519
msgid "workspace.component.swap.loop-error"
msgstr "元件不能巢狀包含自身。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:511
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:518
msgid "workspace.component.switch.loop-error-multi"
msgstr "部分副本無法切換。元件不能巢狀包含自身。"
-#: src/app/main/ui/workspace/context_menu.cljs:980
+#: src/app/main/ui/workspace/context_menu.cljs:988
msgid "workspace.context-menu.grid-cells.area"
msgstr "建立區域"
-#: src/app/main/ui/workspace/context_menu.cljs:991
+#: src/app/main/ui/workspace/context_menu.cljs:999
msgid "workspace.context-menu.grid-cells.copy-columns"
msgstr "複製欄"
-#: src/app/main/ui/workspace/context_menu.cljs:987
+#: src/app/main/ui/workspace/context_menu.cljs:995
msgid "workspace.context-menu.grid-cells.copy-rows"
msgstr "複製列"
-#: src/app/main/ui/workspace/context_menu.cljs:983
+#: src/app/main/ui/workspace/context_menu.cljs:991
msgid "workspace.context-menu.grid-cells.create-board"
msgstr "建立畫板"
-#: src/app/main/ui/workspace/context_menu.cljs:975
+#: src/app/main/ui/workspace/context_menu.cljs:983
msgid "workspace.context-menu.grid-cells.merge"
msgstr "合併儲存格"
-#: src/app/main/ui/workspace/context_menu.cljs:995
+#: src/app/main/ui/workspace/context_menu.cljs:1003
msgid "workspace.context-menu.grid-cells.paste-tracks"
msgstr "貼上"
-#: src/app/main/ui/workspace/context_menu.cljs:902
+#: src/app/main/ui/workspace/context_menu.cljs:910
msgid "workspace.context-menu.grid-track.column.add-after"
msgstr "在右側新增 1 欄"
-#: src/app/main/ui/workspace/context_menu.cljs:901
+#: src/app/main/ui/workspace/context_menu.cljs:909
msgid "workspace.context-menu.grid-track.column.add-before"
msgstr "在左側新增 1 欄"
-#: src/app/main/ui/workspace/context_menu.cljs:903
+#: src/app/main/ui/workspace/context_menu.cljs:911
msgid "workspace.context-menu.grid-track.column.delete"
msgstr "刪除欄"
-#: src/app/main/ui/workspace/context_menu.cljs:904
+#: src/app/main/ui/workspace/context_menu.cljs:912
msgid "workspace.context-menu.grid-track.column.delete-shapes"
msgstr "刪除欄及其中的圖形"
-#: src/app/main/ui/workspace/context_menu.cljs:900
+#: src/app/main/ui/workspace/context_menu.cljs:908
msgid "workspace.context-menu.grid-track.column.duplicate"
msgstr "複製欄"
-#: src/app/main/ui/workspace/context_menu.cljs:909
+#: src/app/main/ui/workspace/context_menu.cljs:917
msgid "workspace.context-menu.grid-track.row.add-after"
msgstr "在下方新增 1 列"
-#: src/app/main/ui/workspace/context_menu.cljs:908
+#: src/app/main/ui/workspace/context_menu.cljs:916
msgid "workspace.context-menu.grid-track.row.add-before"
msgstr "在上方新增 1 列"
-#: src/app/main/ui/workspace/context_menu.cljs:910
+#: src/app/main/ui/workspace/context_menu.cljs:918
msgid "workspace.context-menu.grid-track.row.delete"
msgstr "刪除列"
-#: src/app/main/ui/workspace/context_menu.cljs:911
+#: src/app/main/ui/workspace/context_menu.cljs:919
msgid "workspace.context-menu.grid-track.row.delete-shapes"
msgstr "刪除列及其中的圖形"
-#: src/app/main/ui/workspace/context_menu.cljs:907
+#: src/app/main/ui/workspace/context_menu.cljs:915
msgid "workspace.context-menu.grid-track.row.duplicate"
msgstr "複製列"
-#: src/app/main/ui/workspace/context_menu.cljs:1029
+#: src/app/main/ui/workspace/context_menu.cljs:1037
msgid "workspace.context-menu.guides.change-color"
msgstr "參考線色彩"
-#: src/app/main/ui/workspace/context_menu.cljs:1041
+#: src/app/main/ui/workspace/context_menu.cljs:1049
msgid "workspace.context-menu.guides.remove"
msgstr "移除參考線"
@@ -6046,15 +5990,15 @@ msgstr "移除參考線"
msgid "workspace.debug.title"
msgstr "除錯工具"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:885
+#: src/app/main/ui/workspace/sidebar/layers.cljs:924
msgid "workspace.focus.focus-mode"
msgstr "專注模式"
-#: src/app/main/ui/workspace/context_menu.cljs:461, src/app/main/ui/workspace/context_menu.cljs:859
+#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/context_menu.cljs:867
msgid "workspace.focus.focus-off"
msgstr "關閉專注模式"
-#: src/app/main/ui/workspace/context_menu.cljs:460
+#: src/app/main/ui/workspace/context_menu.cljs:462
msgid "workspace.focus.focus-on"
msgstr "開啟專注模式"
@@ -6066,243 +6010,243 @@ msgstr "線性漸層"
msgid "workspace.gradients.radial"
msgstr "放射狀漸層"
-#: src/app/main/ui/workspace/main_menu.cljs:293
+#: src/app/main/ui/workspace/main_menu.cljs:294
msgid "workspace.header.menu.disable-dynamic-alignment"
msgstr "關閉動態對齊"
-#: src/app/main/ui/workspace/main_menu.cljs:254
+#: src/app/main/ui/workspace/main_menu.cljs:255
msgid "workspace.header.menu.disable-scale-content"
msgstr "關閉等比縮放"
-#: src/app/main/ui/workspace/main_menu.cljs:280
+#: src/app/main/ui/workspace/main_menu.cljs:281
msgid "workspace.header.menu.disable-snap-guides"
msgstr "停用貼齊參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:306
+#: src/app/main/ui/workspace/main_menu.cljs:307
msgid "workspace.header.menu.disable-snap-pixel-grid"
msgstr "停用貼齊像素"
-#: src/app/main/ui/workspace/main_menu.cljs:267
+#: src/app/main/ui/workspace/main_menu.cljs:268
msgid "workspace.header.menu.disable-snap-ruler-guides"
msgstr "停用貼齊尺規參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:341
+#: src/app/main/ui/workspace/main_menu.cljs:342
msgid "workspace.header.menu.disable-webgl"
msgstr "停用 WebGL 渲染(測試版)"
-#: src/app/main/ui/workspace/main_menu.cljs:294
+#: src/app/main/ui/workspace/main_menu.cljs:295
msgid "workspace.header.menu.enable-dynamic-alignment"
msgstr "啟用動態對齊"
-#: src/app/main/ui/workspace/main_menu.cljs:255
+#: src/app/main/ui/workspace/main_menu.cljs:256
msgid "workspace.header.menu.enable-scale-content"
msgstr "啟用等比例縮放"
-#: src/app/main/ui/workspace/main_menu.cljs:281
+#: src/app/main/ui/workspace/main_menu.cljs:282
msgid "workspace.header.menu.enable-snap-guides"
msgstr "貼齊參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:307
+#: src/app/main/ui/workspace/main_menu.cljs:308
msgid "workspace.header.menu.enable-snap-pixel-grid"
msgstr "啟用貼齊像素"
-#: src/app/main/ui/workspace/main_menu.cljs:268
+#: src/app/main/ui/workspace/main_menu.cljs:269
msgid "workspace.header.menu.enable-snap-ruler-guides"
msgstr "貼齊尺規參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:342
+#: src/app/main/ui/workspace/main_menu.cljs:343
msgid "workspace.header.menu.enable-webgl"
msgstr "啟用 WebGL 渲染(測試版)"
-#: src/app/main/ui/workspace/main_menu.cljs:535
+#: src/app/main/ui/workspace/main_menu.cljs:536
msgid "workspace.header.menu.find"
msgstr "尋找"
-#: src/app/main/ui/workspace/main_menu.cljs:542
+#: src/app/main/ui/workspace/main_menu.cljs:543
msgid "workspace.header.menu.find-and-replace"
msgstr "尋找與取代"
-#: src/app/main/ui/workspace/main_menu.cljs:465
+#: src/app/main/ui/workspace/main_menu.cljs:466
msgid "workspace.header.menu.hide-artboard-names"
msgstr "隱藏畫板名稱"
-#: src/app/main/ui/workspace/main_menu.cljs:426
+#: src/app/main/ui/workspace/main_menu.cljs:427
msgid "workspace.header.menu.hide-comments"
msgstr "隱藏留言"
-#: src/app/main/ui/workspace/main_menu.cljs:401
+#: src/app/main/ui/workspace/main_menu.cljs:402
msgid "workspace.header.menu.hide-guides"
msgstr "隱藏參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:440
+#: src/app/main/ui/workspace/main_menu.cljs:441
msgid "workspace.header.menu.hide-palette"
msgstr "隱藏調色盤"
-#: src/app/main/ui/workspace/main_menu.cljs:477
+#: src/app/main/ui/workspace/main_menu.cljs:478
msgid "workspace.header.menu.hide-pixel-grid"
msgstr "隱藏像素網格"
-#: src/app/main/ui/workspace/main_menu.cljs:387
+#: src/app/main/ui/workspace/main_menu.cljs:388
msgid "workspace.header.menu.hide-rules"
msgstr "隱藏尺規"
-#: src/app/main/ui/workspace/main_menu.cljs:452
+#: src/app/main/ui/workspace/main_menu.cljs:453
msgid "workspace.header.menu.hide-textpalette"
msgstr "隱藏字型面板"
-#: src/app/main/ui/workspace/main_menu.cljs:415
+#: src/app/main/ui/workspace/main_menu.cljs:416
msgid "workspace.header.menu.lock-guides"
msgstr "鎖定參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:874
+#: src/app/main/ui/components/mcp_menu.cljs:141, src/app/main/ui/workspace/main_menu.cljs:875
msgid "workspace.header.menu.mcp.plugin.status.connect"
msgstr "連線"
-#: src/app/main/ui/workspace/main_menu.cljs:873
+#: src/app/main/ui/components/mcp_menu.cljs:140, src/app/main/ui/workspace/main_menu.cljs:874
msgid "workspace.header.menu.mcp.plugin.status.disconnect"
msgstr "中斷連線"
-#: src/app/main/ui/workspace/main_menu.cljs:883
+#: src/app/main/ui/workspace/main_menu.cljs:884
msgid "workspace.header.menu.mcp.server.status.disabled"
msgstr "管理(狀態:已停用)"
-#: src/app/main/ui/workspace/main_menu.cljs:882
+#: src/app/main/ui/workspace/main_menu.cljs:883
msgid "workspace.header.menu.mcp.server.status.enabled"
msgstr "管理(狀態:已啟用)"
-#: src/app/main/ui/workspace/main_menu.cljs:1038
+#: src/app/main/ui/workspace/main_menu.cljs:1039
msgid "workspace.header.menu.option.edit"
msgstr "編輯"
-#: src/app/main/ui/workspace/main_menu.cljs:1025
+#: src/app/main/ui/workspace/main_menu.cljs:1026
msgid "workspace.header.menu.option.file"
msgstr "檔案"
-#: src/app/main/ui/workspace/main_menu.cljs:1122
+#: src/app/main/ui/workspace/main_menu.cljs:1123
msgid "workspace.header.menu.option.help-info"
msgstr "說明與資訊"
-#: src/app/main/ui/workspace/main_menu.cljs:1104
+#: src/app/main/ui/workspace/main_menu.cljs:1105
msgid "workspace.header.menu.option.mcp"
msgstr "MCP 伺服器"
-#: src/app/main/ui/workspace/main_menu.cljs:1064
+#: src/app/main/ui/workspace/main_menu.cljs:1065
msgid "workspace.header.menu.option.preferences"
msgstr "偏好設定"
-#: src/app/main/ui/workspace/main_menu.cljs:1051
+#: src/app/main/ui/workspace/main_menu.cljs:1052
msgid "workspace.header.menu.option.view"
msgstr "檢視"
-#: src/app/main/ui/workspace/main_menu.cljs:564
+#: src/app/main/ui/workspace/main_menu.cljs:565
msgid "workspace.header.menu.redo"
msgstr "重做"
-#: src/app/main/ui/workspace/context_menu.cljs:1074, src/app/main/ui/workspace/main_menu.cljs:528
+#: src/app/main/ui/workspace/context_menu.cljs:1082, src/app/main/ui/workspace/main_menu.cljs:529
msgid "workspace.header.menu.select-all"
msgstr "全選"
-#: src/app/main/ui/workspace/main_menu.cljs:466
+#: src/app/main/ui/workspace/main_menu.cljs:467
msgid "workspace.header.menu.show-artboard-names"
msgstr "顯示畫板名稱"
-#: src/app/main/ui/workspace/main_menu.cljs:427
+#: src/app/main/ui/workspace/main_menu.cljs:428
msgid "workspace.header.menu.show-comments"
msgstr "顯示留言"
-#: src/app/main/ui/workspace/main_menu.cljs:402
+#: src/app/main/ui/workspace/main_menu.cljs:403
msgid "workspace.header.menu.show-guides"
msgstr "顯示參考線"
-#: src/app/main/ui/workspace/main_menu.cljs:441
+#: src/app/main/ui/workspace/main_menu.cljs:442
msgid "workspace.header.menu.show-palette"
msgstr "顯示調色盤"
-#: src/app/main/ui/workspace/main_menu.cljs:478
+#: src/app/main/ui/workspace/main_menu.cljs:479
msgid "workspace.header.menu.show-pixel-grid"
msgstr "顯示像素網格"
-#: src/app/main/ui/workspace/main_menu.cljs:388
+#: src/app/main/ui/workspace/main_menu.cljs:389
msgid "workspace.header.menu.show-rules"
msgstr "顯示尺規"
-#: src/app/main/ui/workspace/main_menu.cljs:453
+#: src/app/main/ui/workspace/main_menu.cljs:454
msgid "workspace.header.menu.show-textpalette"
msgstr "顯示字型面板"
-#: src/app/main/ui/workspace/main_menu.cljs:330
+#: src/app/main/ui/workspace/main_menu.cljs:331
msgid "workspace.header.menu.toggle-dark-theme"
msgstr "切換至深色主題"
-#: src/app/main/ui/workspace/main_menu.cljs:328, src/app/main/ui/workspace/main_menu.cljs:331
+#: src/app/main/ui/workspace/main_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:332
msgid "workspace.header.menu.toggle-light-theme"
msgstr "切換至淺色主題"
-#: src/app/main/ui/workspace/main_menu.cljs:329
+#: src/app/main/ui/workspace/main_menu.cljs:330
msgid "workspace.header.menu.toggle-system-theme"
msgstr "切換至系統主題"
-#: src/app/main/ui/workspace/main_menu.cljs:553
+#: src/app/main/ui/workspace/main_menu.cljs:554
msgid "workspace.header.menu.undo"
msgstr "復原"
-#: src/app/main/ui/workspace/main_menu.cljs:414
+#: src/app/main/ui/workspace/main_menu.cljs:415
msgid "workspace.header.menu.unlock-guides"
msgstr "解除參考線鎖定"
-#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:96
+#: src/app/main/ui/viewer/header.cljs:107, src/app/main/ui/workspace/right_header.cljs:98
msgid "workspace.header.reset-zoom"
msgstr "重設"
-#: src/app/main/ui/workspace/left_header.cljs:126
+#: src/app/main/ui/workspace/left_header.cljs:134
msgid "workspace.header.save-error"
msgstr "儲存時發生錯誤"
-#: src/app/main/ui/workspace/left_header.cljs:124
+#: src/app/main/ui/workspace/left_header.cljs:132
msgid "workspace.header.saved"
msgstr "已儲存"
-#: src/app/main/ui/workspace/left_header.cljs:122, src/app/main/ui/workspace/left_header.cljs:123
+#: src/app/main/ui/workspace/left_header.cljs:130, src/app/main/ui/workspace/left_header.cljs:131
msgid "workspace.header.saving"
msgstr "正在儲存"
-#: src/app/main/ui/workspace/right_header.cljs:241
+#: src/app/main/ui/workspace/right_header.cljs:243
msgid "workspace.header.share"
msgstr "分享"
-#: src/app/main/ui/workspace/right_header.cljs:246
+#: src/app/main/ui/workspace/right_header.cljs:249
msgid "workspace.header.viewer"
msgstr "檢視模式 (%s)"
-#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:79
+#: src/app/main/ui/viewer/header.cljs:87, src/app/main/ui/workspace/right_header.cljs:80
msgid "workspace.header.zoom"
msgstr "縮放"
-#: src/app/main/ui/viewer/header.cljs:109
+#: src/app/main/ui/viewer/header.cljs:118
msgid "workspace.header.zoom-fill"
msgstr "填滿 - 等比例縮放至填滿"
-#: src/app/main/ui/viewer/header.cljs:102
+#: src/app/main/ui/viewer/header.cljs:111
msgid "workspace.header.zoom-fit"
msgstr "符合視窗 - 等比例縮小至完整顯示"
-#: src/app/main/ui/workspace/right_header.cljs:99
+#: src/app/main/ui/workspace/right_header.cljs:101
msgid "workspace.header.zoom-fit-all"
msgstr "縮放至顯示全部內容"
-#: src/app/main/ui/viewer/header.cljs:116
+#: src/app/main/ui/viewer/header.cljs:125
msgid "workspace.header.zoom-full-screen"
msgstr "全螢幕"
-#: src/app/main/ui/workspace/right_header.cljs:106
+#: src/app/main/ui/workspace/right_header.cljs:108
msgid "workspace.header.zoom-selected"
msgstr "縮放至選取範圍"
-#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854
+#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:852
msgid "workspace.layout-grid.editor.options.edit-grid"
msgstr "編輯網格"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1575
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1590
msgid "workspace.layout-grid.editor.options.exit"
msgstr "離開"
@@ -6310,7 +6254,7 @@ msgstr "離開"
msgid "workspace.layout-grid.editor.padding.bottom"
msgstr "下內距"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668
msgid "workspace.layout-grid.editor.padding.expand"
msgstr "顯示四邊內距選項"
@@ -6346,36 +6290,36 @@ msgstr "完成"
msgid "workspace.layout-grid.editor.top-bar.locate"
msgstr "定位"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1601
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1616
msgid "workspace.layout-grid.editor.top-bar.locate.tooltip"
msgstr "定位網格佈局"
-#: src/app/main/ui/workspace/libraries.cljs:126, src/app/main/ui/workspace/libraries.cljs:155, src/app/main/ui/workspace/libraries.cljs:199
+#: src/app/main/ui/workspace/libraries.cljs:178, src/app/main/ui/workspace/libraries.cljs:207, src/app/main/ui/workspace/libraries.cljs:251
msgid "workspace.libraries.colors"
msgid_plural "workspace.libraries.colors"
msgstr[0] "%s 種色彩"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:352
msgid "workspace.libraries.colors.add-library-color"
msgstr "將色彩新增至資料庫"
-#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405
+#: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/colorpicker/libraries.cljs:370, src/app/main/ui/workspace/colorpicker/libraries.cljs:401
msgid "workspace.libraries.colors.empty-palette"
msgstr "您的資料庫中尚無色彩樣式"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:369, src/app/main/ui/workspace/colorpicker/libraries.cljs:385
msgid "workspace.libraries.colors.empty-recent-colors"
msgstr "尚無最近使用的色彩"
-#: src/app/main/ui/workspace/text_palette.cljs:158
+#: src/app/main/ui/workspace/text_palette.cljs:159
msgid "workspace.libraries.colors.empty-typography-palette"
msgstr "您的資料庫中尚無文字樣式"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:216, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
msgid "workspace.libraries.colors.file-library"
msgstr "檔案資料庫"
-#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:221
+#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:120, src/app/main/ui/workspace/colorpicker/libraries.cljs:215
msgid "workspace.libraries.colors.recent-colors"
msgstr "最近使用的色彩"
@@ -6387,73 +6331,73 @@ msgstr "RGBA"
msgid "workspace.libraries.colors.save-color"
msgstr "儲存色彩樣式"
-#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338
+#: src/app/main/ui/workspace/colorpicker/libraries.cljs:334
msgid "workspace.libraries.colors.toggle-color-palette"
msgstr "顯示或隱藏調色盤"
-#: src/app/main/ui/workspace/libraries.cljs:120, src/app/main/ui/workspace/libraries.cljs:149, src/app/main/ui/workspace/libraries.cljs:191
+#: src/app/main/ui/workspace/libraries.cljs:172, src/app/main/ui/workspace/libraries.cljs:201, src/app/main/ui/workspace/libraries.cljs:243
msgid "workspace.libraries.components"
msgid_plural "workspace.libraries.components"
msgstr[0] "%s 個元件"
-#: src/app/main/ui/workspace/libraries.cljs:454
+#: src/app/main/ui/workspace/libraries.cljs:507
msgid "workspace.libraries.connected-to"
msgstr "已連結至"
-#: src/app/main/ui/workspace/libraries.cljs:520, src/app/main/ui/workspace/libraries.cljs:644
+#: src/app/main/ui/workspace/libraries.cljs:573, src/app/main/ui/workspace/libraries.cljs:697
msgid "workspace.libraries.empty.add-some"
msgstr "或新增下列項目來試試:"
-#: src/app/main/ui/workspace/libraries.cljs:514, src/app/main/ui/workspace/libraries.cljs:638
+#: src/app/main/ui/workspace/libraries.cljs:567, src/app/main/ui/workspace/libraries.cljs:691
msgid "workspace.libraries.empty.no-libraries"
msgstr "您的團隊尚無共享資料庫,您可以尋找"
-#: src/app/main/ui/workspace/libraries.cljs:518, src/app/main/ui/workspace/libraries.cljs:642
+#: src/app/main/ui/workspace/libraries.cljs:571, src/app/main/ui/workspace/libraries.cljs:695
msgid "workspace.libraries.empty.some-templates"
msgstr "這裡的一些範本"
-#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
+#: src/app/main/ui/workspace/libraries.cljs:476, src/app/main/ui/workspace/libraries.cljs:828
msgid "workspace.libraries.file-library"
msgstr "檔案資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:123, src/app/main/ui/workspace/libraries.cljs:152, src/app/main/ui/workspace/libraries.cljs:195
+#: src/app/main/ui/workspace/libraries.cljs:175, src/app/main/ui/workspace/libraries.cljs:204, src/app/main/ui/workspace/libraries.cljs:247
msgid "workspace.libraries.graphics"
msgid_plural "workspace.libraries.graphics"
msgstr[0] "%s 個圖形"
-#: src/app/main/ui/workspace/libraries.cljs:418
+#: src/app/main/ui/workspace/libraries.cljs:470
msgid "workspace.libraries.in-this-file"
msgstr "此檔案中的資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:1137, src/app/main/ui/workspace/libraries.cljs:1141, src/app/main/ui/workspace/libraries.cljs:1159
+#: src/app/main/ui/workspace/libraries.cljs:1161, src/app/main/ui/workspace/libraries.cljs:1165, src/app/main/ui/workspace/libraries.cljs:1183
msgid "workspace.libraries.libraries"
msgstr "資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:989
+#: src/app/main/ui/workspace/libraries.cljs:1012
msgid "workspace.libraries.library-updates"
msgstr "資料庫更新"
-#: src/app/main/ui/workspace/libraries.cljs:509, src/app/main/ui/workspace/libraries.cljs:633
+#: src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/libraries.cljs:686
msgid "workspace.libraries.loading"
msgstr "載入中…"
-#: src/app/main/ui/workspace/libraries.cljs:986
+#: src/app/main/ui/workspace/libraries.cljs:1009
msgid "workspace.libraries.no-libraries-need-sync"
msgstr "沒有需要更新的共享資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:528, src/app/main/ui/workspace/libraries.cljs:652
+#: src/app/main/ui/workspace/libraries.cljs:581, src/app/main/ui/workspace/libraries.cljs:705
msgid "workspace.libraries.no-matches-for"
msgstr "找不到符合「%s」的結果"
-#: src/app/main/ui/workspace/libraries.cljs:482, src/app/main/ui/workspace/libraries.cljs:599
+#: src/app/main/ui/workspace/libraries.cljs:535, src/app/main/ui/workspace/libraries.cljs:652
msgid "workspace.libraries.search-shared-libraries"
msgstr "搜尋共享資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:478, src/app/main/ui/workspace/libraries.cljs:595
+#: src/app/main/ui/workspace/libraries.cljs:531, src/app/main/ui/workspace/libraries.cljs:648
msgid "workspace.libraries.shared-libraries"
msgstr "共享資料庫"
-#: src/app/main/ui/workspace/libraries.cljs:502, src/app/main/ui/workspace/libraries.cljs:626
+#: src/app/main/ui/workspace/libraries.cljs:555, src/app/main/ui/workspace/libraries.cljs:679
msgid "workspace.libraries.shared-library-btn"
msgstr "連接資料庫"
@@ -6477,24 +6421,24 @@ msgstr "解除所有資產的連結"
msgid "workspace.libraries.text.multiple-token-tooltip"
msgstr "解除所有 tokens 的套用"
-#: src/app/main/ui/workspace/libraries.cljs:129, src/app/main/ui/workspace/libraries.cljs:158, src/app/main/ui/workspace/libraries.cljs:203
+#: src/app/main/ui/workspace/libraries.cljs:181, src/app/main/ui/workspace/libraries.cljs:210, src/app/main/ui/workspace/libraries.cljs:255
msgid "workspace.libraries.typography"
msgid_plural "workspace.libraries.typography"
msgstr[0] "%s 種文字樣式"
-#: src/app/main/ui/workspace/libraries.cljs:469, src/app/main/ui/workspace/libraries.cljs:885
+#: src/app/main/ui/workspace/libraries.cljs:522, src/app/main/ui/workspace/libraries.cljs:908
msgid "workspace.libraries.unlink-library-btn"
msgstr "中斷資料庫連線"
-#: src/app/main/ui/workspace/libraries.cljs:1011
+#: src/app/main/ui/workspace/libraries.cljs:1034
msgid "workspace.libraries.update"
msgstr "更新"
-#: src/app/main/ui/workspace/libraries.cljs:1087
+#: src/app/main/ui/workspace/libraries.cljs:1111
msgid "workspace.libraries.update.see-all-changes"
msgstr "查看所有變更"
-#: src/app/main/ui/workspace/libraries.cljs:1139, src/app/main/ui/workspace/libraries.cljs:1143
+#: src/app/main/ui/workspace/libraries.cljs:1163, src/app/main/ui/workspace/libraries.cljs:1167
msgid "workspace.libraries.updates"
msgstr "更新"
@@ -6554,7 +6498,7 @@ msgstr "開啟 / 關閉模糊效果"
msgid "workspace.options.blur-options.toggle-more-options"
msgstr "顯示 / 隱藏更多選項"
-#: src/app/main/ui/exports/assets.cljs:332
+#: src/app/main/ui/exports/assets.cljs:327
msgid "workspace.options.cancel-export"
msgstr "取消"
@@ -6562,107 +6506,107 @@ msgstr "取消"
msgid "workspace.options.canvas-background"
msgstr "畫布背景"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:722
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:720
msgid "workspace.options.clip-content"
msgstr "裁切內容"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1022, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1028, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1277
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1034, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1293
msgid "workspace.options.component"
msgstr "元件"
-#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:193
+#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:196
msgid "workspace.options.component.annotation"
msgstr "註解"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1036
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048
msgid "workspace.options.component.copy"
msgstr "複製"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:184
msgid "workspace.options.component.create-annotation"
msgstr "建立註解"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:185
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:183
msgid "workspace.options.component.edit-annotation"
msgstr "編輯註解"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1281
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297
msgid "workspace.options.component.main"
msgstr "主要"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:781
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:789
msgid "workspace.options.component.swap"
msgstr "替換元件"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:818
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:826
msgid "workspace.options.component.swap.empty"
msgstr "此資料庫尚無資產"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1061
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1075
msgid "workspace.options.component.unlinked"
msgstr "未連結"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:581
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:588
msgid "workspace.options.component.variant.duplicated.copy.locate"
msgstr "找出衝突的變體"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:585
msgid "workspace.options.component.variant.duplicated.copy.title"
msgstr "此元件有衝突的變體。請確認每個變體的屬性值組合皆不重複。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1355
msgid "workspace.options.component.variant.duplicated.group.locate"
msgstr "定位重複的變體"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1333
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1352
msgid "workspace.options.component.variant.duplicated.group.title"
msgstr "部分變體的屬性與值完全相同"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:273
msgid "workspace.options.component.variant.duplicated.single.all"
msgstr "這些變體的屬性與值完全相同。請調整屬性值,以便正確找到各個變體。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:263
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270
msgid "workspace.options.component.variant.duplicated.single.one"
msgstr "此變體的屬性和值與另一個變體完全相同。請調整值,以便正確擷取變體。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:269
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:276
msgid "workspace.options.component.variant.duplicated.single.some"
msgstr "其中部分變體的屬性和值完全相同。請調整值,以便正確擷取變體。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:568
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:575
msgid "workspace.options.component.variant.malformed.copy"
msgstr "此元件中有變體的名稱無效。請確認每個變體的名稱都符合正確格式。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1326
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1345
msgid "workspace.options.component.variant.malformed.group.locate"
msgstr "找出名稱無效的變體"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1323
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1342
msgid "workspace.options.component.variant.malformed.group.title"
msgstr "部分變體的名稱無效"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:571
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:578
msgid "workspace.options.component.variant.malformed.locate"
msgstr "定位名稱無效的變體"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:250
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:257
msgid "workspace.options.component.variant.malformed.single.all"
msgstr "這些變體的名稱皆無效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:247
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254
msgid "workspace.options.component.variant.malformed.single.one"
msgstr "此變體的名稱無效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:253
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:260
msgid "workspace.options.component.variant.malformed.single.some"
msgstr "其中部分變體的名稱無效。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:436
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:443
msgid "workspace.options.component.variant.malformed.structure.example"
msgstr "[屬性]=[值], [屬性]=[值]"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:434
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:441
msgid "workspace.options.component.variant.malformed.structure.title"
msgstr "請嘗試使用以下結構:"
@@ -6694,7 +6638,7 @@ msgstr "位於相同的階層。"
msgid "workspace.options.component.variants-help-modal.rule3.detail"
msgstr "群組、畫板和版面佈局視為等同。"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1040, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1284, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1052, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1300, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47
msgid "workspace.options.component.variants-help-modal.title"
msgstr "變體如何維持關聯"
@@ -6742,11 +6686,11 @@ msgstr "上與下"
msgid "workspace.options.convert-to-typography"
msgstr "建立文字樣式"
-#: src/app/main/ui/workspace/sidebar/options.cljs:238
+#: src/app/main/ui/workspace/sidebar/options.cljs:240
msgid "workspace.options.design"
msgstr "設計"
-#: src/app/main/ui/inspect/exports.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
+#: src/app/main/ui/inspect/exports.cljs:164, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:213
msgid "workspace.options.export"
msgstr "匯出"
@@ -6754,52 +6698,52 @@ msgstr "匯出"
msgid "workspace.options.export-multiple"
msgstr "匯出選取項目"
-#: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
+#: src/app/main/ui/inspect/exports.cljs:221, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:277
msgid "workspace.options.export-object"
msgid_plural "workspace.options.export-object"
msgstr[0] "匯出 %s 個元素"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
+#: src/app/main/ui/inspect/exports.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:216
msgid "workspace.options.export.add-export"
msgstr "新增匯出"
-#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
+#: src/app/main/ui/inspect/exports.cljs:177, src/app/main/ui/inspect/exports.cljs:211, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:263
msgid "workspace.options.export.remove-export"
msgstr "移除匯出"
-#: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
+#: src/app/main/ui/inspect/exports.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:257
msgid "workspace.options.export.suffix"
msgstr "後綴"
-#: src/app/main/ui/exports/assets.cljs:267
+#: src/app/main/ui/exports/assets.cljs:260
msgid "workspace.options.exporting-busy"
msgstr "匯出服務忙碌中,請稍後再試"
-#: src/app/main/ui/exports/assets.cljs:270
+#: src/app/main/ui/exports/assets.cljs:263
msgid "workspace.options.exporting-cancelled"
msgstr "已取消匯出"
-#: src/app/main/ui/exports/assets.cljs:269
+#: src/app/main/ui/exports/assets.cljs:262
msgid "workspace.options.exporting-cancelling"
msgstr "正在取消..."
-#: src/app/main/ui/exports/assets.cljs:272
+#: src/app/main/ui/exports/assets.cljs:265
msgid "workspace.options.exporting-complete"
msgstr "匯出完成"
-#: src/app/main/ui/exports/assets.cljs:171, src/app/main/ui/exports/assets.cljs:273, src/app/main/ui/inspect/exports.cljs:217, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
+#: src/app/main/ui/exports/assets.cljs:164, src/app/main/ui/exports/assets.cljs:266, src/app/main/ui/inspect/exports.cljs:220, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:276
msgid "workspace.options.exporting-object"
msgstr "正在匯出…"
-#: src/app/main/ui/exports/assets.cljs:268
+#: src/app/main/ui/exports/assets.cljs:261
msgid "workspace.options.exporting-object-error"
msgstr "匯出失敗"
-#: src/app/main/ui/exports/assets.cljs:274
+#: src/app/main/ui/exports/assets.cljs:267
msgid "workspace.options.exporting-object-slow"
msgstr "匯出速度異常緩慢"
-#: src/app/main/ui/exports/assets.cljs:271
+#: src/app/main/ui/exports/assets.cljs:264
msgid "workspace.options.exporting-queued"
msgstr "等待中..."
@@ -6819,7 +6763,7 @@ msgstr "移除填充"
msgid "workspace.options.fill.section"
msgstr "填充區塊"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:551
msgid "workspace.options.fit-content"
msgstr "調整畫板大小以符合內容"
@@ -6843,67 +6787,67 @@ msgstr "流程起點"
msgid "workspace.options.grid.auto"
msgstr "自動"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
msgid "workspace.options.grid.column"
msgstr "欄"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:248, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:282
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:249, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:283
msgid "workspace.options.grid.params.color"
msgstr "色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:302
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:303
msgid "workspace.options.grid.params.gutter"
msgstr "網格間距"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
msgid "workspace.options.grid.params.height"
msgstr "高度"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:311
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:312
msgid "workspace.options.grid.params.margin"
msgstr "邊距"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:78
msgid "workspace.options.grid.params.set-default"
msgstr "設為預設值"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:276
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
msgid "workspace.options.grid.params.type.bottom"
msgstr "靠下"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:275
msgid "workspace.options.grid.params.type.center"
msgstr "置中"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274
msgid "workspace.options.grid.params.type.left"
msgstr "靠左"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:277
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:278
msgid "workspace.options.grid.params.type.right"
msgstr "右"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:270
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:271
msgid "workspace.options.grid.params.type.stretch"
msgstr "延展"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:272
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:273
msgid "workspace.options.grid.params.type.top"
msgstr "上"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:72
msgid "workspace.options.grid.params.use-default"
msgstr "使用預設值"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:293
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:294
msgid "workspace.options.grid.params.width"
msgstr "寬度"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:209
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:208
msgid "workspace.options.grid.row"
msgstr "列"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:207
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:206
msgid "workspace.options.grid.square"
msgstr "正方形"
@@ -6915,7 +6859,7 @@ msgstr "群組填充"
msgid "workspace.options.group-stroke"
msgstr "群組筆畫"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:367
msgid "workspace.options.guides.add-guide"
msgstr "新增輔助線"
@@ -6923,19 +6867,19 @@ msgstr "新增輔助線"
msgid "workspace.options.guides.remove-guide"
msgstr "移除輔助線"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:364
msgid "workspace.options.guides.title"
msgstr "輔助線"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:230
msgid "workspace.options.guides.toggle-guide"
msgstr "切換輔助線顯示"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:581, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:600
msgid "workspace.options.height"
msgstr "高度"
-#: src/app/main/ui/workspace/sidebar/options.cljs:242
+#: src/app/main/ui/workspace/sidebar/options.cljs:244
msgid "workspace.options.inspect"
msgstr "檢視"
@@ -7151,115 +7095,115 @@ msgstr "互動"
msgid "workspace.options.interactions.add-interaction"
msgstr "新增互動"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
msgid "workspace.options.layer-options.blend-mode.color"
msgstr "色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
msgid "workspace.options.layer-options.blend-mode.color-burn"
msgstr "加深色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
msgid "workspace.options.layer-options.blend-mode.color-dodge"
msgstr "加亮色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
msgid "workspace.options.layer-options.blend-mode.darken"
msgstr "變暗"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
msgid "workspace.options.layer-options.blend-mode.difference"
msgstr "差異化"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
msgid "workspace.options.layer-options.blend-mode.exclusion"
msgstr "排除"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:199
msgid "workspace.options.layer-options.blend-mode.hard-light"
msgstr "強光"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:201
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
msgid "workspace.options.layer-options.blend-mode.hue"
msgstr "色相"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:193
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
msgid "workspace.options.layer-options.blend-mode.lighten"
msgstr "變亮"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:205
msgid "workspace.options.layer-options.blend-mode.luminosity"
msgstr "明度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:192
msgid "workspace.options.layer-options.blend-mode.multiply"
msgstr "色彩增值"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:189
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:190
msgid "workspace.options.layer-options.blend-mode.normal"
msgstr "正常"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:196
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
msgid "workspace.options.layer-options.blend-mode.overlay"
msgstr "覆蓋"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:202
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203
msgid "workspace.options.layer-options.blend-mode.saturation"
msgstr "飽和度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:194
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:195
msgid "workspace.options.layer-options.blend-mode.screen"
msgstr "濾色"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:198
msgid "workspace.options.layer-options.blend-mode.soft-light"
msgstr "柔光"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:224, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:286
msgid "workspace.options.layer-options.layer-section"
msgstr "圖層選單區塊"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:257, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:264, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:312, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:318
msgid "workspace.options.layer-options.toggle-layer"
msgstr "切換圖層顯示狀態"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:701, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:707
msgid "workspace.options.layout-item.layout-item-max-h"
msgstr "最大高度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:647
msgid "workspace.options.layout-item.layout-item-max-w"
msgstr "最大寬度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:678
msgid "workspace.options.layout-item.layout-item-min-h"
msgstr "最小高度"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:617
msgid "workspace.options.layout-item.layout-item-min-w"
msgstr "最小寬度"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:245
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:273
msgid "workspace.options.more-colors"
msgstr "更多色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:227
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:254
msgid "workspace.options.more-lib-colors"
msgstr "更多資料庫色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:297
msgid "workspace.options.more-token-colors"
msgstr "更多色彩 tokens"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:516
msgid "workspace.options.no-size-preset-results"
msgstr "沒有符合的尺寸預設值"
-#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297
+#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:241, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:298
msgid "workspace.options.opacity"
msgstr "不透明度"
-#: src/app/main/ui/workspace/sidebar/options.cljs:240
+#: src/app/main/ui/workspace/sidebar/options.cljs:242
msgid "workspace.options.prototype"
msgstr "原型"
@@ -7295,23 +7239,23 @@ msgstr "圓角半徑區塊"
msgid "workspace.options.radius.show-single-corners"
msgstr "顯示各角半徑設定"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501
msgid "workspace.options.recent-fonts"
msgstr "最近使用"
-#: src/app/main/ui/exports/assets.cljs:326
+#: src/app/main/ui/exports/assets.cljs:321
msgid "workspace.options.retry"
msgstr "重試"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:684, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:692
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:682, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:690
msgid "workspace.options.rotation"
msgstr "旋轉"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:461
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:498
msgid "workspace.options.search-font"
msgstr "搜尋字型"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:510
msgid "workspace.options.search-size-preset"
msgstr "搜尋預設尺寸"
@@ -7319,11 +7263,11 @@ msgstr "搜尋預設尺寸"
msgid "workspace.options.select-a-shape"
msgstr "選取形狀、畫板或群組,再拖曳連接線至其他畫板。"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:205
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:231
msgid "workspace.options.selection-color"
msgstr "已選取的色彩"
-#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200
+#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:226
msgid "workspace.options.selection-color.section"
msgstr "色彩選取區"
@@ -7391,55 +7335,55 @@ msgstr "切換陰影"
msgid "workspace.options.show-fill-on-export"
msgstr "在匯出中顯示"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:737
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:735
msgid "workspace.options.show-in-viewer"
msgstr "在檢視模式中顯示"
-#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:213
+#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:212
msgid "workspace.options.size"
msgstr "尺寸"
-#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:500
+#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:498
msgid "workspace.options.size-presets"
msgstr "預設尺寸"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.lock"
msgstr "鎖定長寬比"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:615
msgid "workspace.options.size.unlock"
msgstr "解除長寬比鎖定"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:334
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:359
msgid "workspace.options.stroke-cap.circle-marker-short"
msgstr "圓形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:335
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:360
msgid "workspace.options.stroke-cap.diamond-marker-short"
msgstr "菱形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:331
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:356
msgid "workspace.options.stroke-cap.line-arrow-short"
msgstr "箭頭"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:354
msgid "workspace.options.stroke-cap.none"
msgstr "無"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:337
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:362
msgid "workspace.options.stroke-cap.round"
msgstr "圓頭"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:338
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:363
msgid "workspace.options.stroke-cap.square"
msgstr "方頭"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:333
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:358
msgid "workspace.options.stroke-cap.square-marker-short"
msgstr "矩形"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:332
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:357
msgid "workspace.options.stroke-cap.triangle-arrow-short"
msgstr "三角形"
@@ -7447,31 +7391,31 @@ msgstr "三角形"
msgid "workspace.options.stroke-color"
msgstr "筆畫色彩"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:548
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:571
msgid "workspace.options.stroke-dash"
msgstr "虛線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:558
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:581
msgid "workspace.options.stroke-gap"
msgstr "間距"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:405, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:443
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:430, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:466
msgid "workspace.options.stroke-width"
msgstr "筆畫寬度"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:518
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:541
msgid "workspace.options.stroke-width-bottom"
msgstr "下側(區塊結束端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:531
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:554
msgid "workspace.options.stroke-width-left"
msgstr "左側(行內起始端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:505
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:528
msgid "workspace.options.stroke-width-right"
msgstr "右側(行內結束端)"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:492
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:515
msgid "workspace.options.stroke-width-top"
msgstr "上側(區塊起始端)"
@@ -7479,47 +7423,47 @@ msgstr "上側(區塊起始端)"
msgid "workspace.options.stroke.add-stroke"
msgstr "新增筆畫色彩"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:238
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:263
msgid "workspace.options.stroke.center"
msgstr "置中"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:266
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:291
msgid "workspace.options.stroke.dashed"
msgstr "虛線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:290
msgid "workspace.options.stroke.dotted"
msgstr "點線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:239
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
msgid "workspace.options.stroke.inner"
msgstr "內側"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:267
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:292
msgid "workspace.options.stroke.mixed"
msgstr "混合"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:240
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:265
msgid "workspace.options.stroke.outer"
msgstr "外側"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:150
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:175
msgid "workspace.options.stroke.per-side"
msgstr "各邊筆畫"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:149
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:174
msgid "workspace.options.stroke.per-side-disabled"
msgstr "各邊筆畫功能僅適用於新版渲染引擎。請切換渲染引擎以使用此功能。"
-#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:389
+#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:414
msgid "workspace.options.stroke.remove-stroke"
msgstr "移除筆畫"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:264
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:289
msgid "workspace.options.stroke.solid"
msgstr "實線"
-#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:384
+#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:409
msgid "workspace.options.stroke.toggle-stroke"
msgstr "開啟或關閉筆畫"
@@ -7555,11 +7499,11 @@ msgstr "自動寬度"
msgid "workspace.options.text-options.grow-fixed"
msgstr "固定"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:688
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:732
msgid "workspace.options.text-options.letter-spacing"
msgstr "字距"
-#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:669
+#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:713
msgid "workspace.options.text-options.line-height"
msgstr "行高"
@@ -7607,216 +7551,216 @@ msgstr "底線(%s)"
msgid "workspace.options.use-play-button"
msgstr "使用頂端列的播放按鈕預覽原型。"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:568, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:590
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:566, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:588
msgid "workspace.options.width"
msgstr "寬度"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:630, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:653
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:628, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:651
msgid "workspace.options.x"
msgstr "X 軸"
-#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:643, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:664
+#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:641, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:662
msgid "workspace.options.y"
msgstr "Y 軸"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:270
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:237
msgid "workspace.path.actions.draw-nodes"
msgstr "繪製節點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:165
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:132
msgid "workspace.path.actions.handler-aligned"
msgstr "對齊"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:169
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:136
msgid "workspace.path.actions.handler-independent"
msgstr "獨立"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:161
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:128
msgid "workspace.path.actions.handler-mirror"
msgstr "等長"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:148
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:121
msgid "workspace.path.actions.handler-type"
msgstr "控制柄行為"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:288
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:256
msgid "workspace.path.actions.join-nodes"
msgstr "連接節點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:303
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:271
msgid "workspace.path.actions.make-corner"
msgstr "轉為角點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:307
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:275
msgid "workspace.path.actions.make-curve"
msgstr "轉為曲線(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:284
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:252
msgid "workspace.path.actions.merge-nodes"
msgstr "合併節點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:274
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:241
msgid "workspace.path.actions.move-nodes"
msgstr "移動節點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:292
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:260
msgid "workspace.path.actions.separate-nodes"
msgstr "分離節點(%s)"
-#: src/app/main/ui/workspace/viewport/path_actions.cljs:322
+#: src/app/main/ui/workspace/viewport/path_actions.cljs:289
msgid "workspace.path.actions.snap-nodes"
msgstr "貼齊節點(%s)"
-#: src/app/main/ui/workspace/plugins.cljs:98
+#: src/app/main/ui/workspace/plugins.cljs:95
msgid "workspace.plugins.button-open"
msgstr "開啟"
-#: src/app/main/ui/workspace/plugins.cljs:215
+#: src/app/main/ui/workspace/plugins.cljs:243
#, markdown
msgid "workspace.plugins.discover"
msgstr "探索[更多外掛](%s)"
-#: src/app/main/ui/workspace/plugins.cljs:222
+#: src/app/main/ui/workspace/plugins.cljs:251
msgid "workspace.plugins.empty-plugins"
msgstr "尚未安裝任何外掛"
-#: src/app/main/ui/workspace/plugins.cljs:209
+#: src/app/main/ui/workspace/plugins.cljs:237
msgid "workspace.plugins.error.manifest"
msgstr "外掛的資訊清單有誤。"
-#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97
+#: src/app/main/data/plugins.cljs:131, src/app/main/ui/workspace/main_menu.cljs:812, src/app/main/ui/workspace/plugins.cljs:94
msgid "workspace.plugins.error.need-editor"
msgstr "您需要具備編輯者權限才能使用此外掛"
-#: src/app/main/ui/workspace/plugins.cljs:205
+#: src/app/main/ui/workspace/plugins.cljs:233
msgid "workspace.plugins.error.url"
msgstr "此外掛不存在,或網址不正確。"
-#: src/app/main/ui/workspace/plugins.cljs:201
+#: src/app/main/ui/workspace/plugins.cljs:229
msgid "workspace.plugins.install"
msgstr "安裝"
-#: src/app/main/ui/workspace/plugins.cljs:231
+#: src/app/main/ui/workspace/plugins.cljs:263
msgid "workspace.plugins.installed-plugins"
msgstr "已安裝的外掛"
-#: src/app/main/ui/workspace/main_menu.cljs:766
+#: src/app/main/ui/workspace/main_menu.cljs:767
msgid "workspace.plugins.menu.plugins-manager"
msgstr "外掛管理員"
-#: src/app/main/ui/workspace/main_menu.cljs:1078
+#: src/app/main/ui/workspace/main_menu.cljs:1079
msgid "workspace.plugins.menu.title"
msgstr "外掛"
-#: src/app/main/ui/workspace/plugins.cljs:424
+#: src/app/main/ui/workspace/plugins.cljs:491
msgid "workspace.plugins.permissions-update.title"
msgstr "更新此外掛"
-#: src/app/main/ui/workspace/plugins.cljs:428
+#: src/app/main/ui/workspace/plugins.cljs:495
msgid "workspace.plugins.permissions-update.warning"
msgstr "此外掛自您上次開啟後已有變更,現在它還需要以下存取權限:"
-#: src/app/main/ui/workspace/plugins.cljs:297
+#: src/app/main/ui/workspace/plugins.cljs:330
msgid "workspace.plugins.permissions.allow-download"
msgstr "啟動檔案下載。"
-#: src/app/main/ui/workspace/plugins.cljs:304
+#: src/app/main/ui/workspace/plugins.cljs:337
msgid "workspace.plugins.permissions.allow-localstorage"
msgstr "在瀏覽器中儲存資料。"
-#: src/app/main/ui/workspace/plugins.cljs:317
+#: src/app/main/ui/workspace/plugins.cljs:378
msgid "workspace.plugins.permissions.clipboard-read"
msgstr "讀取您的剪貼簿內容。"
-#: src/app/main/ui/workspace/plugins.cljs:311
+#: src/app/main/ui/workspace/plugins.cljs:372
msgid "workspace.plugins.permissions.clipboard-write"
msgstr "讀取及寫入您的剪貼簿內容。"
-#: src/app/main/ui/workspace/plugins.cljs:290
+#: src/app/main/ui/workspace/plugins.cljs:323
msgid "workspace.plugins.permissions.comment-read"
msgstr "讀取您的留言與回覆。"
-#: src/app/main/ui/workspace/plugins.cljs:284
+#: src/app/main/ui/workspace/plugins.cljs:317
msgid "workspace.plugins.permissions.comment-write"
msgstr "讀取及修改您的留言,並以您的名義回覆。"
-#: src/app/main/ui/workspace/plugins.cljs:257
+#: src/app/main/ui/workspace/plugins.cljs:290
msgid "workspace.plugins.permissions.content-read"
msgstr "讀取使用者有權存取的檔案內容。"
-#: src/app/main/ui/workspace/plugins.cljs:251
+#: src/app/main/ui/workspace/plugins.cljs:284
msgid "workspace.plugins.permissions.content-write"
msgstr "讀取及修改使用者有權存取的檔案內容。"
-#: src/app/main/ui/workspace/plugins.cljs:366
+#: src/app/main/ui/workspace/plugins.cljs:431
msgid "workspace.plugins.permissions.disclaimer"
msgstr "請注意,此外掛由第三方開發,授予存取權限前,請確認您信任此外掛。我們重視您的資料隱私與安全。如有任何疑慮,請聯絡客服。"
-#: src/app/main/ui/workspace/plugins.cljs:277
+#: src/app/main/ui/workspace/plugins.cljs:310
msgid "workspace.plugins.permissions.library-read"
msgstr "讀取您的資料庫與資產。"
-#: src/app/main/ui/workspace/plugins.cljs:271
+#: src/app/main/ui/workspace/plugins.cljs:304
msgid "workspace.plugins.permissions.library-write"
msgstr "讀取及修改您的資料庫與資產。"
-#: src/app/main/ui/workspace/plugins.cljs:359
+#: src/app/main/ui/workspace/plugins.cljs:424
msgid "workspace.plugins.permissions.title"
msgstr "「%s」外掛要求存取以下內容:"
-#: src/app/main/ui/workspace/plugins.cljs:264
+#: src/app/main/ui/workspace/plugins.cljs:297
msgid "workspace.plugins.permissions.user-read"
msgstr "讀取目前使用者的個人資料。"
-#: src/app/main/ui/workspace/plugins.cljs:227
+#: src/app/main/ui/workspace/plugins.cljs:256
msgid "workspace.plugins.plugin-list-link"
msgstr "外掛清單"
-#: src/app/main/ui/workspace/plugins.cljs:101
+#: src/app/main/ui/workspace/plugins.cljs:98, src/app/main/ui/workspace/plugins.cljs:189
msgid "workspace.plugins.remove-plugin"
msgstr "移除外掛"
-#: src/app/main/ui/workspace/plugins.cljs:195
+#: src/app/main/ui/workspace/plugins.cljs:223
msgid "workspace.plugins.search-placeholder"
msgstr "輸入外掛網址"
-#: src/app/main/ui/workspace/plugins.cljs:188
+#: src/app/main/ui/workspace/plugins.cljs:216
msgid "workspace.plugins.title"
msgstr "外掛"
-#: src/app/main/ui/workspace/plugins.cljs:494
+#: src/app/main/ui/workspace/plugins.cljs:563
msgid "workspace.plugins.try-out.cancel"
msgstr "暫時不要"
-#: src/app/main/ui/workspace/plugins.cljs:487
+#: src/app/main/ui/workspace/plugins.cljs:556
msgid "workspace.plugins.try-out.message"
msgstr "想看看嗎?它將在您當前的團隊中以新草稿開啟。(如果不想,您隨時可以在任何檔案的已安裝外掛中找到它。)"
-#: src/app/main/ui/workspace/plugins.cljs:483
+#: src/app/main/ui/workspace/plugins.cljs:552
msgid "workspace.plugins.try-out.title"
msgstr "已為您的帳號安裝「%s」外掛!"
-#: src/app/main/ui/workspace/plugins.cljs:500
+#: src/app/main/ui/workspace/plugins.cljs:568
msgid "workspace.plugins.try-out.try"
msgstr "試用外掛"
-#: src/app/main/ui/workspace/context_menu.cljs:659
+#: src/app/main/ui/workspace/context_menu.cljs:667
msgid "workspace.shape.menu.add-flex"
msgstr "新增彈性佈局"
-#: src/app/main/ui/workspace/context_menu.cljs:664
+#: src/app/main/ui/workspace/context_menu.cljs:672
msgid "workspace.shape.menu.add-grid"
msgstr "新增網格佈局"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1318, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1332
msgid "workspace.shape.menu.add-layout"
msgstr "新增佈局"
-#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1046, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1214, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1288
+#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1230, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1305
msgid "workspace.shape.menu.add-variant"
msgstr "建立變體"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1068, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1216, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1302
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1082, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1232, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1320
msgid "workspace.shape.menu.add-variant-property"
msgstr "新增屬性"
@@ -7828,11 +7772,11 @@ msgstr "移至最底層"
msgid "workspace.shape.menu.backward"
msgstr "下移一層"
-#: src/app/main/ui/workspace/context_menu.cljs:746
+#: src/app/main/ui/workspace/context_menu.cljs:754
msgid "workspace.shape.menu.clear-guides"
msgstr "清除畫板參考線"
-#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1101
+#: src/app/main/ui/workspace/context_menu.cljs:735, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1116
msgid "workspace.shape.menu.combine-as-variants"
msgstr "合併為變體"
@@ -7840,7 +7784,7 @@ msgstr "合併為變體"
msgid "workspace.shape.menu.combine-as-variants-error"
msgstr "元件必須位於同一頁面"
-#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064
+#: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1072
msgid "workspace.shape.menu.copy"
msgstr "複製"
@@ -7884,27 +7828,27 @@ msgstr "複製為文字"
msgid "workspace.shape.menu.create-annotation"
msgstr "建立註解"
-#: src/app/main/ui/workspace/context_menu.cljs:444
+#: src/app/main/ui/workspace/context_menu.cljs:446
msgid "workspace.shape.menu.create-artboard-from-selection"
msgstr "將選取項目轉為畫板"
-#: src/app/main/ui/workspace/context_menu.cljs:697
+#: src/app/main/ui/workspace/context_menu.cljs:705
msgid "workspace.shape.menu.create-component"
msgstr "建立元件"
-#: src/app/main/ui/workspace/context_menu.cljs:702
+#: src/app/main/ui/workspace/context_menu.cljs:710
msgid "workspace.shape.menu.create-multiple-components"
msgstr "建立多個元件"
-#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1059
+#: src/app/main/ui/workspace/context_menu.cljs:236, src/app/main/ui/workspace/context_menu.cljs:1067
msgid "workspace.shape.menu.cut"
msgstr "剪下"
-#: src/app/main/ui/workspace/context_menu.cljs:758, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
+#: src/app/main/ui/workspace/context_menu.cljs:766, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1018, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1340
msgid "workspace.shape.menu.delete"
msgstr "刪除"
-#: src/app/main/ui/workspace/context_menu.cljs:602
+#: src/app/main/ui/workspace/context_menu.cljs:604
msgid "workspace.shape.menu.delete-flow-start"
msgstr "刪除流程起點"
@@ -7916,7 +7860,7 @@ msgstr "分離實例"
msgid "workspace.shape.menu.detach-instances-in-bulk"
msgstr "分離實例"
-#: src/app/main/ui/workspace/context_menu.cljs:535, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:90
+#: src/app/main/ui/workspace/context_menu.cljs:537, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:87
msgid "workspace.shape.menu.difference"
msgstr "差集"
@@ -7924,15 +7868,15 @@ msgstr "差集"
msgid "workspace.shape.menu.duplicate"
msgstr "建立複本"
-#: src/app/main/ui/workspace/context_menu.cljs:509
+#: src/app/main/ui/workspace/context_menu.cljs:511
msgid "workspace.shape.menu.edit"
msgstr "編輯"
-#: src/app/main/ui/workspace/context_menu.cljs:543, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:100
+#: src/app/main/ui/workspace/context_menu.cljs:545, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:97
msgid "workspace.shape.menu.exclude"
msgstr "排除"
-#: src/app/main/ui/workspace/context_menu.cljs:518, src/app/main/ui/workspace/context_menu.cljs:551, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:104
+#: src/app/main/ui/workspace/context_menu.cljs:520, src/app/main/ui/workspace/context_menu.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:102
msgid "workspace.shape.menu.flatten"
msgstr "扁平化"
@@ -7944,7 +7888,7 @@ msgstr "水平翻轉"
msgid "workspace.shape.menu.flip-vertical"
msgstr "垂直翻轉"
-#: src/app/main/ui/workspace/context_menu.cljs:604
+#: src/app/main/ui/workspace/context_menu.cljs:606
msgid "workspace.shape.menu.flow-start"
msgstr "流程起點"
@@ -7956,31 +7900,31 @@ msgstr "上移一層"
msgid "workspace.shape.menu.front"
msgstr "移至最上層"
-#: src/app/main/ui/workspace/context_menu.cljs:427
+#: src/app/main/ui/workspace/context_menu.cljs:429
msgid "workspace.shape.menu.group"
msgstr "群組"
-#: src/app/main/ui/workspace/context_menu.cljs:571, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
+#: src/app/main/ui/workspace/context_menu.cljs:573, src/app/main/ui/workspace/sidebar/layer_item.cljs:191
msgid "workspace.shape.menu.hide"
msgstr "隱藏"
-#: src/app/main/ui/workspace/context_menu.cljs:853, src/app/main/ui/workspace/main_menu.cljs:489
+#: src/app/main/ui/workspace/context_menu.cljs:861, src/app/main/ui/workspace/main_menu.cljs:490
msgid "workspace.shape.menu.hide-ui"
msgstr "顯示 / 隱藏使用者介面"
-#: src/app/main/ui/workspace/context_menu.cljs:539, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:95
+#: src/app/main/ui/workspace/context_menu.cljs:541, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:92
msgid "workspace.shape.menu.intersection"
msgstr "交集"
-#: src/app/main/ui/workspace/context_menu.cljs:581, src/app/main/ui/workspace/sidebar/layer_item.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:324
+#: src/app/main/ui/workspace/context_menu.cljs:583, src/app/main/ui/workspace/sidebar/layer_item.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:272, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:325
msgid "workspace.shape.menu.lock"
msgstr "鎖定"
-#: src/app/main/ui/workspace/context_menu.cljs:433
+#: src/app/main/ui/workspace/context_menu.cljs:435
msgid "workspace.shape.menu.mask"
msgstr "遮罩"
-#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:849, src/app/main/ui/workspace/context_menu.cljs:1069
+#: src/app/main/ui/workspace/context_menu.cljs:240, src/app/main/ui/workspace/context_menu.cljs:857, src/app/main/ui/workspace/context_menu.cljs:1077
msgid "workspace.shape.menu.paste"
msgstr "貼上"
@@ -7988,27 +7932,27 @@ msgstr "貼上"
msgid "workspace.shape.menu.paste-props"
msgstr "貼上屬性"
-#: src/app/main/ui/workspace/context_menu.cljs:530
+#: src/app/main/ui/workspace/context_menu.cljs:532
msgid "workspace.shape.menu.path"
msgstr "路徑"
-#: src/app/main/ui/workspace/context_menu.cljs:647
+#: src/app/main/ui/workspace/context_menu.cljs:653
msgid "workspace.shape.menu.remove-flex"
msgstr "移除彈性佈局"
-#: src/app/main/ui/workspace/context_menu.cljs:651
+#: src/app/main/ui/workspace/context_menu.cljs:657
msgid "workspace.shape.menu.remove-grid"
msgstr "移除網格佈局"
-#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1312
+#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1326
msgid "workspace.shape.menu.remove-layout"
msgstr "移除版面佈局"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1152
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1167
msgid "workspace.shape.menu.remove-variant-property"
msgstr "移除屬性"
-#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1151
+#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1166
msgid "workspace.shape.menu.remove-variant-property.last-property"
msgstr "變體至少須有一個屬性"
@@ -8032,11 +7976,11 @@ msgstr "還原變體"
msgid "workspace.shape.menu.select-layer"
msgstr "選取圖層"
-#: src/app/main/ui/workspace/context_menu.cljs:567, src/app/main/ui/workspace/sidebar/layer_item.cljs:189
+#: src/app/main/ui/workspace/context_menu.cljs:569, src/app/main/ui/workspace/sidebar/layer_item.cljs:190
msgid "workspace.shape.menu.show"
msgstr "顯示"
-#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1212
+#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1228
msgid "workspace.shape.menu.show-in-assets"
msgstr "在資產面板中顯示"
@@ -8044,7 +7988,7 @@ msgstr "在資產面板中顯示"
msgid "workspace.shape.menu.show-main"
msgstr "顯示主要元件"
-#: src/app/main/ui/workspace/context_menu.cljs:524
+#: src/app/main/ui/workspace/context_menu.cljs:526
msgid "workspace.shape.menu.stroke-to-path"
msgstr "將筆畫轉換為路徑"
@@ -8056,19 +8000,19 @@ msgstr "移除縮圖"
msgid "workspace.shape.menu.thumbnail-set"
msgstr "設為縮圖"
-#: src/app/main/ui/workspace/context_menu.cljs:422
+#: src/app/main/ui/workspace/context_menu.cljs:424
msgid "workspace.shape.menu.ungroup"
msgstr "取消群組"
-#: src/app/main/ui/workspace/context_menu.cljs:531, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85
+#: src/app/main/ui/workspace/context_menu.cljs:533, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:82
msgid "workspace.shape.menu.union"
msgstr "聯集"
-#: src/app/main/ui/workspace/context_menu.cljs:577, src/app/main/ui/workspace/sidebar/layer_item.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:330
+#: src/app/main/ui/workspace/context_menu.cljs:579, src/app/main/ui/workspace/sidebar/layer_item.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:279, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:331
msgid "workspace.shape.menu.unlock"
msgstr "解除鎖定"
-#: src/app/main/ui/workspace/context_menu.cljs:439
+#: src/app/main/ui/workspace/context_menu.cljs:441
msgid "workspace.shape.menu.unmask"
msgstr "取消遮罩"
@@ -8084,79 +8028,79 @@ msgstr "收合側邊欄"
msgid "workspace.sidebar.expand"
msgstr "展開側邊欄"
-#: src/app/main/ui/workspace/right_header.cljs:232, src/app/main/ui/workspace/right_header.cljs:233
+#: src/app/main/ui/workspace/right_header.cljs:236
msgid "workspace.sidebar.history"
msgstr "歷史紀錄"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:882, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
+#: src/app/main/ui/workspace/sidebar/layers.cljs:921, src/app/main/ui/workspace/sidebar.cljs:154, src/app/main/ui/workspace/sidebar.cljs:157, src/app/main/ui/workspace/sidebar.cljs:164
msgid "workspace.sidebar.layers"
msgstr "圖層"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:652, src/app/main/ui/workspace/sidebar/layers.cljs:716
+#: src/app/main/ui/workspace/sidebar/layers.cljs:685, src/app/main/ui/workspace/sidebar/layers.cljs:749
msgid "workspace.sidebar.layers.components"
msgstr "元件"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:585
+#: src/app/main/ui/workspace/sidebar/layers.cljs:617
msgid "workspace.sidebar.layers.filter"
msgstr "篩選"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:649, src/app/main/ui/workspace/sidebar/layers.cljs:680
+#: src/app/main/ui/workspace/sidebar/layers.cljs:682, src/app/main/ui/workspace/sidebar/layers.cljs:713
msgid "workspace.sidebar.layers.frames"
msgstr "畫板"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:650, src/app/main/ui/workspace/sidebar/layers.cljs:692
+#: src/app/main/ui/workspace/sidebar/layers.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:725
msgid "workspace.sidebar.layers.groups"
msgstr "群組"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:740
+#: src/app/main/ui/workspace/sidebar/layers.cljs:687, src/app/main/ui/workspace/sidebar/layers.cljs:773
msgid "workspace.sidebar.layers.images"
msgstr "圖片"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:651, src/app/main/ui/workspace/sidebar/layers.cljs:704
+#: src/app/main/ui/workspace/sidebar/layers.cljs:684, src/app/main/ui/workspace/sidebar/layers.cljs:737
msgid "workspace.sidebar.layers.masks"
msgstr "遮罩"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:617
+#: src/app/main/ui/workspace/sidebar/layers.cljs:650
msgid "workspace.sidebar.layers.no-matches"
msgstr "沒有符合的結果"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:636
+#: src/app/main/ui/workspace/sidebar/layers.cljs:669
msgid "workspace.sidebar.layers.replace"
msgstr "取代"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:642
+#: src/app/main/ui/workspace/sidebar/layers.cljs:675
msgid "workspace.sidebar.layers.replace-all"
msgstr "全部取代"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:603
+#: src/app/main/ui/workspace/sidebar/layers.cljs:636
msgid "workspace.sidebar.layers.replace-placeholder"
msgstr "取代為…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:581
+#: src/app/main/ui/workspace/sidebar/layers.cljs:613
msgid "workspace.sidebar.layers.search"
msgstr "尋找…"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:591
+#: src/app/main/ui/workspace/sidebar/layers.cljs:623
msgid "workspace.sidebar.layers.search-and-replace"
msgstr "尋找與取代"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:622
+#: src/app/main/ui/workspace/sidebar/layers.cljs:655
msgid "workspace.sidebar.layers.search-scope-canvas"
msgstr "文字內容"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:626
+#: src/app/main/ui/workspace/sidebar/layers.cljs:659
msgid "workspace.sidebar.layers.search-scope-layers"
msgstr "圖層名稱"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:655, src/app/main/ui/workspace/sidebar/layers.cljs:752
+#: src/app/main/ui/workspace/sidebar/layers.cljs:688, src/app/main/ui/workspace/sidebar/layers.cljs:785
msgid "workspace.sidebar.layers.shapes"
msgstr "形狀"
-#: src/app/main/ui/workspace/sidebar/layers.cljs:653, src/app/main/ui/workspace/sidebar/layers.cljs:728
+#: src/app/main/ui/workspace/sidebar/layers.cljs:686, src/app/main/ui/workspace/sidebar/layers.cljs:761
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:113
+#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:114
msgid "workspace.sidebar.options.svg-attrs.title"
msgstr "匯入的 SVG 屬性"
@@ -8168,7 +8112,7 @@ msgstr "頁面"
msgid "workspace.sidebar.sitemap.add-page"
msgstr "新增頁面"
-#: src/app/main/ui/workspace/left_header.cljs:94
+#: src/app/main/ui/workspace/left_header.cljs:100
msgid "workspace.sitemap"
msgstr "網站地圖"
@@ -8196,7 +8140,7 @@ msgstr "在此群組中新增集合"
msgid "workspace.tokens.add-token"
msgstr "新增 token:%s"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:156
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:163
msgid "workspace.tokens.applied-to"
msgstr "套用至"
@@ -8216,7 +8160,7 @@ msgstr "基準字級"
msgid "workspace.tokens.base-font-size.error"
msgstr "基準字級必須是以像素為單位或不含單位的數值。"
-#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132
+#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:369, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152
msgid "workspace.tokens.color"
msgstr "色彩"
@@ -8228,7 +8172,7 @@ msgstr "複製 token 路徑"
msgid "workspace.tokens.create-new-theme"
msgstr "立即建立您的第一個主題。"
-#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44
+#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:47
msgid "workspace.tokens.create-one"
msgstr "建立一個。"
@@ -8252,7 +8196,7 @@ msgstr "複製 token"
msgid "workspace.tokens.duplicate-group"
msgstr "複製 Tokens 群組"
-#: src/app/main/data/workspace/tokens/library_edit.cljs:395
+#: src/app/main/data/workspace/tokens/library_edit.cljs:425
msgid "workspace.tokens.duplicate-suffix"
msgstr "複本"
@@ -8276,7 +8220,7 @@ msgstr "編輯 %s token"
msgid "workspace.tokens.enter-token-name"
msgstr "輸入 %s token 名稱"
-#: src/app/main/data/workspace/tokens/application.cljs:767, src/app/main/ui/workspace/tokens/management/group.cljs:164
+#: src/app/main/data/workspace/tokens/application.cljs:764, src/app/main/ui/workspace/tokens/management/group.cljs:164
msgid "workspace.tokens.error-text-edition"
msgstr "編輯文字時無法套用 Tokens。請改為選取文字圖層。"
@@ -8304,7 +8248,7 @@ msgstr "預覽:"
msgid "workspace.tokens.export.single-file"
msgstr "單一檔案"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:152
msgid "workspace.tokens.font-size-value-enter"
msgstr "字型大小或 {alias}"
@@ -8312,7 +8256,7 @@ msgstr "字型大小或 {alias}"
msgid "workspace.tokens.font-variant-not-found"
msgstr "設定字重或樣式時發生錯誤。目前的字型不支援此樣式"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:160
msgid "workspace.tokens.font-weight-value-enter"
msgstr "字重(300、粗斜體…)或 {alias}"
@@ -8348,7 +8292,7 @@ msgstr "匯入多個檔案時,檔案名稱或路徑會作為集合名稱。"
msgid "workspace.tokens.import-single-file"
msgstr "匯入單一 JSON 檔案時,第一層的鍵應為 token 集合名稱。"
-#: src/app/main/ui/workspace/libraries.cljs:462, src/app/main/ui/workspace/libraries.cljs:878, src/app/main/ui/workspace/tokens/import/modal.cljs:236
+#: src/app/main/ui/workspace/libraries.cljs:515, src/app/main/ui/workspace/libraries.cljs:901, src/app/main/ui/workspace/tokens/import/modal.cljs:236
msgid "workspace.tokens.import-tokens"
msgstr "匯入 tokens"
@@ -8356,15 +8300,15 @@ msgstr "匯入 tokens"
msgid "workspace.tokens.import-warning"
msgstr "匯入 tokens 將覆寫目前所有的 tokens、集合與主題。"
-#: src/app/main/ui/workspace/tokens/management.cljs:81
+#: src/app/main/ui/workspace/tokens/management.cljs:88
msgid "workspace.tokens.inactive-set"
msgstr "未啟用"
-#: src/app/main/ui/workspace/tokens/management.cljs:73
+#: src/app/main/ui/workspace/tokens/management.cljs:80
msgid "workspace.tokens.inactive-set-description"
msgstr "此集合尚未啟用。請切換主題或啟用此集合,即可在檢視區域中查看變更"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:312, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:266
msgid "workspace.tokens.individual-tokens"
msgstr "使用個別 tokens"
@@ -8384,11 +8328,11 @@ msgstr "主題"
msgid "workspace.tokens.label.theme-placeholder"
msgstr "新增主題(例如:淺色)"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:176
msgid "workspace.tokens.letter-spacing-value-enter-composite"
msgstr "字距或 {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:168
msgid "workspace.tokens.line-height-value-enter"
msgstr "行高(倍數、px、%)或 {alias}"
@@ -8404,11 +8348,11 @@ msgstr "最大尺寸"
msgid "workspace.tokens.min-size"
msgstr "最小尺寸"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:351
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:349
msgid "workspace.tokens.missing-reference"
msgstr "缺少參照"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:137
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:160
msgid "workspace.tokens.more-options"
msgstr "按右鍵查看選項"
@@ -8424,7 +8368,7 @@ msgstr "目前沒有啟用的主題"
msgid "workspace.tokens.no-permisions-set"
msgstr "您必須具備編輯者權限,才能啟用或停用集合"
-#: src/app/main/ui/workspace/tokens/themes.cljs:54
+#: src/app/main/ui/workspace/tokens/themes.cljs:57
msgid "workspace.tokens.no-permission-themes"
msgstr "您必須具備編輯者權限,才能使用主題"
@@ -8436,7 +8380,7 @@ msgstr "尚未定義任何集合,請先建立一個。"
msgid "workspace.tokens.no-sets-yet"
msgstr "目前尚無集合。"
-#: src/app/main/ui/workspace/tokens/themes.cljs:40
+#: src/app/main/ui/workspace/tokens/themes.cljs:43
msgid "workspace.tokens.no-themes"
msgstr "沒有任何主題。"
@@ -8452,7 +8396,7 @@ msgstr "不要重新對應"
msgid "workspace.tokens.num-active-sets"
msgstr "%s 個已啟用的集合"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:157
msgid "workspace.tokens.original-value"
msgstr "原始值:%s"
@@ -8464,15 +8408,15 @@ msgstr "內距"
msgid "workspace.tokens.radius"
msgstr "半徑"
-#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:142
+#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:124, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:131, src/app/main/ui/workspace/tokens/management/token_pill.cljs:128
msgid "workspace.tokens.ref-not-valid"
msgstr "{%s} 中的參照無效,或不在任何已啟用的集合中。"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:215
msgid "workspace.tokens.reference-composite"
msgstr "輸入文字樣式 token 的別名"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:242
msgid "workspace.tokens.reference-composite-shadow"
msgstr "輸入陰影 token 的別名"
@@ -8508,7 +8452,7 @@ msgstr "重新命名 Tokens 群組"
msgid "workspace.tokens.rename-group-name-hint"
msgstr "你的 tokens 將自動重新命名為 %s.(suffix).(tokenName)"
-#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:135
+#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:127, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:293, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:486, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:295, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:186, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:321, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:265, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:387, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:511, src/app/main/ui/workspace/tokens/management/token_pill.cljs:158
msgid "workspace.tokens.resolved-value"
msgstr "解析後的值:%s"
@@ -8544,27 +8488,27 @@ msgstr "您可以在這裡設定基準字型大小,決定 1rem 的值:"
msgid "workspace.tokens.settings"
msgstr "Tokens 設定"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:303
msgid "workspace.tokens.shadow-add-shadow"
msgstr "新增陰影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:183, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:184, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:188
msgid "workspace.tokens.shadow-blur"
msgstr "模糊"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:136
msgid "workspace.tokens.shadow-inset"
msgstr "內陰影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:145
msgid "workspace.tokens.shadow-remove-shadow"
msgstr "移除陰影"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:196, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:197, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:201
msgid "workspace.tokens.shadow-spread"
msgstr "擴散"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287, ../common/src/app/common/files/tokens.cljc:112
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:355, ../common/src/app/common/files/tokens.cljc:112
msgid "workspace.tokens.shadow-token-blur-value-error"
msgstr "模糊值不可為負數"
@@ -8572,11 +8516,11 @@ msgstr "模糊值不可為負數"
msgid "workspace.tokens.shadow-token-spread-value-error"
msgstr "擴散值不可為負數"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:161, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163
msgid "workspace.tokens.shadow-x"
msgstr "X"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:172, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:174
msgid "workspace.tokens.shadow-y"
msgstr "Y"
@@ -8584,11 +8528,11 @@ msgstr "Y"
msgid "workspace.tokens.size"
msgstr "尺寸"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:184
msgid "workspace.tokens.text-case-value-enter"
msgstr "none | uppercase | lowercase | capitalize 或 {alias}"
-#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169
+#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:192
msgid "workspace.tokens.text-decoration-value-enter"
msgstr "none | underline | strike-through 或 {alias}"
@@ -8604,31 +8548,31 @@ msgstr "主題清單"
msgid "workspace.tokens.token-description"
msgstr "描述"
-#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258
+#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:130, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:255
msgid "workspace.tokens.token-font-family-select"
msgstr "選擇字型家族"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:144
msgid "workspace.tokens.token-font-family-value"
msgstr "字型家族"
-#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120
+#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:143
msgid "workspace.tokens.token-font-family-value-enter"
msgstr "字型系列,或以逗號 (,) 分隔的字型清單"
-#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:131
+#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:142, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:162, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64, src/app/main/ui/workspace/tokens/management/token_pill.cljs:155
msgid "workspace.tokens.token-name"
msgstr "名稱"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:341, ../common/src/app/common/files/tokens.cljc:156, ../common/src/app/common/files/tokens.cljc:169
msgid "workspace.tokens.token-name-duplication-validation-error"
msgstr "路徑 %s 或其任一前綴已存在 token。"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:338, ../common/src/app/common/files/tokens.cljc:153, ../common/src/app/common/files/tokens.cljc:166, ../common/src/app/common/files/tokens.cljc:289, ../common/src/app/common/files/tokens.cljc:317, ../common/src/app/common/files/tokens.cljc:330
msgid "workspace.tokens.token-name-length-validation-error"
msgstr "名稱至少須有 1 個字元"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:340, ../common/src/app/common/files/tokens.cljc:155, ../common/src/app/common/files/tokens.cljc:168
msgid "workspace.tokens.token-name-validation-error"
msgstr ""
" 不是有效的權杖(token)名稱。\n"
@@ -8638,11 +8582,11 @@ msgstr ""
msgid "workspace.tokens.token-value"
msgstr "值"
-#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131
+#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:151
msgid "workspace.tokens.token-value-enter"
msgstr "輸入值,或以 {alias} 格式輸入別名"
-#: src/app/main/ui/workspace/tokens/management.cljs:70
+#: src/app/main/ui/workspace/tokens/management.cljs:77
msgid "workspace.tokens.tokens-section-title"
msgstr "權杖(TOKENS) - %s"
@@ -8658,15 +8602,15 @@ msgstr "匯入成功,但部分 tokens 使用了不支援的 $type 值,因此
msgid "workspace.tokens.unknown-token-type-section"
msgstr "不支援類型 '%s'(%s):"
-#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200
+#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:316, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:270
msgid "workspace.tokens.use-reference"
msgstr "使用參照"
-#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:148
+#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:134
msgid "workspace.tokens.value-not-valid"
msgstr "此值無效"
-#: src/app/main/ui/workspace/top_toolbar.cljs:70
+#: src/app/main/ui/workspace/top_toolbar.cljs:68
msgid "workspace.toolbar.arrow"
msgstr "箭頭(%s)"
@@ -8674,75 +8618,71 @@ msgstr "箭頭(%s)"
msgid "workspace.toolbar.assets"
msgstr "資產"
-#: src/app/main/ui/workspace/palette.cljs:185, src/app/main/ui/workspace/palette.cljs:186
+#: src/app/main/ui/workspace/palette.cljs:194
msgid "workspace.toolbar.color-palette"
msgstr "調色盤(%s)"
-#: src/app/main/ui/workspace/right_header.cljs:218, src/app/main/ui/workspace/right_header.cljs:219
+#: src/app/main/ui/workspace/right_header.cljs:224
msgid "workspace.toolbar.comments"
msgstr "留言(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:74
+#: src/app/main/ui/workspace/top_toolbar.cljs:72
msgid "workspace.toolbar.curve"
msgstr "曲線(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:68
+#: src/app/main/ui/workspace/top_toolbar.cljs:66
msgid "workspace.toolbar.ellipse"
msgstr "橢圓(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:66
+#: src/app/main/ui/workspace/top_toolbar.cljs:64
msgid "workspace.toolbar.frame"
msgstr "畫板(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:73
+#: src/app/main/ui/workspace/top_toolbar.cljs:71
msgid "workspace.toolbar.image"
msgstr "圖片(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:69
+#: src/app/main/ui/workspace/top_toolbar.cljs:67
msgid "workspace.toolbar.line"
msgstr "直線(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:333
+#: src/app/main/ui/components/mcp_menu.cljs:120
msgid "workspace.toolbar.mcp"
msgstr "MCP"
-#: src/app/main/ui/workspace/top_toolbar.cljs:345
-msgid "workspace.toolbar.mcp-connect-here"
-msgstr "在此連線"
-
-#: src/app/main/ui/workspace/top_toolbar.cljs:342
+#: src/app/main/ui/components/mcp_menu.cljs:130
msgid "workspace.toolbar.mcp-connected"
msgstr "MCP 已連線"
-#: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425
+#: src/app/main/ui/workspace/top_toolbar.cljs:63, src/app/main/ui/workspace/top_toolbar.cljs:374
msgid "workspace.toolbar.move"
msgstr "移動(%s)"
-#: src/app/main/ui/workspace/palette.cljs:169
+#: src/app/main/ui/workspace/palette.cljs:175
msgid "workspace.toolbar.palette-bar"
msgstr "色票列"
-#: src/app/main/ui/workspace/top_toolbar.cljs:72
+#: src/app/main/ui/workspace/top_toolbar.cljs:70
msgid "workspace.toolbar.path"
msgstr "路徑(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:75
+#: src/app/main/ui/workspace/top_toolbar.cljs:73
msgid "workspace.toolbar.plugins"
msgstr "外掛(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:67
+#: src/app/main/ui/workspace/top_toolbar.cljs:65
msgid "workspace.toolbar.rect"
msgstr "矩形(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:71
+#: src/app/main/ui/workspace/top_toolbar.cljs:69
msgid "workspace.toolbar.text"
msgstr "文字(%s)"
-#: src/app/main/ui/workspace/palette.cljs:193, src/app/main/ui/workspace/palette.cljs:194
+#: src/app/main/ui/workspace/palette.cljs:202
msgid "workspace.toolbar.text-palette"
msgstr "文字樣式(%s)"
-#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486
+#: src/app/main/ui/workspace/top_toolbar.cljs:436, src/app/main/ui/workspace/top_toolbar.cljs:437
msgid "workspace.toolbar.toggle-toolbar"
msgstr "顯示或隱藏工具列"
@@ -8763,11 +8703,11 @@ msgstr "無法渲染。請重新整理以恢復編輯。"
msgid "workspace.top-bar.webgl-context-lost.reload"
msgstr "重新整理"
-#: src/app/main/ui/workspace/sidebar/history.cljs:384
+#: src/app/main/ui/workspace/sidebar/history.cljs:391
msgid "workspace.undo.empty"
msgstr "目前尚無變更記錄"
-#: src/app/main/ui/workspace/sidebar/history.cljs:364
+#: src/app/main/ui/workspace/sidebar/history.cljs:365
msgid "workspace.undo.entry.by"
msgstr "由 %s 操作"
@@ -8907,19 +8847,19 @@ msgstr "文字樣式資產"
msgid "workspace.undo.entry.unknown"
msgstr "對 %s 進行操作"
-#: src/app/main/data/workspace/libraries.cljs:1380, src/app/main/data/workspace/versions.cljs:241
+#: src/app/main/data/workspace/libraries.cljs:1442, src/app/main/data/workspace/versions.cljs:241
msgid "workspace.updates.dismiss"
msgstr "關閉"
-#: src/app/main/data/workspace/libraries.cljs:1378
+#: src/app/main/data/workspace/libraries.cljs:1440
msgid "workspace.updates.more-info"
msgstr "更多資訊"
-#: src/app/main/data/workspace/libraries.cljs:1376
+#: src/app/main/data/workspace/libraries.cljs:1438
msgid "workspace.updates.there-are-updates"
msgstr "共享資料庫有更新"
-#: src/app/main/data/workspace/libraries.cljs:1382
+#: src/app/main/data/workspace/libraries.cljs:1444
msgid "workspace.updates.update"
msgstr "更新"
diff --git a/library/CHANGES.md b/library/CHANGES.md
index b1f7acdc70..61112d6081 100644
--- a/library/CHANGES.md
+++ b/library/CHANGES.md
@@ -1,5 +1,10 @@
# CHANGELOG
+## 1.3.0
+
+- Update deps and build it with penpot 2.19.0
+
+
## 1.2.0
- Update deps and build it with penpot 2.18.3
diff --git a/library/package.json b/library/package.json
index 6b1911e2bd..21ac2c9c1f 100644
--- a/library/package.json
+++ b/library/package.json
@@ -1,9 +1,9 @@
{
"name": "@penpot/library",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "MPL-2.0",
"author": "KALEIDOS SUBSIDIARY SL",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"type": "module",
"repository": {
"type": "git",
diff --git a/library/pnpm-lock.yaml b/library/pnpm-lock.yaml
index 6a7c1982b3..10cbdf36b8 100644
--- a/library/pnpm-lock.yaml
+++ b/library/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/manage.sh b/manage.sh
index 950c184001..2696b9eefe 100755
--- a/manage.sh
+++ b/manage.sh
@@ -40,7 +40,18 @@ export PENPOT_SOURCE_PATH="${PENPOT_SOURCE_PATH:-$PWD}"
# Base directory under which non-main workspace clones live (one subdir per
# wsN, N>=1). Documented in defaults.env; default lives here so $HOME expands.
-export PENPOT_WORKSPACES_DIR="${PENPOT_WORKSPACES_DIR:-$HOME/.penpot/penpot_workspaces}"
+# The default follows the XDG base directory spec, in the data directory
+# because a clone can hold commits that exist nowhere else. A directory that
+# already exists at the former default, ~/.penpot/penpot_workspaces, keeps
+# being used, so existing clones are neither orphaned nor seeded again.
+if [[ -z "${PENPOT_WORKSPACES_DIR:-}" ]]; then
+ if [[ -d "$HOME/.penpot/penpot_workspaces" ]]; then
+ PENPOT_WORKSPACES_DIR="$HOME/.penpot/penpot_workspaces"
+ else
+ PENPOT_WORKSPACES_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/penpot-devenv/workspaces"
+ fi
+fi
+export PENPOT_WORKSPACES_DIR
# Port allocation for parallel instances. Each wsN reserves a stride-wide port
# block starting at N*stride; ws0 sits at offset 0, so a per-service base port
diff --git a/mcp/README.md b/mcp/README.md
index 4c206d9e35..2f1636d24a 100644
--- a/mcp/README.md
+++ b/mcp/README.md
@@ -298,6 +298,7 @@ The Penpot MCP server can be configured using environment variables.
| `PENPOT_MCP_REMOTE_MODE` | Enable remote mode (disables file system access). Set to `true` to enable. | `false` |
| `PENPOT_MCP_DEVENV` | Enable Penpot development environment tools in local single-user mode. Set to `true` to enable. | `false` |
| `PENPOT_MCP_TOOL_TIMEOUT_S` | Timeout, in seconds, for tool calls dispatched to the Penpot plugin | `120` |
+| `PENPOT_MCP_MAX_BODY_SIZE` | Maximum size of a JSON request body accepted by the MCP endpoint, in any format supported by Express (e.g. `10mb`) | `10mb` |
| `PENPOT_MCP_EXPORT_SHAPE_MAX_PARALLEL_REQUESTS` | Maximum number of parallel export shape requests (multi-user mode only). | `0` (no limit) |
| `PENPOT_MCP_AUTH_URI` | Public base URL of the MCP authorization service, e.g. `https://penpot.example/api/mcp/oauth`. Set to enable OAuth; requires `--multi-user`. Use HTTPS (HTTP is allowed on loopback for development), without credentials, query parameters, or a fragment. | (unset; OAuth disabled) |
| `PENPOT_MCP_REDIS_URI` | Redis connection URI (e.g. `redis://host:6379`) enabling multi-instance horizontal scaling via Redis pub/sub task routing (multi-user mode only). When unset, the server runs in single-instance mode, requiring the plugin and MCP client to connect to the same instance. | (unset) |
@@ -360,9 +361,10 @@ Some of the aforementioned configuration options control these modes.
* Auto-formatting: Use `pnpm run fmt`
* Generating API type data: See [types-generator/README.md](types-generator/README.md)
* Versioning: Use `bash scripts/set-version` to set the version for the MCP package (in `package.json`).
- - Ensure that at least the major, minor and patch components of the version are always up-to-date.
- - The MCP plugin assumes that a mismatch between the MCP version and the Penpot version (as returned by the API)
- indicates incompatibility, resulting in the display of a warning message in the plugin UI.
+ - Ensure that at least the major and minor components of the version are always up-to-date.
+ - The MCP plugin assumes that a mismatch between the major.minor components of the MCP version and the Penpot
+ version (as returned by the API) indicates incompatibility, resulting in the display of a warning message in
+ the plugin UI. Patch releases are treated as compatible.
* Packaging and publishing:
1. Ensure that the API type data is up-to-date (see above).
2. Ensure release version is set correctly in package.json (call `bash scripts/set-version` to update it automatically)
diff --git a/mcp/package.json b/mcp/package.json
index 97012b38b0..977047cf57 100644
--- a/mcp/package.json
+++ b/mcp/package.json
@@ -1,6 +1,6 @@
{
"name": "@penpot/mcp",
- "version": "2.17.0",
+ "version": "2.19.1",
"description": "MCP server for Penpot integration",
"license": "MPL-2.0",
"bin": {
@@ -23,7 +23,7 @@
"type": "git",
"url": "https://github.com/penpot/penpot.git"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"devDependencies": {
"concurrently": "^10.0.6",
"prettier": "^3.9.10"
diff --git a/mcp/packages/browser-extension/package.json b/mcp/packages/browser-extension/package.json
index 0f1c0fe8ae..43a5c4d8fd 100644
--- a/mcp/packages/browser-extension/package.json
+++ b/mcp/packages/browser-extension/package.json
@@ -4,7 +4,7 @@
"version": "0.1.0",
"description": "Browser extension that keeps Penpot tabs connected to MCP from being discarded",
"type": "module",
- "packageManager": "pnpm@12.15.0+sha512.b3951d6d6ff4a9f13dc7cf56cd28d2b8eb37dbcc9c68e52e1e1191873ea9f82a017287ab50baadc5ccc494f036c67c0e47eb13608c2fa36f47711b61ea128e61",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"scripts": {
"build": "tsc && node ./scripts/build.mjs",
"test": "tsx --test \"src/**/*.test.ts\"",
diff --git a/mcp/packages/common/package.json b/mcp/packages/common/package.json
index 6ddd0bd605..267a37fef2 100644
--- a/mcp/packages/common/package.json
+++ b/mcp/packages/common/package.json
@@ -4,7 +4,7 @@
"description": "Shared type definitions and interfaces for Penpot MCP",
"main": "dist/index.js",
"types": "dist/index.d.ts",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"scripts": {
"build": "tsc --build --clean && tsc --build",
"watch": "tsc --watch",
diff --git a/mcp/packages/common/src/types.ts b/mcp/packages/common/src/types.ts
index 5168594f54..278e272951 100644
--- a/mcp/packages/common/src/types.ts
+++ b/mcp/packages/common/src/types.ts
@@ -22,6 +22,47 @@ export interface PluginTaskResult {
* Optional result data from the task execution.
*/
data?: T;
+
+ /**
+ * Rollbacks of rejected changes that happened in the workspace since the previous task response.
+ */
+ rollbacks?: ContentRollbackEvent[];
+}
+
+/**
+ * Message from the MCP server giving the plugin back the rollbacks of a task response that came
+ * after its task timed out, so that the plugin reports them with its next response.
+ */
+export interface UnclaimedRollbacksMessage {
+ type: "unclaimed-rollbacks";
+
+ /**
+ * The rollbacks the late response carried, oldest first.
+ */
+ rollbacks: ContentRollbackEvent[];
+}
+
+/**
+ * Rollback of rejected changes in the Penpot workspace.
+ *
+ * The backend rejected some changes and the workspace undid them, together with the rest of their
+ * undo steps and any later change to the same file. Mirrors the plugin API's `ContentRollback`.
+ */
+export interface ContentRollbackEvent {
+ /**
+ * Ids of the files that lost changes.
+ */
+ fileIds: string[];
+
+ /**
+ * Ids of the pages the undone changes touched.
+ */
+ pageIds: string[];
+
+ /**
+ * Ids of the page shapes the undone changes touched.
+ */
+ shapeIds: string[];
}
/**
@@ -71,6 +112,11 @@ export interface PluginTaskResponse {
* The result of the task execution.
*/
data?: T;
+
+ /**
+ * Rollbacks of rejected changes that happened in the workspace since the previous task response.
+ */
+ rollbacks?: ContentRollbackEvent[];
}
/**
diff --git a/mcp/packages/plugin/package.json b/mcp/packages/plugin/package.json
index ce0a394d1c..7d33e479fe 100644
--- a/mcp/packages/plugin/package.json
+++ b/mcp/packages/plugin/package.json
@@ -3,7 +3,7 @@
"private": true,
"version": "1.0.0",
"type": "module",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"scripts": {
"start": "vite build --watch --config vite.config.ts",
"start:multi-user": "pnpm run start",
@@ -13,7 +13,7 @@
"clean": "rm -rf dist/"
},
"dependencies": {
- "@penpot/plugin-styles": "1.5.0",
+ "@penpot/plugin-styles": "1.6.0",
"@penpot/plugin-types": "link:../../../plugins/libs/plugin-types"
},
"devDependencies": {
diff --git a/mcp/packages/plugin/public/manifest.json b/mcp/packages/plugin/public/manifest.json
index c67296f1db..3512312eca 100644
--- a/mcp/packages/plugin/public/manifest.json
+++ b/mcp/packages/plugin/public/manifest.json
@@ -5,5 +5,5 @@
"version": 2,
"scope": "global",
"description": "This plugin enables interaction with the Penpot MCP server",
- "permissions": ["user:read", "content:read", "content:write", "library:read", "library:write", "comment:read", "comment:write"]
+ "permissions": ["user:read", "content:read", "content:write", "library:read", "library:write", "comment:read", "comment:write", "allow:localstorage"]
}
diff --git a/mcp/packages/plugin/src/ConnectionMetadata.test.ts b/mcp/packages/plugin/src/ConnectionMetadata.test.ts
index 1ae436afd6..ea87d92ca6 100644
--- a/mcp/packages/plugin/src/ConnectionMetadata.test.ts
+++ b/mcp/packages/plugin/src/ConnectionMetadata.test.ts
@@ -4,9 +4,11 @@ import { readFileSync } from "node:fs";
import test from "node:test";
import { runInNewContext } from "node:vm";
import ts from "typescript";
+import * as ErrorUtils from "./ErrorUtils.ts";
import { shouldReconnectAfterClose } from "./ReconnectPolicy.ts";
import { SessionId } from "./SessionId.ts";
import { SessionIdDisplay } from "./SessionIdDisplay.ts";
+import * as VersionCompatibility from "./VersionCompatibility.ts";
/** Compiles the actual plugin entry point for a simulated browser boundary. */
function compile(name: string) {
@@ -15,6 +17,29 @@ function compile(name: string) {
}).outputText;
}
+/** Exports of a compiled module that Node's type stripping cannot load directly. */
+function compiledModule(name: string) {
+ const exports = {};
+ runInNewContext(compile(name), { exports });
+ return exports;
+}
+
+/** Resolves the imports of `plugin.ts`, stubbing the code execution handler and the rollback log. */
+function pluginRequire(name: string) {
+ if (name === "./task-handlers/ExecuteCodeTaskHandler") return { ExecuteCodeTaskHandler: class {} };
+ if (name === "./TaskHandler") return compiledModule("TaskHandler.ts");
+ if (name === "./ErrorUtils") return ErrorUtils;
+ if (name === "./VersionCompatibility") return VersionCompatibility;
+ if (name === "./RollbackLog")
+ return {
+ LocalStorageRollbackStore: class {},
+ RollbackLog: class {
+ listen() {}
+ },
+ };
+ throw new Error(`Unexpected import: ${name}`);
+}
+
function pluginUi() {
const messages: any[] = [];
const sockets: FakeSocket[] = [];
@@ -184,7 +209,7 @@ test("plugin reads the current file for each connection metadata request", () =>
on() {},
},
mcp: undefined,
- require: () => ({ ExecuteCodeTaskHandler: class {} }),
+ require: pluginRequire,
});
onMessage({ type: "connection-metadata-request", sessionId: "first" });
penpot.currentFile = { id: "file-2", name: "Second design" };
@@ -223,7 +248,7 @@ test("plugin without penpotMgmt derives metadata from the open file", () => {
exports: {},
penpot,
mcp: undefined,
- require: () => ({ ExecuteCodeTaskHandler: class {} }),
+ require: pluginRequire,
});
onMessage({ type: "connection-metadata-request", sessionId: "first" });
penpot.currentFile = null;
@@ -313,7 +338,7 @@ test("integrated plugin stays idle until explicitly connected, including while t
setMcpStatus: (status: string) => statuses.push(status),
on: (event: string, callback: () => void) => events.set(event, callback),
},
- require: () => ({ ExecuteCodeTaskHandler: class {} }),
+ require: pluginRequire,
});
assert.ok(!statuses.includes("connecting"));
events.get("connect")!();
diff --git a/mcp/packages/plugin/src/RollbackLog.test.ts b/mcp/packages/plugin/src/RollbackLog.test.ts
new file mode 100644
index 0000000000..da42e8c548
--- /dev/null
+++ b/mcp/packages/plugin/src/RollbackLog.test.ts
@@ -0,0 +1,169 @@
+import assert from "node:assert/strict";
+import test from "node:test";
+import { LocalStorageRollbackStore, RollbackLog, type RollbackStore } from "./RollbackLog.ts";
+
+const rollback = (id: string) => ({ fileIds: [`file-${id}`], pageIds: [`page-${id}`], shapeIds: [`shape-${id}`] });
+
+/**
+ * Installs a `penpot` global whose `on` hands each subscription to `on`.
+ */
+function installPenpot(on: (type: string, callback: any) => void): void {
+ (globalThis as any).penpot = { on };
+}
+
+test("records the rollbacks Penpot reports", () => {
+ let callback: any;
+ installPenpot((type, cb) => {
+ assert.equal(type, "contentrollback");
+ callback = cb;
+ });
+ const log = new RollbackLog();
+ log.listen();
+
+ callback(rollback("a"));
+
+ assert.deepEqual(log.pending(), [rollback("a")]);
+});
+
+test("stays empty when Penpot has no rollback event", () => {
+ installPenpot(() => {
+ throw new Error("Invalid enum value");
+ });
+ const log = new RollbackLog();
+
+ assert.doesNotThrow(() => log.listen());
+ assert.deepEqual(log.pending(), []);
+});
+
+test("keeps the rollbacks recorded after the acknowledged ones", () => {
+ const log = new RollbackLog();
+ log.record(rollback("a"));
+ const sent = log.pending();
+ log.record(rollback("b"));
+
+ log.acknowledge(sent.length);
+
+ assert.deepEqual(log.pending(), [rollback("b")]);
+});
+
+test("puts returned rollbacks back ahead of the ones recorded since", () => {
+ const log = new RollbackLog();
+ log.record(rollback("a"));
+ const sent = log.pending();
+ log.acknowledge(sent.length);
+ log.record(rollback("b"));
+
+ log.restore(sent);
+
+ assert.deepEqual(log.pending(), [rollback("a"), rollback("b")]);
+});
+
+/**
+ * Rollback store that keeps its events in memory, standing in for the storage that outlives a reload.
+ */
+class MemoryRollbackStore implements RollbackStore {
+ events: unknown = [];
+
+ load() {
+ return this.events as any;
+ }
+
+ save(events: any) {
+ this.events = JSON.parse(JSON.stringify(events));
+ }
+}
+
+/**
+ * Plugin local storage held in a map.
+ */
+function memoryStorage(): {
+ items: Map;
+ getItem(key: string): string;
+ setItem(key: string, value: unknown): void;
+ removeItem(key: string): void;
+} {
+ const items = new Map();
+ return {
+ items,
+ getItem: (key) => items.get(key) ?? (null as any),
+ setItem: (key, value) => void items.set(key, String(value)),
+ removeItem: (key) => void items.delete(key),
+ };
+}
+
+test("keeps unsent rollbacks across a reload", () => {
+ const store = new MemoryRollbackStore();
+ new RollbackLog(store).record(rollback("a"));
+
+ const reloaded = new RollbackLog(store);
+
+ assert.deepEqual(reloaded.pending(), [rollback("a")]);
+});
+
+test("forgets the stored rollbacks once a response carried them", () => {
+ const store = new MemoryRollbackStore();
+ const log = new RollbackLog(store);
+ log.record(rollback("a"));
+ log.record(rollback("b"));
+
+ log.acknowledge(1);
+
+ assert.deepEqual(new RollbackLog(store).pending(), [rollback("b")]);
+ log.acknowledge(1);
+ assert.deepEqual(new RollbackLog(store).pending(), []);
+});
+
+test("stores the rollbacks the server returns", () => {
+ const store = new MemoryRollbackStore();
+ new RollbackLog(store).restore([rollback("a")]);
+
+ assert.deepEqual(new RollbackLog(store).pending(), [rollback("a")]);
+});
+
+test("keeps rollbacks in memory when the storage fails", () => {
+ const failing: RollbackStore = {
+ load: () => {
+ throw new Error("storage unavailable");
+ },
+ save: () => {
+ throw new Error("storage unavailable");
+ },
+ };
+ const log = new RollbackLog(failing);
+
+ assert.doesNotThrow(() => log.record(rollback("a")));
+ assert.deepEqual(log.pending(), [rollback("a")]);
+});
+
+test("stores rollbacks per file in the plugin local storage", () => {
+ const storage = memoryStorage();
+ const fileA = new LocalStorageRollbackStore(storage, "file-a");
+ const fileB = new LocalStorageRollbackStore(storage, "file-b");
+
+ fileA.save([rollback("a")]);
+
+ assert.deepEqual(new LocalStorageRollbackStore(storage, "file-a").load(), [rollback("a")]);
+ assert.deepEqual(fileB.load(), []);
+});
+
+test("removes the entry of a file with no rollbacks left", () => {
+ const storage = memoryStorage();
+ const store = new LocalStorageRollbackStore(storage, "file-a");
+ store.save([rollback("a")]);
+
+ store.save([]);
+
+ assert.equal(storage.items.size, 0);
+});
+
+test("ignores a stored entry that is not a rollback list", () => {
+ const storage = memoryStorage();
+ const store = new LocalStorageRollbackStore(storage, "file-a");
+
+ for (const raw of ["not json", '{"fileIds": []}', '[{"fileIds": "x"}]']) {
+ storage.items.clear();
+ store.save([rollback("a")]);
+ storage.items.set([...storage.items.keys()][0], raw);
+ assert.deepEqual(store.load(), [], raw);
+ }
+});
diff --git a/mcp/packages/plugin/src/RollbackLog.ts b/mcp/packages/plugin/src/RollbackLog.ts
new file mode 100644
index 0000000000..c4f49d3101
--- /dev/null
+++ b/mcp/packages/plugin/src/RollbackLog.ts
@@ -0,0 +1,191 @@
+import type { LocalStorage } from "@penpot/plugin-types";
+import type { ContentRollbackEvent } from "../../common/src";
+
+/**
+ * Storage of the rollbacks a {@link RollbackLog} has not handed over yet, which outlives a reload
+ * of the plugin or of the browser tab.
+ */
+export interface RollbackStore {
+ /**
+ * Returns the stored rollbacks, oldest first.
+ */
+ load(): ContentRollbackEvent[];
+
+ /**
+ * Replaces the stored rollbacks.
+ *
+ * @param events - the rollbacks not handed over yet, oldest first
+ */
+ save(events: ContentRollbackEvent[]): void;
+}
+
+/**
+ * Rollback store in Penpot's plugin local storage, with one entry per file.
+ *
+ * The plugin runs for one open file, and a reload opens the same file again, so the entry of that
+ * file holds what the reload would otherwise lose. The storage is the browser's, so it is kept
+ * across reloads but not shared with other browsers.
+ */
+export class LocalStorageRollbackStore implements RollbackStore {
+ private static readonly KEY_PREFIX = "rollbacks/";
+
+ private readonly storage: Pick;
+ private readonly fileId: string;
+
+ /**
+ * @param storage - the plugin local storage (`penpot.localStorage`)
+ * @param fileId - the id of the file the plugin runs for
+ */
+ constructor(storage: Pick, fileId: string) {
+ this.storage = storage;
+ this.fileId = fileId;
+ }
+
+ private get key(): string {
+ return LocalStorageRollbackStore.KEY_PREFIX + this.fileId;
+ }
+
+ load(): ContentRollbackEvent[] {
+ const raw = this.storage.getItem(this.key);
+ if (!raw) {
+ return [];
+ }
+ try {
+ const events = JSON.parse(raw);
+ return Array.isArray(events) && events.every(isRollbackEvent) ? events : [];
+ } catch {
+ return [];
+ }
+ }
+
+ save(events: ContentRollbackEvent[]): void {
+ if (events.length === 0) {
+ this.storage.removeItem(this.key);
+ } else {
+ this.storage.setItem(this.key, JSON.stringify(events));
+ }
+ }
+}
+
+/**
+ * Tells whether the given value has the shape of a rollback event.
+ *
+ * @param value - a value read from storage
+ */
+function isRollbackEvent(value: any): value is ContentRollbackEvent {
+ const isIdList = (ids: unknown) => Array.isArray(ids) && ids.every((id) => typeof id === "string");
+ return (
+ typeof value === "object" &&
+ value !== null &&
+ isIdList(value.fileIds) &&
+ isIdList(value.pageIds) &&
+ isIdList(value.shapeIds)
+ );
+}
+
+/**
+ * Log of the rollbacks of rejected changes that the MCP server has not been told about yet.
+ *
+ * A rollback happens after the task that made the rejected changes has returned (the backend
+ * rejects a save seconds later), so the log hands its events to the next task response. With a
+ * store, the log also keeps its events across a reload, until a response carries them.
+ */
+export class RollbackLog {
+ private readonly store?: RollbackStore;
+ private events: ContentRollbackEvent[];
+
+ /**
+ * @param store - the storage that keeps the events across reloads; without one, or when it
+ * fails, the events live in memory only
+ */
+ constructor(store?: RollbackStore) {
+ this.store = store;
+ this.events = this.load();
+ }
+
+ /**
+ * Starts recording the rollbacks Penpot reports.
+ *
+ * Penpot versions without the `contentrollback` event reject the subscription; the log then
+ * stays empty.
+ */
+ listen(): void {
+ try {
+ // @ts-ignore - contentrollback is not yet in the released plugin types
+ penpot.on("contentrollback", (event: ContentRollbackEvent) => this.record(event));
+ } catch (error) {
+ console.warn("Penpot does not report rollbacks:", error);
+ }
+ }
+
+ /**
+ * Adds a rollback to the log.
+ *
+ * @param event - the rollback as reported by Penpot
+ */
+ record(event: ContentRollbackEvent): void {
+ this.events.push(copyEvent(event));
+ this.save();
+ }
+
+ /**
+ * Puts back rollbacks that a sent response carried but no tool execution received (the
+ * server had given up on that task), ahead of the ones recorded since.
+ *
+ * @param events - the returned rollbacks, oldest first
+ */
+ restore(events: ContentRollbackEvent[]): void {
+ this.events = [...events.map(copyEvent), ...this.events];
+ this.save();
+ }
+
+ /**
+ * Returns the rollbacks not yet acknowledged, oldest first.
+ */
+ pending(): ContentRollbackEvent[] {
+ return [...this.events];
+ }
+
+ /**
+ * Removes the oldest `count` rollbacks, once a response carrying them has been sent.
+ *
+ * @param count - the number of rollbacks the sent response carried
+ */
+ acknowledge(count: number): void {
+ if (count === 0) {
+ return;
+ }
+ this.events = this.events.slice(count);
+ this.save();
+ }
+
+ private load(): ContentRollbackEvent[] {
+ try {
+ return this.store?.load() ?? [];
+ } catch (error) {
+ console.warn("Unable to read the stored rollbacks:", error);
+ return [];
+ }
+ }
+
+ private save(): void {
+ try {
+ this.store?.save(this.events);
+ } catch (error) {
+ console.warn("Unable to store the rollbacks:", error);
+ }
+ }
+}
+
+/**
+ * Copies a rollback event into a plain object.
+ *
+ * @param event - the rollback, possibly a proxy or array-like from Penpot
+ */
+function copyEvent(event: ContentRollbackEvent): ContentRollbackEvent {
+ return {
+ fileIds: [...event.fileIds],
+ pageIds: [...event.pageIds],
+ shapeIds: [...event.shapeIds],
+ };
+}
diff --git a/mcp/packages/plugin/src/TaskHandler.ts b/mcp/packages/plugin/src/TaskHandler.ts
index 7bc0aa3085..c5e6130e76 100644
--- a/mcp/packages/plugin/src/TaskHandler.ts
+++ b/mcp/packages/plugin/src/TaskHandler.ts
@@ -1,3 +1,5 @@
+import type { RollbackLog } from "./RollbackLog";
+
/**
* Represents a task received from the MCP server in the Penpot MCP plugin
*/
@@ -8,11 +10,13 @@ export class Task {
* @param requestId Unique identifier for the task request
* @param taskType The type of the task to execute
* @param params Task parameters/arguments
+ * @param rollbackLog Log whose pending rollbacks the response carries, if any
*/
constructor(
public requestId: string,
public taskType: string,
- public params: TParams
+ public params: TParams,
+ private readonly rollbackLog?: RollbackLog
) {}
/**
@@ -24,6 +28,9 @@ export class Task {
return;
}
+ // rollbacks the server has not been told about, whatever the task did
+ const rollbacks = this.rollbackLog?.pending() ?? [];
+
// create response object
const response = {
type: "task-response",
@@ -33,6 +40,7 @@ export class Task {
success: success,
data: data,
error: error,
+ ...(rollbacks.length > 0 ? { rollbacks } : {}),
},
};
@@ -60,6 +68,7 @@ export class Task {
}
console.log("Sent task response:", response);
this.isResponseSent = true;
+ this.rollbackLog?.acknowledge(rollbacks.length);
}
public sendSuccess(data: any = undefined): void {
diff --git a/mcp/packages/plugin/src/VersionCompatibility.test.ts b/mcp/packages/plugin/src/VersionCompatibility.test.ts
new file mode 100644
index 0000000000..2e40bb7cf0
--- /dev/null
+++ b/mcp/packages/plugin/src/VersionCompatibility.test.ts
@@ -0,0 +1,28 @@
+import assert from "node:assert/strict";
+import test from "node:test";
+import { extractMinorVersion, isCompatibleVersion } from "./VersionCompatibility.ts";
+
+test("extracts major.minor from release and pre-release versions", () => {
+ assert.equal(extractMinorVersion("2.18.1"), "2.18");
+ assert.equal(extractMinorVersion("2.17.0"), "2.17");
+ assert.equal(extractMinorVersion("2.15.0-rc.1.116"), "2.15");
+ assert.equal(extractMinorVersion("2.18.1-dev.140"), "2.18");
+ assert.equal(extractMinorVersion("2.18"), "2.18");
+});
+
+test("returns non-matching versions unchanged", () => {
+ assert.equal(extractMinorVersion("<2.15"), "<2.15");
+ assert.equal(extractMinorVersion("develop"), "develop");
+});
+
+test("treats patch releases of the same minor version as compatible", () => {
+ assert.equal(isCompatibleVersion(extractMinorVersion("2.17.2"), extractMinorVersion("2.17.0")), true);
+});
+
+test("reports a different minor version as incompatible", () => {
+ assert.equal(isCompatibleVersion(extractMinorVersion("2.18.1"), extractMinorVersion("2.17.0")), false);
+});
+
+test("treats local development builds of Penpot as compatible", () => {
+ assert.equal(isCompatibleVersion(extractMinorVersion("0.0.0"), extractMinorVersion("2.17.0")), true);
+});
diff --git a/mcp/packages/plugin/src/VersionCompatibility.ts b/mcp/packages/plugin/src/VersionCompatibility.ts
new file mode 100644
index 0000000000..f529491ea3
--- /dev/null
+++ b/mcp/packages/plugin/src/VersionCompatibility.ts
@@ -0,0 +1,27 @@
+/**
+ * Extracts the major.minor prefix from a version string.
+ *
+ * Patch releases of Penpot do not change the plugin API the MCP server is
+ * written against, and the MCP package version is only set per minor
+ * release, so the patch component is not part of the compatibility check.
+ *
+ * @param version - a version string starting with major.minor (e.g. "2.18.1")
+ * @returns the major.minor prefix, or the original string if it does not match
+ */
+export function extractMinorVersion(version: string): string {
+ const match = version.match(/^(\d+\.\d+)(?:\.|$)/);
+ return match ? match[1] : version;
+}
+
+/**
+ * Returns whether an MCP build is intended for the running Penpot version.
+ *
+ * Local development builds of Penpot report "0.0.0" and are always treated
+ * as compatible.
+ *
+ * @param penpotVersion - the running Penpot version, as major.minor prefix
+ * @param mcpVersion - the version the MCP build targets, as major.minor prefix
+ */
+export function isCompatibleVersion(penpotVersion: string, mcpVersion: string): boolean {
+ return penpotVersion === "0.0" || penpotVersion === mcpVersion;
+}
diff --git a/mcp/packages/plugin/src/main.ts b/mcp/packages/plugin/src/main.ts
index 8ae1163ad6..4f5e78b755 100644
--- a/mcp/packages/plugin/src/main.ts
+++ b/mcp/packages/plugin/src/main.ts
@@ -131,6 +131,7 @@ function sendTaskResponse(response: any): void {
id: response.id,
success: false,
error: errorMessage,
+ rollbacks: response.rollbacks,
};
responseString = JSON.stringify(response);
}
diff --git a/mcp/packages/plugin/src/plugin.ts b/mcp/packages/plugin/src/plugin.ts
index 025354df74..f659baa208 100644
--- a/mcp/packages/plugin/src/plugin.ts
+++ b/mcp/packages/plugin/src/plugin.ts
@@ -1,8 +1,10 @@
import { ExecuteCodeTaskHandler } from "./task-handlers/ExecuteCodeTaskHandler";
import { Task, TaskHandler } from "./TaskHandler";
import { formatTaskError } from "./ErrorUtils";
-import type { PluginConnectionInit } from "../../common/src";
+import { extractMinorVersion, isCompatibleVersion } from "./VersionCompatibility";
+import type { ContentRollbackEvent, PluginConnectionInit } from "../../common/src";
import type { WorkspaceContext } from "@penpot/plugin-types";
+import { LocalStorageRollbackStore, RollbackLog, type RollbackStore } from "./RollbackLog";
/**
* indicates whether the plugin is running in an environment with the Penpot-integrated remote MCP server
@@ -16,17 +18,6 @@ const isIntegratedRemoteMcp = !!mcp;
*/
const management = typeof penpotMgmt === "undefined" ? null : penpotMgmt;
-/**
- * Extracts the major.minor.patch prefix from a version string.
- *
- * @param version - a version string starting with major.minor.patch
- * @returns the major.minor.patch prefix, or the original string if it does not match
- */
-function extractVersionPrefix(version: string): string {
- const match = version.match(/^(\d+\.\d+\.\d+)/);
- return match ? match[1] : version;
-}
-
let uiInitialized = false;
/**
@@ -34,6 +25,29 @@ let uiInitialized = false;
*/
const taskHandlers: TaskHandler[] = [new ExecuteCodeTaskHandler()];
+/**
+ * Rollbacks of rejected changes, reported to the MCP server with the next task response.
+ * The ones not reported yet are kept in the plugin local storage of the open file, so a reload
+ * of the tab or of the plugin does not lose them.
+ */
+const rollbackLog = new RollbackLog(createRollbackStore());
+rollbackLog.listen();
+
+/**
+ * Creates the store of the rollbacks not reported yet, for the open file.
+ *
+ * @returns the store, or undefined when no file is open or the local storage is unavailable
+ */
+function createRollbackStore(): RollbackStore | undefined {
+ try {
+ const fileId = penpot.currentFile?.id;
+ return fileId ? new LocalStorageRollbackStore(penpot.localStorage, fileId) : undefined;
+ } catch (error) {
+ console.warn("Rollbacks are kept in memory only:", error);
+ return undefined;
+ }
+}
+
// Open the plugin UI (main.ts)
penpot.ui.open("Penpot MCP Plugin", `?theme=${penpot.theme}`, {
width: 236,
@@ -43,7 +57,16 @@ penpot.ui.open("Penpot MCP Plugin", `?theme=${penpot.theme}`, {
// Register message handlers
penpot.ui.onMessage<
- string | { id: string; type?: string; status?: string; sessionId?: string; task: string; params: any }
+ | string
+ | {
+ id: string;
+ type?: string;
+ status?: string;
+ sessionId?: string;
+ task: string;
+ params: any;
+ rollbacks?: ContentRollbackEvent[];
+ }
>((message) => {
if (typeof message === "object" && message.type === "ui-initialized") {
uiInitialized = true;
@@ -53,11 +76,10 @@ penpot.ui.onMessage<
integratedRemoteMcp: isIntegratedRemoteMcp,
});
// Check Penpot version compatibility
- const penpotVersionPrefix = penpot.version ? extractVersionPrefix(penpot.version) : "<2.15"; // pre-2.15 versions don't have version info
- const mcpVersionPrefix = extractVersionPrefix(PENPOT_MCP_VERSION);
+ const penpotVersionPrefix = penpot.version ? extractMinorVersion(penpot.version) : "<2.15"; // pre-2.15 versions don't have version info
+ const mcpVersionPrefix = extractMinorVersion(PENPOT_MCP_VERSION);
console.log(`Penpot version: ${penpotVersionPrefix}, MCP version: ${mcpVersionPrefix}`);
- const isLocalPenpotVersion = penpotVersionPrefix == "0.0.0";
- if (penpotVersionPrefix !== mcpVersionPrefix && !isLocalPenpotVersion) {
+ if (!isCompatibleVersion(penpotVersionPrefix, mcpVersionPrefix)) {
penpot.ui.sendMessage({
type: "version-mismatch",
mcpVersion: mcpVersionPrefix,
@@ -89,6 +111,9 @@ penpot.ui.onMessage<
}
} else if (typeof message === "object" && message.type === "context-request") {
sendWorkspaceContext();
+ } else if (typeof message === "object" && message.type === "unclaimed-rollbacks") {
+ // the server got these with a response that came too late: report them again
+ rollbackLog.restore(message.rollbacks ?? []);
} else if (typeof message === "object" && message.type === "update-connection-status") {
mcp?.setMcpStatus(message.status || "unknown", message.sessionId);
} else if (typeof message === "object" && message.task && message.id) {
@@ -138,7 +163,7 @@ management?.on("workspacechange", sendWorkspaceContext);
*/
async function handlePluginTaskRequest(request: { id: string; task: string; params: any }): Promise {
console.log("Executing plugin task:", request.task, request.params);
- const task = new Task(request.id, request.task, request.params);
+ const task = new Task(request.id, request.task, request.params, rollbackLog);
// Find the appropriate handler
const handler = taskHandlers.find((h) => h.isApplicableTo(task));
diff --git a/mcp/packages/server/data/api_types.yml b/mcp/packages/server/data/api_types.yml
index 69715ca183..ecb78c628d 100644
--- a/mcp/packages/server/data/api_types.yml
+++ b/mcp/packages/server/data/api_types.yml
@@ -128,7 +128,8 @@ Penpot:
Example
```
- const size = penpot.ui.size;console.log(size);
+ const size = penpot.ui.size;
+ console.log(size);
```
* resize: (width: number, height: number) => void
@@ -186,7 +187,8 @@ Penpot:
Example
```
- const rootShape = context.root;console.log(rootShape);
+ const rootShape = context.root;
+ console.log(rootShape);
```
currentFile: |-
```
@@ -201,7 +203,8 @@ Penpot:
Example
```
- const fileData = context.currentFile;console.log(fileData);
+ const fileData = context.currentFile;
+ console.log(fileData);
```
currentPage: |-
```
@@ -212,7 +215,8 @@ Penpot:
Example
```
- const currentPage = context.currentPage;console.log(currentPage);
+ const currentPage = context.currentPage;
+ console.log(currentPage);
```
viewport: |-
```
@@ -223,7 +227,8 @@ Penpot:
Example
```
- const viewportSettings = context.viewport;console.log(viewportSettings);
+ const viewportSettings = context.viewport;
+ console.log(viewportSettings);
```
flags: |-
```
@@ -240,7 +245,8 @@ Penpot:
Example
```
- const historyContext = context.history;console.log(historyContext);
+ const historyContext = context.history;
+ console.log(historyContext);
```
library: |-
```
@@ -251,7 +257,8 @@ Penpot:
Example
```
- const libraryContext = context.library;console.log(libraryContext);
+ const libraryContext = context.library;
+ console.log(libraryContext);
```
fonts: |-
```
@@ -262,7 +269,8 @@ Penpot:
Example
```
- const fontsContext = context.fonts;console.log(fontsContext);
+ const fontsContext = context.fonts;
+ console.log(fontsContext);
```
currentUser: |-
```
@@ -273,7 +281,8 @@ Penpot:
Example
```
- const currentUser = context.currentUser;console.log(currentUser);
+ const currentUser = context.currentUser;
+ console.log(currentUser);
```
activeUsers: |-
```
@@ -284,7 +293,8 @@ Penpot:
Example
```
- const activeUsers = context.activeUsers;console.log(activeUsers);
+ const activeUsers = context.activeUsers;
+ console.log(activeUsers);
```
theme: |-
```
@@ -295,7 +305,8 @@ Penpot:
Example
```
- const currentTheme = context.theme;console.log(currentTheme);
+ const currentTheme = context.theme;
+ console.log(currentTheme);
```
localStorage: |-
```
@@ -312,7 +323,8 @@ Penpot:
Example
```
- const selectedShapes = context.selection;console.log(selectedShapes);
+ const selectedShapes = context.selection;
+ console.log(selectedShapes);
```
Methods:
on: |-
@@ -334,7 +346,8 @@ Penpot:
that will be observed. For example:
```
- // Observe the current selected shapepenpot.on('shapechange', (shape) => console.log(shape.name), { shapeId: penpot.selection[0].id });
+ // Observe the current selected shape
+ penpot.on('shapechange', (shape) => console.log(shape.name), { shapeId: penpot.selection[0].id });
```
* selectionchange: event emitted when the current selection changes. The callback will receive the list of ids for the new selection
@@ -384,7 +397,8 @@ Penpot:
Example
```
- const listenerId = penpot.on('contentsave', () => console.log("Changed"));penpot.off(listenerId);
+ const listenerId = penpot.on('contentsave', () => console.log("Changed"));
+ penpot.off(listenerId);
```
shapesColors: |-
```
@@ -403,7 +417,8 @@ Penpot:
Example
```
- const colors = context.shapesColors(shapes);console.log(colors);
+ const colors = context.shapesColors(shapes);
+ console.log(colors);
```
replaceColor: |-
```
@@ -446,7 +461,14 @@ Penpot:
Example
```
- const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');console.log(imageData);// to insert the image in a shape we can doconst board = penpot.createBoard();const shape = penpot.createRectangle();board.appendChild(shape);shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ console.log(imageData);
+
+ // to insert the image in a shape we can do
+ const board = penpot.createBoard();
+ const shape = penpot.createRectangle();
+ board.appendChild(shape);
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
```
uploadMediaData: |-
```
@@ -475,7 +497,8 @@ Penpot:
Example
```
- const imageData = await context.uploadMediaData('example', imageData, 'image/jpeg');console.log(imageData);
+ const imageData = await context.uploadMediaData('example', imageData, 'image/jpeg');
+ console.log(imageData);
```
group: |-
```
@@ -496,7 +519,8 @@ Penpot:
Example
```
- const penpotShapesArray = penpot.selection;penpot.group(penpotShapesArray);
+ const penpotShapesArray = penpot.selection;
+ penpot.group(penpotShapesArray);
```
ungroup: |-
```
@@ -518,7 +542,11 @@ Penpot:
Example
```
- const penpotShapesArray = penpot.selection;// We need to make sure that something is selected, and that the selected shape is a groupif (penpotShapesArray.length && penpot.utils.types.isGroup(penpotShapesArray[0])) { penpot.ungroup(penpotShapesArray[0]);}
+ const penpotShapesArray = penpot.selection;
+ // We need to make sure that something is selected, and that the selected shape is a group
+ if (penpotShapesArray.length && penpot.utils.types.isGroup(penpotShapesArray[0])) {
+ penpot.ungroup(penpotShapesArray[0]);
+ }
```
createRectangle: |-
```
@@ -531,7 +559,48 @@ Penpot:
Example
```
- const shape = penpot.createRectangle();// just change the values like thisshape.name = "Example rectangle";// for solid colorshape.fills = [{ fillColor: "#7EFFF5" }];// for linear gradient colorshape.fills = [{ fillColorGradient: { "type": "linear", "startX": 0.5, "startY": 0, "endX": 0.5, "endY": 1, "width": 1, "stops": [ { "color": "#003ae9", "opacity": 1, "offset": 0 }, { "color": "#003ae9", "opacity": 0, "offset": 1 } ] }}];// for a image fillconst imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');shape.fills = [{ fillOpacity: 1, fillImage: imageData }];shape.borderRadius = 8;shape.strokes = [ { strokeColor: "#2e3434", strokeStyle: "solid", strokeWidth: 2, strokeAlignment: "center", },];
+ const shape = penpot.createRectangle();
+ // just change the values like this
+ shape.name = "Example rectangle";
+
+ // for solid color
+ shape.fills = [{ fillColor: "#7EFFF5" }];
+ // for linear gradient color
+ shape.fills = [{
+ fillColorGradient: {
+ "type": "linear",
+ "startX": 0.5,
+ "startY": 0,
+ "endX": 0.5,
+ "endY": 1,
+ "width": 1,
+ "stops": [
+ {
+ "color": "#003ae9",
+ "opacity": 1,
+ "offset": 0
+ },
+ {
+ "color": "#003ae9",
+ "opacity": 0,
+ "offset": 1
+ }
+ ]
+ }
+ }];
+ // for a image fill
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+
+ shape.borderRadius = 8;
+ shape.strokes = [
+ {
+ strokeColor: "#2e3434",
+ strokeStyle: "solid",
+ strokeWidth: 2,
+ strokeAlignment: "center",
+ },
+ ];
```
createBoard: |-
```
@@ -546,7 +615,16 @@ Penpot:
Example
```
- const board = penpot.createBoard();// to add grid layoutboard.addGridLayout();// to add flex layoutboard.addFlexLayout();// to create a shape inside the boardconst shape = penpot.createRectangle();board.appendChild(shape);
+ const board = penpot.createBoard();
+
+ // to add grid layout
+ board.addGridLayout();
+ // to add flex layout
+ board.addFlexLayout();
+
+ // to create a shape inside the board
+ const shape = penpot.createRectangle();
+ board.appendChild(shape);
```
createEllipse: |-
```
@@ -559,7 +637,47 @@ Penpot:
Example
```
- const shape = penpot.createEllipse();// just change the values like thisshape.name = "Example ellipse";// for solid colorshape.fills = [{ fillColor: "#7EFFF5" }];// for linear gradient colorshape.fills = [{ fillColorGradient: { "type": "linear", "startX": 0.5, "startY": 0, "endX": 0.5, "endY": 1, "width": 1, "stops": [ { "color": "#003ae9", "opacity": 1, "offset": 0 }, { "color": "#003ae9", "opacity": 0, "offset": 1 } ] }}];// for an image fillconst imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');shape.fills = [{ fillOpacity: 1, fillImage: imageData }];shape.strokes = [ { strokeColor: "#2e3434", strokeStyle: "solid", strokeWidth: 2, strokeAlignment: "center", },];
+ const shape = penpot.createEllipse();
+ // just change the values like this
+ shape.name = "Example ellipse";
+
+ // for solid color
+ shape.fills = [{ fillColor: "#7EFFF5" }];
+ // for linear gradient color
+ shape.fills = [{
+ fillColorGradient: {
+ "type": "linear",
+ "startX": 0.5,
+ "startY": 0,
+ "endX": 0.5,
+ "endY": 1,
+ "width": 1,
+ "stops": [
+ {
+ "color": "#003ae9",
+ "opacity": 1,
+ "offset": 0
+ },
+ {
+ "color": "#003ae9",
+ "opacity": 0,
+ "offset": 1
+ }
+ ]
+ }
+ }];
+ // for an image fill
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+
+ shape.strokes = [
+ {
+ strokeColor: "#2e3434",
+ strokeStyle: "solid",
+ strokeWidth: 2,
+ strokeAlignment: "center",
+ },
+ ];
```
createPath: |-
```
@@ -572,7 +690,11 @@ Penpot:
Example
```
- const path = penpot.createPath();path.name = "My path";// for solid colorpath.fills = [{ fillColor: "#7EFFF5" }];
+ const path = penpot.createPath();
+ path.name = "My path";
+
+ // for solid color
+ path.fills = [{ fillColor: "#7EFFF5" }];
```
createBoolean: |-
```
@@ -661,7 +783,16 @@ Penpot:
Example
```
- const board = penpot.createBoard();let text;text = penpot.createText();// just change the values like thistext.growType = 'auto-height';text.fontFamily = 'Work Sans';text.fontSize = '12';text.fills = [{fillColor: '#9f05ff', fillOpacity: 1}];text.strokes = [{strokeOpacity: 1, strokeStyle: 'solid', strokeWidth: 2, strokeColor: '#deabff', strokeAlignment: 'outer'}];board.appendChild(text);
+ const board = penpot.createBoard();
+ let text;
+ text = penpot.createText();
+ // just change the values like this
+ text.growType = 'auto-height';
+ text.fontFamily = 'Work Sans';
+ text.fontSize = '12';
+ text.fills = [{fillColor: '#9f05ff', fillOpacity: 1}];
+ text.strokes = [{strokeOpacity: 1, strokeStyle: 'solid', strokeWidth: 2, strokeColor: '#deabff', strokeAlignment: 'outer'}];
+ board.appendChild(text);
```
generateMarkup: |-
```
@@ -683,7 +814,8 @@ Penpot:
Example
```
- const markup = context.generateMarkup(shapes, { type: 'html' });console.log(markup);
+ const markup = context.generateMarkup(shapes, { type: 'html' });
+ console.log(markup);
```
generateStyle: |-
```
@@ -713,7 +845,8 @@ Penpot:
Example
```
- const styles = context.generateStyle(shapes, { type: 'css' });console.log(styles);
+ const styles = context.generateStyle(shapes, { type: 'css' });
+ console.log(styles);
```
generateFontFaces: |-
```
@@ -731,7 +864,8 @@ Penpot:
Example
```
- const fontfaces = context.generateFontFaces(penpot.selection);console.log(fontfaces);
+ const fontfaces = context.generateFontFaces(penpot.selection);
+ console.log(fontfaces);
```
openViewer: |-
```
@@ -756,7 +890,12 @@ Penpot:
Example
```
- const page = penpot.createPage();page.name = 'New Page';await penpot.openPage(page); // make the new page active firstconst board = penpot.createBoard();board.resize(375, 812);page.root.appendChild(board);
+ const page = penpot.createPage();
+ page.name = 'New Page';
+ await penpot.openPage(page); // make the new page active first
+ const board = penpot.createBoard();
+ board.resize(375, 812);
+ page.root.appendChild(board);
```
openPage: |-
```
@@ -939,7 +1078,8 @@ ActiveUser:
Example
```
- const userPosition = activeUser.position;console.log(userPosition);
+ const userPosition = activeUser.position;
+ console.log(userPosition);
```
zoom: |-
```
@@ -950,7 +1090,8 @@ ActiveUser:
Example
```
- const userZoom = activeUser.zoom;console.log(userZoom);
+ const userZoom = activeUser.zoom;
+ console.log(userZoom);
```
id: |-
```
@@ -961,7 +1102,8 @@ ActiveUser:
Example
```
- const userId = user.id;console.log(userId);
+ const userId = user.id;
+ console.log(userId);
```
name: |-
```
@@ -972,7 +1114,8 @@ ActiveUser:
Example
```
- const userName = user.name;console.log(userName);
+ const userName = user.name;
+ console.log(userName);
```
avatarUrl: |-
```
@@ -983,7 +1126,8 @@ ActiveUser:
Example
```
- const avatarUrl = user.avatarUrl;console.log(avatarUrl);
+ const avatarUrl = user.avatarUrl;
+ console.log(avatarUrl);
```
color: |-
```
@@ -994,7 +1138,8 @@ ActiveUser:
Example
```
- const userColor = user.color;console.log(userColor);
+ const userColor = user.color;
+ console.log(userColor);
```
sessionId: |-
```
@@ -1005,7 +1150,8 @@ ActiveUser:
Example
```
- const sessionId = user.sessionId;console.log(sessionId);
+ const sessionId = user.sessionId;
+ console.log(sessionId);
```
Blur:
overview: |-
@@ -1151,6 +1297,10 @@ Board:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -1187,6 +1337,7 @@ Board:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -1567,6 +1718,10 @@ Board:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -1661,7 +1816,16 @@ Board:
Example
```
- const board = penpot.createBoard();const flex = board.addFlexLayout();// You can change the flex properties as follows.flex.dir = "column";flex.wrap = "wrap";flex.alignItems = "center";flex.justifyContent = "center";flex.horizontalSizing = "fill";flex.verticalSizing = "fill";
+ const board = penpot.createBoard();
+ const flex = board.addFlexLayout();
+
+ // You can change the flex properties as follows.
+ flex.dir = "column";
+ flex.wrap = "wrap";
+ flex.alignItems = "center";
+ flex.justifyContent = "center";
+ flex.horizontalSizing = "fill";
+ flex.verticalSizing = "fill";
```
addGridLayout: |-
```
@@ -1676,7 +1840,16 @@ Board:
Example
```
- const board = penpot.createBoard();const grid = board.addGridLayout();// You can change the grid properties as follows.grid.alignItems = "center";grid.justifyItems = "start";grid.rowGap = 10;grid.columnGap = 10;grid.verticalPadding = 5;grid.horizontalPadding = 5;
+ const board = penpot.createBoard();
+ const grid = board.addGridLayout();
+
+ // You can change the grid properties as follows.
+ grid.alignItems = "center";
+ grid.justifyItems = "start";
+ grid.rowGap = 10;
+ grid.columnGap = 10;
+ grid.verticalPadding = 5;
+ grid.horizontalPadding = 5;
```
addRulerGuide: |-
```
@@ -1734,7 +1907,8 @@ Board:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -1771,7 +1945,8 @@ Board:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -1795,7 +1970,8 @@ Board:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -1841,7 +2017,8 @@ Board:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -1971,6 +2148,18 @@ Board:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -2179,6 +2368,11 @@ Board:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -2326,6 +2520,10 @@ VariantContainer:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -2362,6 +2560,7 @@ VariantContainer:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -2745,6 +2944,10 @@ VariantContainer:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -2839,7 +3042,16 @@ VariantContainer:
Example
```
- const board = penpot.createBoard();const flex = board.addFlexLayout();// You can change the flex properties as follows.flex.dir = "column";flex.wrap = "wrap";flex.alignItems = "center";flex.justifyContent = "center";flex.horizontalSizing = "fill";flex.verticalSizing = "fill";
+ const board = penpot.createBoard();
+ const flex = board.addFlexLayout();
+
+ // You can change the flex properties as follows.
+ flex.dir = "column";
+ flex.wrap = "wrap";
+ flex.alignItems = "center";
+ flex.justifyContent = "center";
+ flex.horizontalSizing = "fill";
+ flex.verticalSizing = "fill";
```
addGridLayout: |-
```
@@ -2854,7 +3066,16 @@ VariantContainer:
Example
```
- const board = penpot.createBoard();const grid = board.addGridLayout();// You can change the grid properties as follows.grid.alignItems = "center";grid.justifyItems = "start";grid.rowGap = 10;grid.columnGap = 10;grid.verticalPadding = 5;grid.horizontalPadding = 5;
+ const board = penpot.createBoard();
+ const grid = board.addGridLayout();
+
+ // You can change the grid properties as follows.
+ grid.alignItems = "center";
+ grid.justifyItems = "start";
+ grid.rowGap = 10;
+ grid.columnGap = 10;
+ grid.verticalPadding = 5;
+ grid.horizontalPadding = 5;
```
addRulerGuide: |-
```
@@ -2912,7 +3133,8 @@ VariantContainer:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -2949,7 +3171,8 @@ VariantContainer:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -2973,7 +3196,8 @@ VariantContainer:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -3019,7 +3243,8 @@ VariantContainer:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -3149,6 +3374,18 @@ VariantContainer:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -3357,6 +3594,11 @@ VariantContainer:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -3491,6 +3733,10 @@ Boolean:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -3527,6 +3773,7 @@ Boolean:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -3864,6 +4111,10 @@ Boolean:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -3978,7 +4229,8 @@ Boolean:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -4015,7 +4267,8 @@ Boolean:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -4039,7 +4292,8 @@ Boolean:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -4085,7 +4339,8 @@ Boolean:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -4215,6 +4470,18 @@ Boolean:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -4423,6 +4690,11 @@ Boolean:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -5694,7 +5966,8 @@ Context:
Example
```
- const rootShape = context.root;console.log(rootShape);
+ const rootShape = context.root;
+ console.log(rootShape);
```
currentFile: |-
```
@@ -5709,7 +5982,8 @@ Context:
Example
```
- const fileData = context.currentFile;console.log(fileData);
+ const fileData = context.currentFile;
+ console.log(fileData);
```
currentPage: |-
```
@@ -5720,7 +5994,8 @@ Context:
Example
```
- const currentPage = context.currentPage;console.log(currentPage);
+ const currentPage = context.currentPage;
+ console.log(currentPage);
```
viewport: |-
```
@@ -5731,7 +6006,8 @@ Context:
Example
```
- const viewportSettings = context.viewport;console.log(viewportSettings);
+ const viewportSettings = context.viewport;
+ console.log(viewportSettings);
```
flags: |-
```
@@ -5748,7 +6024,8 @@ Context:
Example
```
- const historyContext = context.history;console.log(historyContext);
+ const historyContext = context.history;
+ console.log(historyContext);
```
library: |-
```
@@ -5759,7 +6036,8 @@ Context:
Example
```
- const libraryContext = context.library;console.log(libraryContext);
+ const libraryContext = context.library;
+ console.log(libraryContext);
```
fonts: |-
```
@@ -5770,7 +6048,8 @@ Context:
Example
```
- const fontsContext = context.fonts;console.log(fontsContext);
+ const fontsContext = context.fonts;
+ console.log(fontsContext);
```
currentUser: |-
```
@@ -5781,7 +6060,8 @@ Context:
Example
```
- const currentUser = context.currentUser;console.log(currentUser);
+ const currentUser = context.currentUser;
+ console.log(currentUser);
```
activeUsers: |-
```
@@ -5792,7 +6072,8 @@ Context:
Example
```
- const activeUsers = context.activeUsers;console.log(activeUsers);
+ const activeUsers = context.activeUsers;
+ console.log(activeUsers);
```
theme: |-
```
@@ -5803,7 +6084,8 @@ Context:
Example
```
- const currentTheme = context.theme;console.log(currentTheme);
+ const currentTheme = context.theme;
+ console.log(currentTheme);
```
localStorage: |-
```
@@ -5820,7 +6102,8 @@ Context:
Example
```
- const selectedShapes = context.selection;console.log(selectedShapes);
+ const selectedShapes = context.selection;
+ console.log(selectedShapes);
```
Methods:
shapesColors: |-
@@ -5840,7 +6123,8 @@ Context:
Example
```
- const colors = context.shapesColors(shapes);console.log(colors);
+ const colors = context.shapesColors(shapes);
+ console.log(colors);
```
replaceColor: |-
```
@@ -5883,7 +6167,14 @@ Context:
Example
```
- const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');console.log(imageData);// to insert the image in a shape we can doconst board = penpot.createBoard();const shape = penpot.createRectangle();board.appendChild(shape);shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ console.log(imageData);
+
+ // to insert the image in a shape we can do
+ const board = penpot.createBoard();
+ const shape = penpot.createRectangle();
+ board.appendChild(shape);
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
```
uploadMediaData: |-
```
@@ -5912,7 +6203,8 @@ Context:
Example
```
- const imageData = await context.uploadMediaData('example', imageData, 'image/jpeg');console.log(imageData);
+ const imageData = await context.uploadMediaData('example', imageData, 'image/jpeg');
+ console.log(imageData);
```
group: |-
```
@@ -5933,7 +6225,8 @@ Context:
Example
```
- const penpotShapesArray = penpot.selection;penpot.group(penpotShapesArray);
+ const penpotShapesArray = penpot.selection;
+ penpot.group(penpotShapesArray);
```
ungroup: |-
```
@@ -5955,7 +6248,11 @@ Context:
Example
```
- const penpotShapesArray = penpot.selection;// We need to make sure that something is selected, and that the selected shape is a groupif (penpotShapesArray.length && penpot.utils.types.isGroup(penpotShapesArray[0])) { penpot.ungroup(penpotShapesArray[0]);}
+ const penpotShapesArray = penpot.selection;
+ // We need to make sure that something is selected, and that the selected shape is a group
+ if (penpotShapesArray.length && penpot.utils.types.isGroup(penpotShapesArray[0])) {
+ penpot.ungroup(penpotShapesArray[0]);
+ }
```
createRectangle: |-
```
@@ -5968,7 +6265,48 @@ Context:
Example
```
- const shape = penpot.createRectangle();// just change the values like thisshape.name = "Example rectangle";// for solid colorshape.fills = [{ fillColor: "#7EFFF5" }];// for linear gradient colorshape.fills = [{ fillColorGradient: { "type": "linear", "startX": 0.5, "startY": 0, "endX": 0.5, "endY": 1, "width": 1, "stops": [ { "color": "#003ae9", "opacity": 1, "offset": 0 }, { "color": "#003ae9", "opacity": 0, "offset": 1 } ] }}];// for a image fillconst imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');shape.fills = [{ fillOpacity: 1, fillImage: imageData }];shape.borderRadius = 8;shape.strokes = [ { strokeColor: "#2e3434", strokeStyle: "solid", strokeWidth: 2, strokeAlignment: "center", },];
+ const shape = penpot.createRectangle();
+ // just change the values like this
+ shape.name = "Example rectangle";
+
+ // for solid color
+ shape.fills = [{ fillColor: "#7EFFF5" }];
+ // for linear gradient color
+ shape.fills = [{
+ fillColorGradient: {
+ "type": "linear",
+ "startX": 0.5,
+ "startY": 0,
+ "endX": 0.5,
+ "endY": 1,
+ "width": 1,
+ "stops": [
+ {
+ "color": "#003ae9",
+ "opacity": 1,
+ "offset": 0
+ },
+ {
+ "color": "#003ae9",
+ "opacity": 0,
+ "offset": 1
+ }
+ ]
+ }
+ }];
+ // for a image fill
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+
+ shape.borderRadius = 8;
+ shape.strokes = [
+ {
+ strokeColor: "#2e3434",
+ strokeStyle: "solid",
+ strokeWidth: 2,
+ strokeAlignment: "center",
+ },
+ ];
```
createBoard: |-
```
@@ -5983,7 +6321,16 @@ Context:
Example
```
- const board = penpot.createBoard();// to add grid layoutboard.addGridLayout();// to add flex layoutboard.addFlexLayout();// to create a shape inside the boardconst shape = penpot.createRectangle();board.appendChild(shape);
+ const board = penpot.createBoard();
+
+ // to add grid layout
+ board.addGridLayout();
+ // to add flex layout
+ board.addFlexLayout();
+
+ // to create a shape inside the board
+ const shape = penpot.createRectangle();
+ board.appendChild(shape);
```
createEllipse: |-
```
@@ -5996,7 +6343,47 @@ Context:
Example
```
- const shape = penpot.createEllipse();// just change the values like thisshape.name = "Example ellipse";// for solid colorshape.fills = [{ fillColor: "#7EFFF5" }];// for linear gradient colorshape.fills = [{ fillColorGradient: { "type": "linear", "startX": 0.5, "startY": 0, "endX": 0.5, "endY": 1, "width": 1, "stops": [ { "color": "#003ae9", "opacity": 1, "offset": 0 }, { "color": "#003ae9", "opacity": 0, "offset": 1 } ] }}];// for an image fillconst imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');shape.fills = [{ fillOpacity: 1, fillImage: imageData }];shape.strokes = [ { strokeColor: "#2e3434", strokeStyle: "solid", strokeWidth: 2, strokeAlignment: "center", },];
+ const shape = penpot.createEllipse();
+ // just change the values like this
+ shape.name = "Example ellipse";
+
+ // for solid color
+ shape.fills = [{ fillColor: "#7EFFF5" }];
+ // for linear gradient color
+ shape.fills = [{
+ fillColorGradient: {
+ "type": "linear",
+ "startX": 0.5,
+ "startY": 0,
+ "endX": 0.5,
+ "endY": 1,
+ "width": 1,
+ "stops": [
+ {
+ "color": "#003ae9",
+ "opacity": 1,
+ "offset": 0
+ },
+ {
+ "color": "#003ae9",
+ "opacity": 0,
+ "offset": 1
+ }
+ ]
+ }
+ }];
+ // for an image fill
+ const imageData = await context.uploadMediaUrl('example', 'https://example.com/image.jpg');
+ shape.fills = [{ fillOpacity: 1, fillImage: imageData }];
+
+ shape.strokes = [
+ {
+ strokeColor: "#2e3434",
+ strokeStyle: "solid",
+ strokeWidth: 2,
+ strokeAlignment: "center",
+ },
+ ];
```
createPath: |-
```
@@ -6009,7 +6396,11 @@ Context:
Example
```
- const path = penpot.createPath();path.name = "My path";// for solid colorpath.fills = [{ fillColor: "#7EFFF5" }];
+ const path = penpot.createPath();
+ path.name = "My path";
+
+ // for solid color
+ path.fills = [{ fillColor: "#7EFFF5" }];
```
createBoolean: |-
```
@@ -6098,7 +6489,16 @@ Context:
Example
```
- const board = penpot.createBoard();let text;text = penpot.createText();// just change the values like thistext.growType = 'auto-height';text.fontFamily = 'Work Sans';text.fontSize = '12';text.fills = [{fillColor: '#9f05ff', fillOpacity: 1}];text.strokes = [{strokeOpacity: 1, strokeStyle: 'solid', strokeWidth: 2, strokeColor: '#deabff', strokeAlignment: 'outer'}];board.appendChild(text);
+ const board = penpot.createBoard();
+ let text;
+ text = penpot.createText();
+ // just change the values like this
+ text.growType = 'auto-height';
+ text.fontFamily = 'Work Sans';
+ text.fontSize = '12';
+ text.fills = [{fillColor: '#9f05ff', fillOpacity: 1}];
+ text.strokes = [{strokeOpacity: 1, strokeStyle: 'solid', strokeWidth: 2, strokeColor: '#deabff', strokeAlignment: 'outer'}];
+ board.appendChild(text);
```
generateMarkup: |-
```
@@ -6120,7 +6520,8 @@ Context:
Example
```
- const markup = context.generateMarkup(shapes, { type: 'html' });console.log(markup);
+ const markup = context.generateMarkup(shapes, { type: 'html' });
+ console.log(markup);
```
generateStyle: |-
```
@@ -6150,7 +6551,8 @@ Context:
Example
```
- const styles = context.generateStyle(shapes, { type: 'css' });console.log(styles);
+ const styles = context.generateStyle(shapes, { type: 'css' });
+ console.log(styles);
```
generateFontFaces: |-
```
@@ -6168,7 +6570,8 @@ Context:
Example
```
- const fontfaces = context.generateFontFaces(penpot.selection);console.log(fontfaces);
+ const fontfaces = context.generateFontFaces(penpot.selection);
+ console.log(fontfaces);
```
addListener: |-
```
@@ -6195,7 +6598,9 @@ Context:
Example
```
- const listenerId = context.addListener('selectionchange', (event) => { console.log(event);});
+ const listenerId = context.addListener('selectionchange', (event) => {
+ console.log(event);
+ });
```
removeListener: |-
```
@@ -6237,7 +6642,12 @@ Context:
Example
```
- const page = penpot.createPage();page.name = 'New Page';await penpot.openPage(page); // make the new page active firstconst board = penpot.createBoard();board.resize(375, 812);page.root.appendChild(board);
+ const page = penpot.createPage();
+ page.name = 'New Page';
+ await penpot.openPage(page); // make the new page active first
+ const board = penpot.createBoard();
+ board.resize(375, 812);
+ page.root.appendChild(board);
```
openPage: |-
```
@@ -6392,7 +6802,8 @@ ContextGeometryUtils:
Example
```
- const centerPoint = geometryUtils.center(shapes);console.log(centerPoint);
+ const centerPoint = geometryUtils.center(shapes);
+ console.log(centerPoint);
```
```
@@ -6424,7 +6835,8 @@ ContextGeometryUtils:
Example
```
- const centerPoint = geometryUtils.center(shapes);console.log(centerPoint);
+ const centerPoint = geometryUtils.center(shapes);
+ console.log(centerPoint);
```
ContextTypesUtils:
overview: |-
@@ -6435,7 +6847,8 @@ ContextTypesUtils:
Example
```
- const isBoard = typesUtils.isBoard(shape);console.log(isBoard);
+ const isBoard = typesUtils.isBoard(shape);
+ console.log(isBoard);
```
```
@@ -6664,7 +7077,8 @@ ContextUtils:
Example
```
- const centerPoint = penpot.utils.geometry.center(shapes);console.log(centerPoint);
+ const centerPoint = penpot.utils.geometry.center(shapes);
+ console.log(centerPoint);
```
types: |-
```
@@ -6676,7 +7090,8 @@ ContextUtils:
Example
```
- const isBoard = utils.types.isBoard(shape);console.log(isBoard);
+ const isBoard = utils.types.isBoard(shape);
+ console.log(isBoard);
```
Dissolve:
overview: |-
@@ -6802,6 +7217,10 @@ Ellipse:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -6838,6 +7257,7 @@ Ellipse:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -7147,6 +7567,10 @@ Ellipse:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -7206,7 +7630,8 @@ Ellipse:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -7243,7 +7668,8 @@ Ellipse:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -7267,7 +7693,8 @@ Ellipse:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -7313,7 +7740,8 @@ Ellipse:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -7443,6 +7871,18 @@ Ellipse:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -7651,6 +8091,11 @@ Ellipse:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -7701,7 +8146,9 @@ EventsMap:
Example
```
- penpot.on('pagechange', (event) => { console.log(event);});
+ penpot.on('pagechange', (event) => {
+ console.log(event);
+ });
```
```
@@ -7950,7 +8397,8 @@ File:
Example
```
- const errors = file.validate();if (errors.length) console.error(errors);
+ const errors = file.validate();
+ if (errors.length) console.error(errors);
```
getPluginData: |-
```
@@ -7971,7 +8419,8 @@ File:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -8008,7 +8457,8 @@ File:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -8032,7 +8482,8 @@ File:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -8078,7 +8529,8 @@ File:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
FileValidationError:
overview: |-
@@ -8799,7 +9251,10 @@ FontsContext:
Example
```
- const font = fontsContext.findById('font-id');if (font) { console.log(font.name);}
+ const font = fontsContext.findById('font-id');
+ if (font) {
+ console.log(font.name);
+ }
```
findByName: |-
```
@@ -8820,7 +9275,10 @@ FontsContext:
Example
```
- const font = fontsContext.findByName('font-name');if (font) { console.log(font.name);}
+ const font = fontsContext.findByName('font-name');
+ if (font) {
+ console.log(font.name);
+ }
```
findAllById: |-
```
@@ -8841,7 +9299,8 @@ FontsContext:
Example
```
- const fonts = fontsContext.findAllById('font-id');console.log(fonts);
+ const fonts = fontsContext.findAllById('font-id');
+ console.log(fonts);
```
findAllByName: |-
```
@@ -8862,7 +9321,8 @@ FontsContext:
Example
```
- const fonts = fontsContext.findAllByName('font-name');console.log(fonts);
+ const fonts = fontsContext.findAllByName('font-name');
+ console.log(fonts);
```
GridLayout:
overview: |-
@@ -9129,7 +9589,9 @@ GridLayout:
Example
```
- const board = penpot.createBoard();const grid = board.addGridLayout();grid.addRow("flex", 1);
+ const board = penpot.createBoard();
+ const grid = board.addGridLayout();
+ grid.addRow("flex", 1);
```
addRowAtIndex: |-
```
@@ -9176,7 +9638,9 @@ GridLayout:
Example
```
- const board = penpot.createBoard();const grid = board.addGridLayout();grid.addColumn('percent', 50);
+ const board = penpot.createBoard();
+ const grid = board.addGridLayout();
+ grid.addColumn('percent', 50);
```
addColumnAtIndex: |-
```
@@ -9410,6 +9874,10 @@ Group:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -9446,6 +9914,7 @@ Group:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -9759,6 +10228,10 @@ Group:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -9884,7 +10357,8 @@ Group:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -9921,7 +10395,8 @@ Group:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -9945,7 +10420,8 @@ Group:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -9991,7 +10467,8 @@ Group:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -10121,6 +10598,18 @@ Group:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -10329,6 +10818,11 @@ Group:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -10713,6 +11207,10 @@ Image:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -10749,6 +11247,7 @@ Image:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -11058,6 +11557,10 @@ Image:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -11117,7 +11620,8 @@ Image:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -11154,7 +11658,8 @@ Image:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -11178,7 +11683,8 @@ Image:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -11224,7 +11730,8 @@ Image:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -11354,6 +11861,18 @@ Image:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -11562,6 +12081,11 @@ Image:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -11889,6 +12413,7 @@ Library:
colors: LibraryColor[];
typographies: LibraryTypography[];
components: LibraryComponent[];
+ deletedComponents: LibraryComponent[];
tokens: TokenCatalog;
createColor(): LibraryColor;
createTypography(): LibraryTypography;
@@ -11950,6 +12475,13 @@ Library:
```
console.log(penpot.library.local.components
```
+ deletedComponents: |-
+ ```
+ readonly deletedComponents: LibraryComponent[]
+ ```
+
+ Deleted components, including individual deleted variants.
+ Use a component's `restore()` method to restore it.
tokens: |-
```
readonly tokens: TokenCatalog
@@ -11972,7 +12504,8 @@ Library:
Example
```
- const newColor = penpot.library.local.createColor();console.log(newColor);
+ const newColor = penpot.library.local.createColor();
+ console.log(newColor);
```
createTypography: |-
```
@@ -12029,7 +12562,8 @@ Library:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -12066,7 +12600,8 @@ Library:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -12090,7 +12625,8 @@ Library:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -12136,7 +12672,8 @@ Library:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LibraryColor:
overview: |-
@@ -12273,7 +12810,8 @@ LibraryColor:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -12310,7 +12848,8 @@ LibraryColor:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -12334,7 +12873,8 @@ LibraryColor:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -12380,7 +12920,8 @@ LibraryColor:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LibraryComponent:
overview: |-
@@ -12392,6 +12933,10 @@ LibraryComponent:
```
interface LibraryComponent {
+ annotation: string | null;
+ duplicate(): LibraryComponent;
+ remove(): void;
+ restore(): void;
instance(): Shape;
mainInstance(): Shape;
isVariant(): this is LibraryVariantComponent;
@@ -12415,9 +12960,18 @@ LibraryComponent:
+ LibraryComponent
- LibraryVariantComponent
- Referenced by: Board, Boolean, ContextTypesUtils, Ellipse, Group, Image, Library, Path, Rectangle, ShapeBase, SvgRaw, Text, VariantContainer, Variants
+ Referenced by: Board, Boolean, ContextTypesUtils, Ellipse, Group, Image, Library, LibraryComponent, LibraryVariantComponent, Path, Rectangle, ShapeBase, SvgRaw, Text, VariantContainer, Variants
members:
Properties:
+ annotation: |-
+ ```
+ annotation: string | null
+ ```
+
+ The component annotation, or null when none is set.
+ Set null to delete it. Text can contain at most 300 characters.
+ Writing requires `library:write` permission and a live component in the
+ current file's library.
id: |-
```
readonly id: string
@@ -12443,6 +12997,41 @@ LibraryComponent:
The path of the library element.
Methods:
+ duplicate: |-
+ ```
+ duplicate(): LibraryComponent
+ ```
+
+ Duplicates this component and its main instance in the current file's library.
+ Requires `library:write` permission. The component must not be deleted.
+
+ Returns LibraryComponent
+ remove: |-
+ ```
+ remove(): void
+ ```
+
+ Deletes this component and its main instance from the current file's library.
+ Requires `library:write` permission. Does nothing if already deleted.
+ Surviving copies keep their link so the component can be restored later.
+
+ Returns void
+ restore: |-
+ ```
+ restore(): void
+ ```
+
+ Restores this component if it has been deleted, including its main instance,
+ in the current file's library.
+ Leaves the current page, selection, zoom, and viewport unchanged.
+ Requires `library:write` permission. Does nothing if already restored.
+
+ Returns void
+
+ Example
+ ```
+ penpot.selection[0].component()?.restore();
+ ```
instance: |-
```
instance(): Shape
@@ -12505,7 +13094,8 @@ LibraryComponent:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -12542,7 +13132,8 @@ LibraryComponent:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -12566,7 +13157,8 @@ LibraryComponent:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -12612,7 +13204,8 @@ LibraryComponent:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LibraryVariantComponent:
overview: |-
@@ -12624,6 +13217,10 @@ LibraryVariantComponent:
```
interface LibraryVariantComponent {
+ annotation: string | null;
+ duplicate(): LibraryComponent;
+ remove(): void;
+ restore(): void;
instance(): Shape;
mainInstance(): Shape;
isVariant(): this is LibraryVariantComponent;
@@ -12654,6 +13251,15 @@ LibraryVariantComponent:
Referenced by: ContextTypesUtils, LibraryComponent, LibraryVariantComponent
members:
Properties:
+ annotation: |-
+ ```
+ annotation: string | null
+ ```
+
+ The component annotation, or null when none is set.
+ Set null to delete it. Text can contain at most 300 characters.
+ Writing requires `library:write` permission and a live component in the
+ current file's library.
variants: |-
```
readonly variants: Variants | null
@@ -12698,6 +13304,41 @@ LibraryVariantComponent:
The path of the library element.
Methods:
+ duplicate: |-
+ ```
+ duplicate(): LibraryComponent
+ ```
+
+ Duplicates this component and its main instance in the current file's library.
+ Requires `library:write` permission. The component must not be deleted.
+
+ Returns LibraryComponent
+ remove: |-
+ ```
+ remove(): void
+ ```
+
+ Deletes this component and its main instance from the current file's library.
+ Requires `library:write` permission. Does nothing if already deleted.
+ Surviving copies keep their link so the component can be restored later.
+
+ Returns void
+ restore: |-
+ ```
+ restore(): void
+ ```
+
+ Restores this component if it has been deleted, including its main instance,
+ in the current file's library.
+ Leaves the current page, selection, zoom, and viewport unchanged.
+ Requires `library:write` permission. Does nothing if already restored.
+
+ Returns void
+
+ Example
+ ```
+ penpot.selection[0].component()?.restore();
+ ```
instance: |-
```
instance(): Shape
@@ -12785,7 +13426,8 @@ LibraryVariantComponent:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -12822,7 +13464,8 @@ LibraryVariantComponent:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -12846,7 +13489,8 @@ LibraryVariantComponent:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -12892,7 +13536,8 @@ LibraryVariantComponent:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LibraryElement:
overview: |-
@@ -12970,7 +13615,8 @@ LibraryElement:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -13007,7 +13653,8 @@ LibraryElement:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -13031,7 +13678,8 @@ LibraryElement:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -13077,7 +13725,8 @@ LibraryElement:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LibrarySummary:
overview: |-
@@ -13331,7 +13980,8 @@ LibraryTypography:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -13368,7 +14018,8 @@ LibraryTypography:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -13392,7 +14043,8 @@ LibraryTypography:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -13438,7 +14090,8 @@ LibraryTypography:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
LocalStorage:
overview: |-
@@ -13869,7 +14522,8 @@ Page:
Example
```
- const page = penpot.createPage();page.remove();
+ const page = penpot.createPage();
+ page.remove();
```
getShapeById: |-
```
@@ -14075,7 +14729,8 @@ Page:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -14112,7 +14767,8 @@ Page:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -14136,7 +14792,8 @@ Page:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -14182,7 +14839,8 @@ Page:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
Path:
overview: |-
@@ -14275,6 +14933,10 @@ Path:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -14311,6 +14973,7 @@ Path:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -14642,6 +15305,10 @@ Path:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -14715,7 +15382,8 @@ Path:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -14752,7 +15420,8 @@ Path:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -14776,7 +15445,8 @@ Path:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -14822,7 +15492,8 @@ Path:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -14952,6 +15623,18 @@ Path:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -15160,6 +15843,11 @@ Path:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -15394,7 +16082,8 @@ PluginData:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -15431,7 +16120,8 @@ PluginData:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -15455,7 +16145,8 @@ PluginData:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -15501,7 +16192,8 @@ PluginData:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
PreviousScreen:
overview: |-
@@ -15656,6 +16348,10 @@ Rectangle:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -15692,6 +16388,7 @@ Rectangle:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -16001,6 +16698,10 @@ Rectangle:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -16060,7 +16761,8 @@ Rectangle:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -16097,7 +16799,8 @@ Rectangle:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -16121,7 +16824,8 @@ Rectangle:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -16167,7 +16871,8 @@ Rectangle:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -16297,6 +17002,18 @@ Rectangle:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -16505,6 +17222,11 @@ Rectangle:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -16756,6 +17478,10 @@ ShapeBase:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -16792,6 +17518,7 @@ ShapeBase:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -17100,6 +17827,10 @@ ShapeBase:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -17159,7 +17890,8 @@ ShapeBase:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -17196,7 +17928,8 @@ ShapeBase:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -17220,7 +17953,8 @@ ShapeBase:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -17266,7 +18000,8 @@ ShapeBase:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -17396,6 +18131,18 @@ ShapeBase:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -17604,6 +18351,11 @@ ShapeBase:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -17707,8 +18459,8 @@ Stroke:
Interface Stroke
================
- Represents stroke properties in Penpot. You can add a stroke to any shape except for groups.
- This interface includes properties for defining the color, style, width, alignment, and caps of a stroke.
+ Stroke properties for any shape except groups.
+ Literals apply strokeWidth before top/right/bottom/left widths.
```
interface Stroke {
@@ -17718,6 +18470,11 @@ Stroke:
strokeOpacity?: number;
strokeStyle?: "none" | "svg" | "mixed" | "solid" | "dotted" | "dashed";
strokeWidth?: number;
+ strokeWidthType?: "simple" | "multiple";
+ strokeWidthTop?: number;
+ strokeWidthRight?: number;
+ strokeWidthBottom?: number;
+ strokeWidthLeft?: number;
strokeAlignment?: "center" | "inner" | "outer";
strokeCapStart?: StrokeCap;
strokeCapEnd?: StrokeCap;
@@ -17765,7 +18522,41 @@ Stroke:
strokeWidth?: number
```
- The optional width of the stroke.
+ Reads the top width. Setting it selects simple mode and sets all four sides.
+ strokeWidthType: |-
+ ```
+ readonly strokeWidthType?: "simple" | "multiple"
+ ```
+
+ Computed width mode: simple when all four effective widths match, multiple otherwise.
+ strokeWidthTop: |-
+ ```
+ strokeWidthTop?: number
+ ```
+
+ Top side width; setting it preserves the other side widths.
+ Boards and rectangles only; other shape types raise a validation error.
+ strokeWidthRight: |-
+ ```
+ strokeWidthRight?: number
+ ```
+
+ Right side width; setting it preserves the other side widths.
+ Boards and rectangles only; other shape types raise a validation error.
+ strokeWidthBottom: |-
+ ```
+ strokeWidthBottom?: number
+ ```
+
+ Bottom side width; setting it preserves the other side widths.
+ Boards and rectangles only; other shape types raise a validation error.
+ strokeWidthLeft: |-
+ ```
+ strokeWidthLeft?: number
+ ```
+
+ Left side width; setting it preserves the other side widths.
+ Boards and rectangles only; other shape types raise a validation error.
strokeAlignment: |-
```
strokeAlignment?: "center" | "inner" | "outer"
@@ -17883,6 +18674,10 @@ SvgRaw:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -17919,6 +18714,7 @@ SvgRaw:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -18221,6 +19017,10 @@ SvgRaw:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -18286,7 +19086,8 @@ SvgRaw:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -18323,7 +19124,8 @@ SvgRaw:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -18347,7 +19149,8 @@ SvgRaw:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -18393,7 +19196,8 @@ SvgRaw:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -18523,6 +19327,18 @@ SvgRaw:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -18731,6 +19547,11 @@ SvgRaw:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -18858,6 +19679,10 @@ Text:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -18894,6 +19719,7 @@ Text:
detach(): void;
swapComponent(component: LibraryComponent): void;
resetOverrides(): void;
+ updateMain(): void;
switchVariant(pos: number, value: string): void;
combineAsVariants(ids: string[]): VariantContainer;
isVariantHead(): boolean;
@@ -19214,6 +20040,10 @@ Text:
shadow: string;
strokeColor: string;
strokeWidth: string;
+ strokeWidthTop: string;
+ strokeWidthRight: string;
+ strokeWidthBottom: string;
+ strokeWidthLeft: string;
fontFamilies: string;
fontSize: string;
fontWeight: string;
@@ -19381,7 +20211,8 @@ Text:
Example
```
- const data = shape.getPluginData('exampleKey');console.log(data);
+ const data = shape.getPluginData('exampleKey');
+ console.log(data);
```
setPluginData: |-
```
@@ -19418,7 +20249,8 @@ Text:
Example
```
- const keys = shape.getPluginDataKeys();console.log(keys);
+ const keys = shape.getPluginDataKeys();
+ console.log(keys);
```
getSharedPluginData: |-
```
@@ -19442,7 +20274,8 @@ Text:
Example
```
- const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');console.log(sharedData);
+ const sharedData = shape.getSharedPluginData('exampleNamespace', 'exampleKey');
+ console.log(sharedData);
```
setSharedPluginData: |-
```
@@ -19488,7 +20321,8 @@ Text:
Example
```
- const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');console.log(sharedKeys);
+ const sharedKeys = shape.getSharedPluginDataKeys('exampleNamespace');
+ console.log(sharedKeys);
```
setParentIndex: |-
```
@@ -19618,6 +20452,18 @@ Text:
Similar to the "reset overrides" action on the Penpot interface.
The current shape must be a component copy instance.
+ Returns void
+ updateMain: |-
+ ```
+ updateMain(): void
+ ```
+
+ Applies this copy's overrides to its main component and synchronizes copies.
+ Similar to the editor's "update main component" action.
+ Requires `content:write` and `library:write` permissions.
+ The shape must be a component copy head on the active page of the current file,
+ outside any other component copy, with a main component that is not deleted.
+
Returns void
switchVariant: |-
```
@@ -19826,6 +20672,11 @@ Text:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties (`strokeWidthTop`,
+ `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`) are only valid on
+ boards and rectangles. Applying one to any other shape raises a validation
+ error. The uniform `strokeWidth` property is accepted on every shape.
+
Returns void
clone: |-
```
@@ -19888,7 +20739,8 @@ Text:
Example
```
- const textRange = textShape.getRange(0, 10);console.log(textRange.characters);
+ const textRange = textShape.getRange(0, 10);
+ console.log(textRange.characters);
```
applyTypography: |-
```
@@ -20323,6 +21175,10 @@ TokenBase:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -20464,6 +21320,10 @@ TokenBorderRadius:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -20727,6 +21587,10 @@ TokenShadow:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -20868,6 +21732,10 @@ TokenColor:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21009,6 +21877,10 @@ TokenDimension:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21153,6 +22025,10 @@ TokenFontFamilies:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21294,6 +22170,10 @@ TokenFontSizes:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21436,6 +22316,10 @@ TokenFontWeights:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21577,6 +22461,10 @@ TokenLetterSpacing:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21718,6 +22606,10 @@ TokenNumber:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -21860,6 +22752,10 @@ TokenOpacity:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22002,6 +22898,10 @@ TokenRotation:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22143,6 +23043,10 @@ TokenSizing:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22284,6 +23188,10 @@ TokenSpacing:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22425,6 +23333,10 @@ TokenBorderWidth:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22567,6 +23479,10 @@ TokenTextCase:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22709,6 +23625,10 @@ TokenTextDecoration:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -22985,6 +23905,10 @@ TokenTypography:
and the value set to the attributes will depend on which sets are active
(and will change if different sets or themes are activated later).
+ NOTE that the per-side stroke width properties are only valid on boards and
+ rectangles; applying one to any other shape raises a validation error. The
+ uniform `strokeWidth` property is accepted on every shape.
+
Returns void
applyToSelected: |-
```
@@ -23414,7 +24338,8 @@ User:
Example
```
- const userId = user.id;console.log(userId);
+ const userId = user.id;
+ console.log(userId);
```
name: |-
```
@@ -23425,7 +24350,8 @@ User:
Example
```
- const userName = user.name;console.log(userName);
+ const userName = user.name;
+ console.log(userName);
```
avatarUrl: |-
```
@@ -23436,7 +24362,8 @@ User:
Example
```
- const avatarUrl = user.avatarUrl;console.log(avatarUrl);
+ const avatarUrl = user.avatarUrl;
+ console.log(avatarUrl);
```
color: |-
```
@@ -23447,7 +24374,8 @@ User:
Example
```
- const userColor = user.color;console.log(userColor);
+ const userColor = user.color;
+ console.log(userColor);
```
sessionId: |-
```
@@ -23458,7 +24386,8 @@ User:
Example
```
- const sessionId = user.sessionId;console.log(sessionId);
+ const sessionId = user.sessionId;
+ console.log(sessionId);
```
Variants:
overview: |-
@@ -23703,7 +24632,8 @@ Bounds:
Example
```
- const bounds = { x: 50, y: 50, width: 200, height: 100 };console.log(bounds);
+ const bounds = { x: 50, y: 50, width: 200, height: 100 };
+ console.log(bounds);
```
```
@@ -24066,7 +24996,10 @@ Shape:
Example
```
- let shape: Shape;if (penpot.utils.types.isRectangle(shape)) { console.log(shape.type);}
+ let shape: Shape;
+ if (penpot.utils.types.isRectangle(shape)) {
+ console.log(shape.type);
+ }
```
Referenced by: Board, Boolean, Context, ContextGeometryUtils, ContextTypesUtils, Ellipse, EventsMap, FlexLayout, GridLayout, Group, Image, Interaction, Library, LibraryComponent, LibraryTypography, LibraryVariantComponent, OpenOverlay, OverlayAction, Page, Path, Penpot, Rectangle, ShapeBase, SvgRaw, Text, ToggleOverlay, TokenBase, TokenBorderRadius, TokenBorderWidth, TokenColor, TokenDimension, TokenFontFamilies, TokenFontSizes, TokenFontWeights, TokenLetterSpacing, TokenNumber, TokenOpacity, TokenRotation, TokenShadow, TokenSizing, TokenSpacing, TokenTextCase, TokenTextDecoration, TokenTypography, VariantContainer, Viewport
@@ -24239,7 +25172,14 @@ TokenDimensionProps:
==============================
```
- TokenDimensionProps: "x" | "y" | "strokeWidth"
+ TokenDimensionProps:
+ | "x"
+ | "y"
+ | "strokeWidth"
+ | "strokeWidthTop"
+ | "strokeWidthRight"
+ | "strokeWidthBottom"
+ | "strokeWidthLeft"
```
The properties that a Dimension token can be applied to.
@@ -24372,7 +25312,12 @@ TokenBorderWidthProps:
================================
```
- TokenBorderWidthProps: "strokeWidth"
+ TokenBorderWidthProps:
+ | "strokeWidth"
+ | "strokeWidthTop"
+ | "strokeWidthRight"
+ | "strokeWidthBottom"
+ | "strokeWidthLeft"
```
The properties that a BorderWidth token can be applied to.
diff --git a/mcp/packages/server/data/initial_instructions.md b/mcp/packages/server/data/initial_instructions.md
index 66c2c642da..fbca1c5bad 100644
--- a/mcp/packages/server/data/initial_instructions.md
+++ b/mcp/packages/server/data/initial_instructions.md
@@ -19,10 +19,28 @@ This allows you to inspect intermediate results while still being able to build
## Asynchronous Updates
Changes made to a design may take effect asynchronously.
-So if you need to read the result of your executions/observe properties affected by a change in the same `execude_code` call, use
+So if you need to read the result of your executions/observe properties affected by a change in the same `execute_code` call, use
`await penpot.waitForLayoutUpdate();`
before trying to observe changes.
-Every `execude_code` call waits for updates before applying your code, so you never need to call `waitForLayoutUpdate` at the beginning of your code.
+To wait only for a single shape (and its children), use `await shape.waitForLayoutUpdate();`.
+Both accept an optional timeout in milliseconds (default 30000) and reject when it elapses.
+Every `execute_code` call waits for updates before applying your code, so you never need to call `waitForLayoutUpdate` at the beginning of your code.
+
+## Rejected Changes and Read-Only Mode
+
+Penpot saves your changes to the backend after your `execute_code` call returns.
+When the backend rejects a save, Penpot undoes the rejected changes, together with the rest of their undo steps
+and any later change to the same file. This can happen a few seconds after the call that made the changes succeeded.
+The next tool response then starts with a warning that names the files, pages and shapes involved.
+When you get this warning:
+ * Do not trust what you know about the design from before: shapes you created may be gone, and removed ones may be back.
+ * Read the affected pages and shapes again (e.g. `penpotUtils.shapeStructure(page.root, 3)`) and check that they hold what you expect.
+ * Redo the missing changes, then check again; if the same changes are rejected again, stop and tell the user.
+
+While saves are failing, the workspace becomes read-only: every write through the API throws an error saying that the
+workspace is read-only because changes cannot be saved. Do not retry in a loop; wait and try again later, or tell the user.
+Writes also throw when the user cannot edit the file, a version is being previewed or the canvas stopped rendering;
+the error says which. These do not pass by waiting: tell the user.
# The Structure of Penpot Designs
@@ -57,6 +75,8 @@ Actual low-level shape types are `Rectangle`, `Path`, `Text`, `Ellipse`, `Image`
The objects are not shared references; you can modify properties of the fills in the target shape without affecting the source shape.
- Colors: Use hex strings with caps only (e.g. '#FF5533')
- IMPORTANT: The contents of the arrays are read-only. You cannot modify individual fills/strokes; you need to replace the entire array to change them!
+ - Per-side stroke widths (boards and rectangles only; other shapes raise a validation error): `strokeWidthTop`, `strokeWidthRight`, `strokeWidthBottom`, `strokeWidthLeft`.
+ Setting `strokeWidth` sets all four sides. Read-only `strokeWidthType` is `"simple"` when all four widths match, `"multiple"` otherwise.
* `borderRadius` - Uniform border radius for all corners
* `borderRadiusTopLeft`, `borderRadiusTopRight`, `borderRadiusBottomRight`, `borderRadiusBottomLeft` - Individual corner radii.
* `blur: Blur` - Blur properties
@@ -206,6 +226,9 @@ General pointers for working with Penpot designs:
* Prefer `penpotUtils` helper functions — avoid reimplementing shape searching.
* To get an overview of a single page, use `penpotUtils.shapeStructure(page.root, 3)`.
Note that `penpot.root` refers to the current page only. When working across pages, first determine the relevant page(s).
+ * IMPORTANT: Shapes can only be created or modified on the active page; changes to shapes on other pages raise a validation error.
+ To work on another page, first activate it with `await penpot.openPage(page)`.
+ `penpot.createPage()` does NOT activate the new page; call `openPage` before adding shapes to it.
* Use `penpotUtils.findShapes()` or `penpotUtils.findShape()` with predicates to locate elements efficiently.
Common tasks - Quick Reference (ALWAYS use penpotUtils for these):
@@ -295,6 +318,17 @@ Detaching:
* When creating new design elements based on a component instance/copy, use `shape.detach()` to break the link to the main component, allowing independent modification.
* Without detaching, some manipulations will have no effect; e.g. child/descendant removal will not work.
+Syncing copies and main components:
+ * `copy.resetOverrides()` - restores a copy (and its children) to the attributes of its main component.
+ * `copy.updateMain()` - applies the overrides of a copy to its main component and syncs all copies.
+ The copy must be a copy head on the active page, not nested in another copy.
+
+Managing components (current file's library only):
+ * `component.remove()` - deletes the component and its main instance; existing copies keep their link.
+ * `library.deletedComponents: LibraryComponent[]` - deleted components; `component.restore()` brings one back.
+ * `component.duplicate(): LibraryComponent` - duplicates the component and its main instance.
+ * `component.annotation: string | null` - writable annotation (max. 300 characters); set `null` to delete it.
+
### Variants
Variants are a system for grouping related component versions along named property axes (e.g. Type, Style), powering a structured swap UI for designers using component instances.
@@ -357,11 +391,16 @@ The token library: `penpot.library.local.tokens` (type: `TokenCatalog`)
* `addSet({name: string}): TokenSet` - Create new set
* `addTheme({group: string, name: string}): TokenTheme` - Create new theme
+Token source: `penpot.library.tokensSource: Library` is the library that supplies the file's tokens (default: `penpot.library.local`).
+ * Assigning a connected library makes its tokens the file's tokens; assign `penpot.library.local` to use local tokens again.
+ * With an external source, `penpot.library.local.tokens` lists the source's tokens and is where you toggle active sets/themes;
+ the source library's own catalog is read-only.
+
`TokenSet` contains tokens with unique names:
* `active: boolean` - Only active sets affect shapes; use `set.toggleActive()` to change: `if (!set.active) set.toggleActive();`
* `tokens: Token[]` - All tokens in set
* `addToken({type: TokenType, name: string, value: TokenValueString}): Token` - Creates a token, adding it to the set.
- - `TokenType`: "color" | "dimension" | "spacing" | "typography" | "shadow" | "opacity" | "borderRadius" | "borderWidth" | "fontWeights" | "fontSizes" | "fontFamilies" | "letterSpacing" | "textDecoration" | "textCase"
+ - `TokenType`: "color" | "dimension" | "spacing" | "sizing" | "typography" | "shadow" | "opacity" | "number" | "rotation" | "borderRadius" | "borderWidth" | "fontWeights" | "fontSizes" | "fontFamilies" | "letterSpacing" | "textDecoration" | "textCase"
- `value`: depends on the type of token (inspect `Token` and related types)
- Examples:
const token = set.addToken({type: "color", name: "color.primary", value: "#0066FF"}); // direct value
@@ -387,7 +426,7 @@ Applying tokens:
- TokenBorderRadiusProps: "borderRadiusTopLeft", "borderRadiusTopRight", "borderRadiusBottomRight", "borderRadiusBottomLeft"
- TokenShadowProps: "shadow"
- TokenColorProps: "fill", "strokeColor"
- - TokenDimensionProps: "x", "y", "strokeWidth"
+ - TokenDimensionProps: "x", "y", "strokeWidth", "strokeWidthTop", "strokeWidthRight", "strokeWidthBottom", "strokeWidthLeft"
- TokenFontFamiliesProps: "fontFamilies"
- TokenFontSizesProps: "fontSize"
- TokenFontWeightProps: "fontWeight"
@@ -396,10 +435,11 @@ Applying tokens:
- TokenOpacityProps: "opacity"
- TokenSizingProps: "width", "height", "layoutItemMinW", "layoutItemMaxW", "layoutItemMinH", "layoutItemMaxH"
- TokenSpacingProps: "rowGap", "columnGap", "paddingLeft", "paddingTop", "paddingRight", "paddingBottom", "marginLeft", "marginTop", "marginRight", "marginBottom"
- - TokenBorderWidthProps: "strokeWidth"
+ - TokenBorderWidthProps: "strokeWidth", "strokeWidthTop", "strokeWidthRight", "strokeWidthBottom", "strokeWidthLeft"
- TokenTextCaseProps: "textCase"
- TokenTextDecorationProps: "textDecoration"
- TokenTypographyProps: "typography"
+ The per-side stroke width properties apply only to boards and rectangles; `strokeWidth` works on every shape.
* `token.applyToShapes(shapes, properties)` - Apply from token
* Application is **asynchronous** (use `waitForLayoutUpdate`)
* After application:
diff --git a/mcp/packages/server/package.json b/mcp/packages/server/package.json
index 51f765414c..0bd3d8ae01 100644
--- a/mcp/packages/server/package.json
+++ b/mcp/packages/server/package.json
@@ -27,7 +27,7 @@
"engines": {
"node": ">=20.20.2"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"dependencies": {
"@modelcontextprotocol/node": "^2.1.1",
"@modelcontextprotocol/server": "^2.3.1",
diff --git a/mcp/packages/server/src/Feedback.test.ts b/mcp/packages/server/src/Feedback.test.ts
index b5b6460250..be92aac8ea 100644
--- a/mcp/packages/server/src/Feedback.test.ts
+++ b/mcp/packages/server/src/Feedback.test.ts
@@ -70,6 +70,21 @@ async function connect(multiUser: boolean, token?: string) {
const feedback = { subject: "Export fails", feedback: "Expected a PNG, received an error." };
+/**
+ * Collects all `pattern` values in a JSON schema.
+ */
+function schemaPatterns(schema: unknown): string[] {
+ if (Array.isArray(schema)) {
+ return schema.flatMap(schemaPatterns);
+ }
+ if (schema === null || typeof schema !== "object") {
+ return [];
+ }
+ return Object.entries(schema).flatMap(([key, value]) =>
+ key === "pattern" && typeof value === "string" ? [value] : schemaPatterns(value)
+ );
+}
+
for (const multiUser of [false, true]) {
test(`feedback is absent without a backend URI (multi-user=${multiUser})`, async () => {
const connected = await connect(multiUser, "alice");
@@ -82,6 +97,10 @@ for (const multiUser of [false, true]) {
const tool = (await connected.listTools()).tools.find((tool) => tool.name === "submit_feedback");
assert.ok(tool);
assert.deepEqual(tool.inputSchema.required, ["subject", "feedback"]);
+ // advertised patterns must also compile outside ECMAScript (ChatGPT uses Python)
+ const patterns = schemaPatterns(tool.inputSchema);
+ assert.ok(patterns.length > 0);
+ assert.ok(!patterns.some((pattern) => /\\[pP]\{/.test(pattern)), patterns.join(", "));
const result = await connected.callTool({ name: "submit_feedback", arguments: feedback });
assert.deepEqual(result.content, [
{ type: "text", text: "Feedback queued. It is emailed in the background, so delivery is not confirmed." },
diff --git a/mcp/packages/server/src/PenpotMcpServer.http.test.ts b/mcp/packages/server/src/PenpotMcpServer.http.test.ts
index 693e3197ab..d5534de879 100644
--- a/mcp/packages/server/src/PenpotMcpServer.http.test.ts
+++ b/mcp/packages/server/src/PenpotMcpServer.http.test.ts
@@ -126,6 +126,13 @@ test("passes an explicit Penpot session ID from the tool call to plugin dispatch
assert.match(JSON.stringify(body), /chosen-tab/);
});
+test("accepts tool calls with request bodies larger than 100 KiB", async (t) => {
+ t.mock.method(server.pluginBridge, "executePluginTask", async () => ({ data: "ok" }));
+ const code = `return "${"x".repeat(200_000)}".length;`;
+ const response = await modernRequest("tools/call", { name: "execute_code", arguments: { code } });
+ assert.equal(response.status, 200);
+});
+
test("supports older Streamable HTTP clients without allocating a session", async () => {
const client = new Client({ name: "legacy-test", version: "1" });
const transport = new StreamableHTTPClientTransport(new URL(`${baseUrl}/mcp`));
@@ -165,3 +172,90 @@ test("OAuth challenges missing credentials and accepts bearer and query tokens",
}
}
});
+
+/**
+ * Makes the plugin bridge answer each dispatched task at once with the given responses, in order.
+ */
+function answerTasks(t: { mock: any }, responses: Array>): void {
+ const bridge = server.pluginBridge as any;
+ t.mock.method(bridge.dispatcher, "dispatch", async (task: { id: string }) => {
+ bridge.pendingTasks.set(task.id, task);
+ bridge.handlePluginTaskResponse({ id: task.id, ...responses.shift() });
+ });
+}
+
+async function callExecuteCode(): Promise {
+ const response = await modernRequest(
+ "tools/call",
+ { name: "execute_code", arguments: { code: "return 1;" } },
+ "?userToken=alice"
+ );
+ const body = (await response.json()) as { result: CallToolResult };
+ assert.equal(response.status, 200, JSON.stringify(body));
+ return body.result;
+}
+
+const rollback = { fileIds: ["file-1"], pageIds: ["page-1"], shapeIds: ["shape-1", "shape-2"] };
+
+test("puts a warning first in the tool response that reports a rollback", async (t) => {
+ answerTasks(t, [
+ { success: true, data: { result: 1, log: "" }, rollbacks: [rollback] },
+ { success: true, data: { result: 2, log: "" } },
+ ]);
+
+ const first = await callExecuteCode();
+ const second = await callExecuteCode();
+
+ assert.equal(first.content.length, 2);
+ const [notice, data] = first.content;
+ assert.equal(notice.type, "text");
+ assert.match(notice.text, /CHANGES WERE ROLLED BACK/);
+ assert.match(notice.text, /Pages: page-1/);
+ assert.match(notice.text, /Shapes: shape-1, shape-2/);
+ assert.equal(data.type, "text");
+ assert.equal(JSON.parse(data.text).result, 1);
+
+ assert.equal(second.content.length, 1);
+});
+
+test("puts a rollback warning first in a failed tool response too", async (t) => {
+ answerTasks(t, [{ success: false, error: "Shape not found", rollbacks: [rollback] }]);
+
+ const result = await callExecuteCode();
+
+ assert.equal(result.content.length, 2);
+ const [notice, failure] = result.content;
+ assert.equal(notice.type, "text");
+ assert.match(notice.text, /CHANGES WERE ROLLED BACK/);
+ assert.equal(failure.type, "text");
+ assert.match(failure.text, /Tool execution failed: .*Shape not found/);
+});
+
+/**
+ * A plugin connection whose socket keeps the messages sent to it.
+ */
+function fakeConnection(): { socket: { readyState: number; send: (message: string) => void }; sent: unknown[] } {
+ const sent: unknown[] = [];
+ return { socket: { readyState: 1, send: (message: string) => sent.push(JSON.parse(message)) }, sent };
+}
+
+test("gives the rollbacks of a response that came after its task timed out back to the plugin", () => {
+ const bridge = server.pluginBridge as any;
+ const connection = fakeConnection();
+
+ bridge.handlePluginTaskResponse(
+ { id: "timed-out", success: true, data: { result: 1, log: "" }, rollbacks: [rollback] },
+ connection
+ );
+
+ assert.deepEqual(connection.sent, [{ type: "unclaimed-rollbacks", rollbacks: [rollback] }]);
+});
+
+test("sends nothing back for a late response without rollbacks", () => {
+ const bridge = server.pluginBridge as any;
+ const connection = fakeConnection();
+
+ bridge.handlePluginTaskResponse({ id: "timed-out", success: true, data: { result: 1, log: "" } }, connection);
+
+ assert.deepEqual(connection.sent, []);
+});
diff --git a/mcp/packages/server/src/PenpotMcpServer.ts b/mcp/packages/server/src/PenpotMcpServer.ts
index 445fb4ee4e..56f7ac5b2c 100644
--- a/mcp/packages/server/src/PenpotMcpServer.ts
+++ b/mcp/packages/server/src/PenpotMcpServer.ts
@@ -147,6 +147,14 @@ export class PenpotMcpServer {
*/
private readonly tenant: string;
+ /**
+ * Maximum size of a JSON request body, read from the `PENPOT_MCP_MAX_BODY_SIZE` environment variable.
+ *
+ * Accepts any value supported by Express' `json` body parser (e.g. `"10mb"`). Defaults to `"10mb"`,
+ * since tool calls such as `execute_code` can carry large payloads.
+ */
+ private readonly maxBodySize: string;
+
constructor(private isMultiUser: boolean = false) {
this.authentication = new McpAuthentication(process.env.PENPOT_MCP_AUTH_URI, isMultiUser);
// read port configuration from environment variables
@@ -156,6 +164,7 @@ export class PenpotMcpServer {
this.replHost = process.env.PENPOT_MCP_REPL_HOST ?? "localhost";
this.replPort = parseInt(process.env.PENPOT_MCP_REPL_PORT ?? "4403", 10);
this.tenant = process.env.PENPOT_TENANT ?? "default";
+ this.maxBodySize = process.env.PENPOT_MCP_MAX_BODY_SIZE ?? "10mb";
const toolTimeoutSecs = parseInt(process.env.PENPOT_MCP_TOOL_TIMEOUT_S ?? "120", 10);
this.configLoader = new ConfigurationLoader(process.cwd());
@@ -323,7 +332,7 @@ export class PenpotMcpServer {
async start(): Promise {
const { default: express } = await import("express");
this.app = express();
- this.app.use(express.json());
+ this.app.use(express.json({ limit: this.maxBodySize }));
this.setupHttpEndpoints();
diff --git a/mcp/packages/server/src/PluginBridge.ts b/mcp/packages/server/src/PluginBridge.ts
index 0c1136deea..340016f44f 100644
--- a/mcp/packages/server/src/PluginBridge.ts
+++ b/mcp/packages/server/src/PluginBridge.ts
@@ -1,8 +1,14 @@
import { WebSocket, WebSocketServer } from "ws";
import * as http from "http";
import { z } from "zod";
-import { AbstractPluginTask, PluginTask } from "./PluginTask";
-import { PluginTaskResponse, PluginTaskResult } from "@penpot/mcp-common";
+import { AbstractPluginTask, PluginTask, PluginTaskError } from "./PluginTask";
+import { RollbackNotices } from "./RollbackNotices";
+import {
+ ContentRollbackEvent,
+ PluginTaskResponse,
+ PluginTaskResult,
+ UnclaimedRollbacksMessage,
+} from "@penpot/mcp-common";
import { createLogger } from "./logger";
import type { PenpotMcpServer } from "./PenpotMcpServer";
import type { RedisBridge } from "./RedisBridge";
@@ -87,6 +93,11 @@ export class PluginBridge implements TaskDispatchHost {
private readonly taskConnections: Map = new Map();
private readonly dispatcher: TaskDispatcher;
+ /**
+ * Collector of the rollbacks that task responses report, per tool execution.
+ */
+ public readonly rollbackNotices = new RollbackNotices();
+
/**
* Creates the plugin bridge and starts its WebSocket server.
*
@@ -311,7 +322,9 @@ export class PluginBridge implements TaskDispatchHost {
* Handles responses from the plugin for completed tasks.
*
* Finds the pending task by ID and resolves or rejects its promise
- * based on the execution result.
+ * based on the execution result. A response that comes after its task
+ * timed out has no task to report its rollbacks to, so they go back to
+ * the plugin, which sends them with its next response.
*
* @param response - The plugin task response containing ID and result
* @param connection - The responding local connection, or undefined for Redis responses
@@ -320,6 +333,7 @@ export class PluginBridge implements TaskDispatchHost {
const task = this.pendingTasks.get(response.id);
if (!task) {
this.logger.info(`Received response for unknown task ID: ${response.id}`);
+ this.returnRollbacks(connection, response.rollbacks);
return;
}
@@ -338,15 +352,40 @@ export class PluginBridge implements TaskDispatchHost {
// Resolve or reject the task's promise based on the result
if (response.success) {
- task.resolveWithResult({ data: response.data });
+ task.resolveWithResult({ data: response.data, rollbacks: response.rollbacks });
} else {
- const error = new Error(response.error || "Task execution failed (details not provided)");
+ const error = new PluginTaskError(
+ response.error || "Task execution failed (details not provided)",
+ response.rollbacks
+ );
task.rejectWithError(error);
}
this.logger.info(`Task ${response.id} completed: success=${response.success}`);
}
+ /**
+ * Sends rollbacks that no tool execution received back to the plugin.
+ *
+ * @param connection - The plugin connection that reported them, if known
+ * @param rollbacks - The rollbacks of a response whose task is gone
+ */
+ private returnRollbacks(
+ connection: PenpotConnection | undefined,
+ rollbacks: ContentRollbackEvent[] | undefined
+ ): void {
+ if (!connection || !rollbacks || rollbacks.length === 0) {
+ return;
+ }
+ if (connection.socket.readyState !== 1) {
+ this.logger.warn("Plugin disconnected; %d rollback(s) of a late response are lost", rollbacks.length);
+ return;
+ }
+ const message: UnclaimedRollbacksMessage = { type: "unclaimed-rollbacks", rollbacks };
+ connection.socket.send(JSON.stringify(message));
+ this.logger.info("Returned %d rollback(s) of a late response to the plugin", rollbacks.length);
+ }
+
/**
* Rejects a still-pending task with the given error, releasing its correlation state.
*
@@ -385,6 +424,7 @@ export class PluginBridge implements TaskDispatchHost {
* Executes a plugin task by sending it to the connected Penpot plugin instance,
* either directly via WebSocket or indirectly via Redis (depending on the configuration),
* and awaiting the result.
+ * Rollbacks the response reports go to {@link rollbackNotices}.
*
* @param task - The plugin task to execute
* @param sessionId - The target session; when omitted, discovery must yield exactly one session
@@ -403,11 +443,20 @@ export class PluginBridge implements TaskDispatchHost {
userToken = sessionContext.userToken;
}
// attach the result handler before dispatch can reject the task
- const result = task.getResultPromise();
+ const resultPromise = task.getResultPromise();
void this.dispatcher.dispatch(task, userToken, sessionId).catch((error) => {
task.rejectWithError(error instanceof Error ? error : new Error(String(error)));
});
- return await result;
+ try {
+ const result = await resultPromise;
+ this.rollbackNotices.record(result.rollbacks);
+ return result;
+ } catch (error) {
+ if (error instanceof PluginTaskError) {
+ this.rollbackNotices.record(error.rollbacks);
+ }
+ throw error;
+ }
}
/**
diff --git a/mcp/packages/server/src/PluginTask.ts b/mcp/packages/server/src/PluginTask.ts
index 30a88c73de..ddab54a76c 100644
--- a/mcp/packages/server/src/PluginTask.ts
+++ b/mcp/packages/server/src/PluginTask.ts
@@ -5,7 +5,7 @@
* A task defines a specific operation for the plugin to execute along with
* strongly-typed parameters and provides request/response correlation.
*/
-import { PluginTaskRequest, PluginTaskResult } from "@penpot/mcp-common";
+import { ContentRollbackEvent, PluginTaskRequest, PluginTaskResult } from "@penpot/mcp-common";
import { randomUUID } from "crypto";
/**
@@ -153,3 +153,23 @@ export class PluginTask<
this.rejectResult(error);
}
}
+
+/**
+ * Error of a plugin task that failed in the plugin.
+ *
+ * Carries the rollbacks the failed task's response reported, which must reach the LLM like those of a
+ * successful response.
+ */
+export class PluginTaskError extends Error {
+ /**
+ * @param message - the error message reported by the plugin
+ * @param rollbacks - the rollbacks the response reported
+ */
+ constructor(
+ message: string,
+ public readonly rollbacks: ContentRollbackEvent[] = []
+ ) {
+ super(message);
+ this.name = "PluginTaskError";
+ }
+}
diff --git a/mcp/packages/server/src/RemotePluginTask.ts b/mcp/packages/server/src/RemotePluginTask.ts
index 368623a5a0..c4714d021c 100644
--- a/mcp/packages/server/src/RemotePluginTask.ts
+++ b/mcp/packages/server/src/RemotePluginTask.ts
@@ -1,4 +1,4 @@
-import { AbstractPluginTask } from "./PluginTask";
+import { AbstractPluginTask, PluginTaskError } from "./PluginTask";
import { PluginTaskResult } from "@penpot/mcp-common";
import type { RedisBridge } from "./RedisBridge";
@@ -43,6 +43,7 @@ export class RemotePluginTask extends AbstractPluginTask ({
+ fileIds: ["file-1"],
+ pageIds: [`page-${id}`],
+ shapeIds: shapes,
+});
+
+test("collects only the rollbacks recorded while its function runs", async () => {
+ const notices = new RollbackNotices();
+ notices.record([rollback("outside")]);
+
+ const [value, rollbacks] = await notices.collect(async () => {
+ notices.record([rollback("a")]);
+ await Promise.resolve();
+ notices.record([rollback("b")]);
+ return 42;
+ });
+
+ assert.equal(value, 42);
+ assert.deepEqual(rollbacks, [rollback("a"), rollback("b")]);
+});
+
+test("keeps the rollbacks of overlapping executions apart", async () => {
+ const notices = new RollbackNotices();
+ let release!: () => void;
+ const gate = new Promise((resolve) => (release = resolve));
+
+ const first = notices.collect(async () => {
+ await gate;
+ notices.record([rollback("a")]);
+ });
+ const second = notices.collect(async () => {
+ notices.record([rollback("b")]);
+ release();
+ });
+
+ const [[, a], [, b]] = await Promise.all([first, second]);
+ assert.deepEqual(a, [rollback("a")]);
+ assert.deepEqual(b, [rollback("b")]);
+});
+
+test("names each affected file, page and shape once", () => {
+ const text = RollbackNotices.describe([rollback("a", ["s1", "s2"]), rollback("b", ["s2"])]);
+
+ assert.match(text, /\(2 times\)/);
+ assert.match(text, /Files: file-1\n/);
+ assert.match(text, /Pages: page-a, page-b\n/);
+ assert.match(text, /Shapes: s1, s2$/);
+});
+
+test("lists at most 50 shapes", () => {
+ const shapes = Array.from({ length: 53 }, (_, i) => `s${i}`);
+
+ const text = RollbackNotices.describe([rollback("a", shapes)]);
+
+ assert.match(text, /s49 \(and 3 more\)$/);
+ assert.doesNotMatch(text, /s50/);
+});
diff --git a/mcp/packages/server/src/RollbackNotices.ts b/mcp/packages/server/src/RollbackNotices.ts
new file mode 100644
index 0000000000..67b746a38c
--- /dev/null
+++ b/mcp/packages/server/src/RollbackNotices.ts
@@ -0,0 +1,88 @@
+import { AsyncLocalStorage } from "async_hooks";
+import type { ContentRollbackEvent } from "@penpot/mcp-common";
+import { TextContent, ToolResponse } from "./ToolResponse";
+
+/**
+ * Collector of the rollbacks of rejected changes that plugin task responses report during one tool execution.
+ *
+ * The plugin reports a rollback with the first task response after it, so the rollback reaches the tool
+ * execution that follows the one which made the changes. {@link withNotice} then puts a warning at the
+ * top of that tool's response, so the LLM learns that some of its earlier changes are gone.
+ */
+export class RollbackNotices {
+ /**
+ * Maximum number of shape ids listed in a notice.
+ */
+ private static readonly MAX_LISTED_SHAPES = 50;
+
+ private readonly storage = new AsyncLocalStorage();
+
+ /**
+ * Runs the given function, collecting the rollbacks recorded while it runs.
+ *
+ * @param fn - the function to run (typically a tool's core logic)
+ * @returns the function's value and the collected rollbacks
+ */
+ async collect(fn: () => Promise): Promise<[T, ContentRollbackEvent[]]> {
+ const rollbacks: ContentRollbackEvent[] = [];
+ const value = await this.storage.run(rollbacks, fn);
+ return [value, rollbacks];
+ }
+
+ /**
+ * Records rollbacks reported by a plugin task response for the current tool execution.
+ * Rollbacks reported outside of {@link collect} are dropped.
+ *
+ * @param rollbacks - the rollbacks the response carried, if any
+ */
+ record(rollbacks: ContentRollbackEvent[] | undefined): void {
+ if (rollbacks && rollbacks.length > 0) {
+ this.storage.getStore()?.push(...rollbacks);
+ }
+ }
+
+ /**
+ * Puts a rollback warning at the top of the given response.
+ *
+ * @param response - the tool response
+ * @param rollbacks - the rollbacks collected while the tool ran
+ * @returns the response, with the warning first if there were rollbacks
+ */
+ static withNotice(response: ToolResponse, rollbacks: ContentRollbackEvent[]): ToolResponse {
+ if (rollbacks.length === 0) {
+ return response;
+ }
+ // clients may join text items without a separator
+ const notice = new TextContent(RollbackNotices.describe(rollbacks) + "\n\n");
+ response.content = [notice, ...response.content];
+ return response;
+ }
+
+ /**
+ * Describes the given rollbacks for the LLM.
+ *
+ * @param rollbacks - the rollbacks to describe (at least one)
+ */
+ static describe(rollbacks: ContentRollbackEvent[]): string {
+ const fileIds = new Set(rollbacks.flatMap((r) => r.fileIds));
+ const pageIds = new Set(rollbacks.flatMap((r) => r.pageIds));
+ const shapeIds = [...new Set(rollbacks.flatMap((r) => r.shapeIds))];
+
+ const listedShapes = shapeIds.slice(0, RollbackNotices.MAX_LISTED_SHAPES);
+ const unlistedShapes = shapeIds.length - listedShapes.length;
+
+ return (
+ "WARNING: CHANGES WERE ROLLED BACK. Since your previous Penpot tool call, the Penpot backend rejected " +
+ `some changes ${rollbacks.length > 1 ? `(${rollbacks.length} times) ` : ""}and the workspace undid them, ` +
+ "together with the rest of their undo steps and any later change to the same file. " +
+ "Changes you made in earlier calls may be gone, even though those calls succeeded, and the tool call " +
+ "that returned this warning may have run on the reverted data.\n" +
+ "Before you continue, read the affected pages and shapes again, check that they hold what you expect, " +
+ "and redo what is missing. Do not rely on shape references or data you kept from before.\n" +
+ `Files: ${[...fileIds].join(", ") || "none"}\n` +
+ `Pages: ${[...pageIds].join(", ") || "none"}\n` +
+ `Shapes: ${listedShapes.join(", ") || "none"}` +
+ (unlistedShapes > 0 ? ` (and ${unlistedShapes} more)` : "")
+ );
+ }
+}
diff --git a/mcp/packages/server/src/Tool.ts b/mcp/packages/server/src/Tool.ts
index 6ec44f2cb6..f6cee26a50 100644
--- a/mcp/packages/server/src/Tool.ts
+++ b/mcp/packages/server/src/Tool.ts
@@ -3,6 +3,7 @@ import "reflect-metadata";
import { TextResponse, ToolResponse } from "./ToolResponse";
import type { PenpotMcpServer, SessionContext } from "./PenpotMcpServer";
import { createLogger } from "./logger";
+import { RollbackNotices } from "./RollbackNotices";
/**
* An empty arguments class for tools that do not require any parameters.
@@ -44,9 +45,22 @@ export abstract class Tool {
* Executes the tool with automatic validation and type safety.
*
* This method handles the unknown args from the MCP protocol,
- * delegating to the type-safe implementation.
+ * delegating to the type-safe implementation. A rollback reported by a
+ * plugin task during the execution puts a warning first in the response.
*/
async execute(args: unknown): Promise {
+ const [response, rollbacks] = await this.mcpServer.pluginBridge.rollbackNotices.collect(() =>
+ this.executeAndReport(args)
+ );
+ return RollbackNotices.withNotice(response, rollbacks);
+ }
+
+ /**
+ * Executes the tool logic, turning a failure into an error response.
+ *
+ * @param args - the tool arguments
+ */
+ private async executeAndReport(args: unknown): Promise {
const executionId = ++Tool.executionCounter;
try {
let argsInstance: TArgs = args as TArgs;
diff --git a/mcp/packages/server/src/tools/SubmitFeedbackTool.ts b/mcp/packages/server/src/tools/SubmitFeedbackTool.ts
index 4c7b92f952..57273991fb 100644
--- a/mcp/packages/server/src/tools/SubmitFeedbackTool.ts
+++ b/mcp/packages/server/src/tools/SubmitFeedbackTool.ts
@@ -12,7 +12,9 @@ export class SubmitFeedbackArgs implements Feedback {
.min(1)
.max(120)
.regex(/\S/)
- .regex(/^\P{Cc}*$/u)
+ // the Unicode Cc category; `\P{Cc}` is avoided because clients that compile
+ // advertised patterns with other regex engines (e.g. Python) reject it
+ .regex(/^[^\x00-\x1F\x7F-\x9F]*$/)
.describe("Short, specific summary without line breaks or other control characters (max 120 characters)."),
feedback: z
.string()
diff --git a/mcp/pnpm-lock.yaml b/mcp/pnpm-lock.yaml
index 64b7eae00a..f005fb60ac 100644
--- a/mcp/pnpm-lock.yaml
+++ b/mcp/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
@@ -204,8 +204,8 @@ importers:
packages/plugin:
dependencies:
'@penpot/plugin-styles':
- specifier: 1.5.0
- version: 1.5.0
+ specifier: 1.6.0
+ version: 1.6.0
'@penpot/plugin-types':
specifier: link:../../../plugins/libs/plugin-types
version: link:../../../plugins/libs/plugin-types
@@ -675,8 +675,8 @@ packages:
'@oxc-project/types@0.155.0':
resolution: {integrity: sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==}
- '@penpot/plugin-styles@1.5.0':
- resolution: {integrity: sha512-rwXFBRPd0IZs3ens+eRT8oA5WqkQgF6xlW6fCfH7U1NHRjej9HH7vTGXmfjoIVml6Xx1sbyYHZVxkQC8Ub8+zA==}
+ '@penpot/plugin-styles@1.6.0':
+ resolution: {integrity: sha512-vmIDYbQqIcTPxYer7/C1nmo5QJyErTI4ZcFNELuENMnLcs+UeAFWtqsMENGoY6jfldEujbUwoglS9hBKI11x5Q==}
'@pinojs/redact@0.4.0':
resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==}
@@ -1874,7 +1874,7 @@ snapshots:
'@oxc-project/types@0.155.0': {}
- '@penpot/plugin-styles@1.5.0': {}
+ '@penpot/plugin-styles@1.6.0': {}
'@pinojs/redact@0.4.0': {}
diff --git a/mcp/pnpm-workspace.yaml b/mcp/pnpm-workspace.yaml
index 5aa8300f88..6e1adb0a9f 100644
--- a/mcp/pnpm-workspace.yaml
+++ b/mcp/pnpm-workspace.yaml
@@ -14,6 +14,8 @@ minimumReleaseAgeExclude:
- fast-uri@3.1.3 || 3.1.4 || 3.1.5
- ip-address@10.2.1 || 10.2.2 || 10.3.1
- hono@4.12.34
+ - "@penpot/plugin-styles@1.6.0"
+ - "@penpot/plugin-types@1.6.0"
packages:
- "packages/common"
diff --git a/media-processor/package.json b/media-processor/package.json
index 29001cae44..aa7b3f7449 100644
--- a/media-processor/package.json
+++ b/media-processor/package.json
@@ -14,7 +14,7 @@
"fmt:check": "prettier --check src/ test/",
"clean": "rm -rf dist/"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"dependencies": {
"express": "^5.2.1",
"multer": "^2.4.0",
diff --git a/media-processor/pnpm-lock.yaml b/media-processor/pnpm-lock.yaml
index eb00e8a1b9..e5c4f4debe 100644
--- a/media-processor/pnpm-lock.yaml
+++ b/media-processor/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/operations/2.19.0-migrate-legacy-file-data.md b/operations/2.19.0-migrate-legacy-file-data.md
new file mode 100644
index 0000000000..df3c82d917
--- /dev/null
+++ b/operations/2.19.0-migrate-legacy-file-data.md
@@ -0,0 +1,323 @@
+# Migrate legacy file payloads to `file_data`
+
+Online procedure to move the legacy file payloads (`file.data` and labelled
+`file_change.data`) to `file_data` and to delete the orphan `file_change`
+rows that carry `data` without a `label`.
+
+- Migration: `backend/src/app/migrations/sql/0157-migrate-legacy-file-data.sql`
+- Issue:
+
+The result has to be **exactly** the end state of the migration, because on a
+big instance the migration is marked as applied and never runs. This procedure
+runs the same statements by hand, in small batched transactions.
+
+Use this only if the automatic migration would take too long on the instance
+(millions of snapshots, hundreds of GB in TOAST). Small and medium instances
+run the migration automatically on boot and need nothing from here.
+
+Run it before upgrading to 2.19.0.
+
+## What changes
+
+- Every `file_change` row with `data IS NOT NULL AND label IS NOT NULL`
+ (a snapshot) gets a `file_data` row with `type='snapshot'`,
+ `backend='db'`, `metadata=NULL`, `created_at` from `created_at`,
+ `modified_at` from `updated_at`, and `deleted_at` copied as is. Then the
+ legacy `file_change.data` is set to `NULL`.
+- Every `file` row with `data IS NOT NULL` gets a `file_data` row with
+ `type='main'` (and `file_id = id`), the same `backend`/`metadata` mapping
+ and the timestamps copied one to one. Then the legacy `file.data` is set
+ to `NULL`.
+- Every `file_change` row with `data IS NOT NULL AND label IS NULL` (an
+ orphan revision) is deleted outright. No read path reaches these rows:
+ snapshots resolve through `label IS NOT NULL`, lagged changes read the
+ `changes` column (not `data`), and nothing references `file_change` rows
+ from other tables. Rows carrying `deleted_at` would be collected by
+ `objects-gc` anyway; undated ones would sit in the table and its TOAST
+ for ever.
+
+`deleted_at` is copied on purpose: the write path always writes it to
+`file_data`, the GC only collects `file_data` rows carrying it, and reads
+never filter on `file_data.deleted_at`. Without the copy, migrated rows of
+deleted files and snapshots would be orphaned: nobody reads them and nobody
+collects them.
+
+## Why this mechanism
+
+A single-statement copy inside the transaction of the startup does not fit a
+big instance, so the copy runs here in small batched transactions:
+
+- One statement is one transaction. Never wrap several batches in one
+ transaction. Run a single stream of batches at a time.
+- `FOR UPDATE SKIP LOCKED`: the batches never block the application and are
+ never blocked by it. A row skipped by a lock stays in the index and the
+ next execution picks it up.
+- Partial temp indexes hold only the pending rows, so every execution finds
+ its next batch without rescanning what is done, and migrated rows
+ (`data = NULL`) and deleted orphans drop out of the index on their own.
+ No cursor is needed. Do not `VACUUM` mid-run to clean them: it would walk
+ the whole TOAST. Drop them at the end.
+- No `ON CONFLICT DO NOTHING` here on purpose: a duplicate key must abort
+ the batch (atomically: it migrates nothing) so the conflict is
+ investigated instead of silently skipped. The automatic migration is
+ lenient so a small instance never fails to boot; here strictness is what
+ keeps the data auditable.
+
+---
+
+## Phase 0 — Before anything
+
+### 0.1 Mark the migration as applied
+
+Do this first: it registers the automatic migration as done, so a backend
+restart mid-procedure never runs it on boot (it would copy the whole legacy
+payload inside the startup transaction).
+
+```sql
+INSERT INTO migrations (module, step)
+VALUES ('main', '0157-migrate-legacy-file-data');
+```
+
+The module is `main` and the step has no `.sql` (see
+`backend/src/app/util/migrations.clj`).
+
+### 0.2 Counters
+
+Repeat the counters any time to follow the progress. Each batch loop ends
+when it returns 0; the check in phase 3 confirms nothing is pending.
+
+```sql
+-- Remaining legacy rows.
+SELECT (SELECT count(*) FROM file_change
+ WHERE data IS NOT NULL AND label IS NOT NULL) AS snapshots_remaining,
+ (SELECT count(*) FROM file_change
+ WHERE data IS NOT NULL AND label IS NULL) AS orphans_remaining,
+ (SELECT count(*) FROM file
+ WHERE data IS NOT NULL) AS files_remaining;
+```
+
+Optional, reference only: how much is already migrated. Skip it unless
+curious: it is a full count over the partitioned table and can take a
+while on a big instance. For progress, the remaining counters above and
+the per-batch counts are enough.
+
+```sql
+SELECT (SELECT count(*) FROM file_data
+ WHERE type = 'snapshot' AND backend = 'db') AS snapshots_in_file_data,
+ (SELECT count(*) FROM file_data
+ WHERE type = 'main' AND backend = 'db') AS mains_in_file_data;
+```
+
+## Phase 1 — Temp indexes
+
+Required by the batch loops, created before them. `CONCURRENTLY` so writes
+are not blocked; each statement is its own transaction.
+
+```sql
+CREATE INDEX CONCURRENTLY tmp_file_change_mig ON file_change (id)
+ WHERE data IS NOT NULL AND label IS NOT NULL;
+CREATE INDEX CONCURRENTLY tmp_file_change_orphan_mig ON file_change (id)
+ WHERE data IS NOT NULL AND label IS NULL;
+CREATE INDEX CONCURRENTLY tmp_file_mig ON file (id)
+ WHERE data IS NOT NULL;
+```
+
+A failed `CONCURRENTLY` build stays `INVALID` and the planner ignores it
+silently, so verify all three indexes exist and are valid:
+
+```sql
+SELECT indexrelid::regclass AS index, indisvalid AS valid
+ FROM pg_index
+ WHERE indexrelid::regclass::text LIKE 'tmp_%mig';
+```
+
+## Phase 2 — Batch loops
+
+Repeat each statement until it returns 0. Lower `LIMIT` if a batch hits
+`statement_timeout` or memory pressure (`SET statement_timeout = '15min'`
+per batch is the usual guard).
+
+### 2.1 Delete orphans
+
+Orphans first (or interleaved with the other two; the row sets are
+disjoint, and deleting TOAST-heavy rows early frees space for the rest):
+
+```sql
+WITH doomed AS (
+ SELECT id
+ FROM file_change
+ WHERE data IS NOT NULL
+ AND label IS NULL
+ ORDER BY id
+ LIMIT 10000
+ FOR UPDATE SKIP LOCKED
+),
+del AS (
+ DELETE FROM file_change fc
+ USING doomed
+ WHERE fc.id = doomed.id
+ RETURNING fc.id
+)
+SELECT count(*) AS deleted
+ FROM del;
+```
+
+### 2.2 Migrate snapshots
+
+Repeat until it returns 0 (`~120 MB` per transaction at `LIMIT 10000`):
+
+```sql
+WITH batch AS (
+ SELECT id, file_id, data, created_at, updated_at, deleted_at
+ FROM file_change
+ WHERE data IS NOT NULL
+ AND label IS NOT NULL
+ ORDER BY id
+ LIMIT 10000
+ FOR UPDATE SKIP LOCKED
+),
+-- NO ON CONFLICT on purpose: duplicates must abort (see above).
+-- upd reads from ins (RETURNING), not from batch.
+ins AS (
+ INSERT INTO file_data (file_id, id, created_at, modified_at, deleted_at,
+ type, backend, metadata, data)
+ SELECT file_id, id, created_at, updated_at, deleted_at,
+ 'snapshot', 'db', NULL, data
+ FROM batch
+ RETURNING file_id, id
+),
+-- Only the origin of what was really inserted is nulled. On conflict
+-- the whole transaction aborts, so ins == batch whenever this runs.
+upd AS (
+ UPDATE file_change fc
+ SET data = NULL
+ FROM ins
+ WHERE ins.file_id = fc.file_id
+ AND ins.id = fc.id
+ RETURNING fc.id
+)
+SELECT count(*) AS migrated
+ FROM upd;
+```
+
+### 2.3 Migrate files
+
+Repeat until it returns 0 (tune `LIMIT` to the average `file.data` size;
+start at 5000):
+
+```sql
+WITH batch AS (
+ SELECT id, data, created_at, modified_at, deleted_at
+ FROM file
+ WHERE data IS NOT NULL
+ ORDER BY id
+ LIMIT 5000
+ FOR UPDATE SKIP LOCKED
+),
+ins AS (
+ INSERT INTO file_data (file_id, id, created_at, modified_at, deleted_at,
+ type, backend, metadata, data)
+ SELECT id, id, created_at, modified_at, deleted_at,
+ 'main', 'db', NULL, data
+ FROM batch
+ RETURNING file_id, id
+),
+upd AS (
+ UPDATE file f
+ SET data = NULL
+ FROM ins
+ WHERE ins.file_id = f.id
+ AND ins.id = f.id
+ RETURNING f.id
+)
+SELECT count(*) AS migrated
+ FROM upd;
+```
+
+### 2.4 Duplicate keys
+
+If a batch aborts on duplicate key, stop and do not blind-retry it: it
+means `file_data` already holds that key. Locate the overlap:
+
+```sql
+-- Snapshots with legacy data AND a file_data key already present.
+SELECT c.file_id, c.id, c.created_by, c.deleted_at,
+ pg_size_pretty(length(c.data)) AS legacy_size,
+ pg_size_pretty(length(fd.data)) AS file_data_size,
+ fd.modified_at AS file_data_modified_at
+ FROM file_change c
+ JOIN file_data fd ON fd.file_id = c.file_id
+ AND fd.id = c.id
+ AND fd.type = 'snapshot'
+ WHERE c.data IS NOT NULL
+ ORDER BY c.id
+ LIMIT 20;
+
+-- Files with legacy data AND a file_data key already present.
+SELECT f.id,
+ pg_size_pretty(length(f.data)) AS legacy_size,
+ pg_size_pretty(length(fd.data)) AS file_data_size,
+ fd.modified_at AS file_data_modified_at
+ FROM file f
+ JOIN file_data fd ON fd.file_id = f.id
+ AND fd.id = f.id
+ AND fd.type = 'main'
+ WHERE f.data IS NOT NULL
+ ORDER BY f.id
+ LIMIT 20;
+```
+
+Resolve manually, one row at a time, only when `file_data` holds equal or
+newer data (compare `modified_at` and sizes above): the legacy copy is
+redundant, null the origin, leave `file_data` untouched.
+
+```sql
+-- UPDATE file_change SET data = NULL WHERE file_id = '...' AND id = '...';
+-- UPDATE file SET data = NULL WHERE id = '...';
+```
+
+## Phase 3 — Verification and cleanup
+
+Each loop above already ended returning 0; confirm nothing is pending (if
+anything shows up, repeat that loop):
+
+```sql
+-- Remaining legacy rows: all three must read 0.
+SELECT (SELECT count(*) FROM file_change
+ WHERE data IS NOT NULL AND label IS NOT NULL) AS snapshots_remaining,
+ (SELECT count(*) FROM file_change
+ WHERE data IS NOT NULL AND label IS NULL) AS orphans_remaining,
+ (SELECT count(*) FROM file
+ WHERE data IS NOT NULL) AS files_remaining;
+```
+
+```sql
+-- Spot check: migrated rows exist in file_data with backend 'db'.
+SELECT fd.file_id, fd.id, fd.type, fd.backend,
+ pg_size_pretty(length(fd.data)) AS size_in_file_data
+ FROM file_data fd
+ ORDER BY fd.file_id, fd.id
+ LIMIT 5;
+```
+
+Drop the temp indexes first, so the vacuum below skips them (each batch
+left its dead entries behind), then reclaim the dead tuples and refresh
+planner stats. Plain `VACUUM` does not block writes; `VERBOSE` prints
+progress, which matters on big tables:
+
+```sql
+DROP INDEX CONCURRENTLY tmp_file_change_mig;
+DROP INDEX CONCURRENTLY tmp_file_change_orphan_mig;
+DROP INDEX CONCURRENTLY tmp_file_mig;
+VACUUM (ANALYZE ON, VERBOSE ON) file_change;
+VACUUM (ANALYZE ON, VERBOSE ON) file;
+-- file_data is partitioned into 16 tables: the statement walks all of
+-- them, so it can take a while. Without it the planner stats of the fresh
+-- inserts stay stale until autovacuum catches up.
+VACUUM (ANALYZE ON, VERBOSE ON) file_data;
+```
+
+## Phase 4 — Upgrade
+
+The migration was marked as applied in phase 0, so the new version skips
+it on boot. Deploy normally.
diff --git a/package.json b/package.json
index 5a14003bcd..a27aad2cc9 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"license": "MPL-2.0",
"author": "Kaleidos INC Sucursal en España SL",
"private": true,
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"repository": {
"type": "git",
"url": "https://github.com/penpot/penpot"
diff --git a/plugins/CHANGELOG.md b/plugins/CHANGELOG.md
index 08b8e2d58e..5a6b8cd350 100644
--- a/plugins/CHANGELOG.md
+++ b/plugins/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 1.6.0 (Unreleased)
+## 1.6.0 (2026-11-10)
### 🚀 Features
@@ -10,13 +10,17 @@
- **plugin-types:** Added `paddingType` (`'simple' | 'multiple'`) to flex and grid layouts and `marginType` (`'simple' | 'multiple'`) to layout children, exposing whether the four padding/margin sides are mirrored or honoured independently.
- **plugin-types**: Added `waitForLayoutUpdate` to wait until pending layout updates have finished. It rejects when the optional timeout elapses, defaulting to 30 seconds so a wait never hangs.
- **plugin-types**: Added `waitForLayoutUpdate` to the `Shape` interface to wait until the pending layout updates of a shape and its children have finished
+- **plugin-types:** Added the `contentrollback` event and the `ContentRollback` type. The event fires after the backend rejected some changes and the workspace undid them, with the ids of the files, pages and shapes affected. It fires once the undone data is in the workspace, also when the workspace has to reload the file to undo the changes.
- **plugin-types:** `Stroke` exposes per-side widths for boards and rectangles, also supported by `borderWidth` and `dimension` tokens. Read-only `strokeWidthType` reports `simple` when all four effective widths match, otherwise `multiple`.
### 🩹 Fixes
+- **plugin-runtime:** `LibraryComponent.instance()`, `createShapeFromSvg()` and `createShapeFromSvgWithImages()` now create shapes at the page root instead of inside a board at the page origin. Closes #12086.
- **plugin-types, plugin-runtime:** Dashboard property setters now update values after backend success and log failures without interrupting the workspace. File moves reject projects in other teams, backend rejections include their type and code, and `project.fileCount` stays at its listing snapshot. Duplicated projects include their file count and pinned state.
- **plugin-runtime:** Cancel plugin loads before they execute after unloading or logout, and allow reopening plugins that close during startup.
- **plugins-runtime**: `library.connectLibrary()` now resolves once the library's assets are loaded; it used to resolve with an empty library the first time. `library.connected` and `library.availableLibraries()` ignore files opened earlier in the same tab, which used to show up as connected and be left out of the available libraries.
+- **plugins-runtime:** Writes now fail with an error while the workspace cannot take them (saves failing, a user who cannot edit, a version preview, a canvas that stopped rendering), whatever the `throwValidationErrors` flag. They used to change the workspace with edits that would never be saved. The error says why. The Inspect tab does not block writes, and undo blocks still open and close.
+- **plugins-runtime:** Writes that wait for the server (`createShapeFromSvgWithImages`, `uploadMediaData`, `uploadMediaUrl`, `connectLibrary`) check again when the server answers. If the workspace turned read-only meanwhile (a save failed), the promise rejects with the read-only error: no shape is added and no library is linked. An image the server already stored stays in the file's media, unused.
- **plugins-runtime:** `LibraryComponent.remove()` now rejects linked-library and missing component handles, and does nothing for an already deleted component.
- **plugins-runtime**: An interaction obtained from `Shape.interactions` now keeps addressing that interaction instead of the position it held when the array was read. Removing every interaction of a shape from a single read removes all of them rather than leaving some behind, and writing through a held interaction after an earlier one is removed no longer lands on a different interaction.
- **plugins-runtime**: `Shape.removeInteraction()` now rejects an interaction belonging to a different shape with a validation error, instead of removing whichever interaction sat at the same position on the target shape.
diff --git a/plugins/apps/colors-to-tokens-plugin/package.json b/plugins/apps/colors-to-tokens-plugin/package.json
index 4c9690e2a2..cfed5c5f6b 100644
--- a/plugins/apps/colors-to-tokens-plugin/package.json
+++ b/plugins/apps/colors-to-tokens-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build colors-to-tokens-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build colors-to-tokens-plugin",
"build:dev": "ng build colors-to-tokens-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=colors-to-tokens-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=colors-to-tokens-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/composable-test-suite/ci/run-ci.ts b/plugins/apps/composable-test-suite/ci/run-ci.ts
index d9403c6793..69186e9436 100644
--- a/plugins/apps/composable-test-suite/ci/run-ci.ts
+++ b/plugins/apps/composable-test-suite/ci/run-ci.ts
@@ -146,7 +146,7 @@ async function setupMockedRoutes(page: Page): Promise {
route.fulfill({
status: 200,
contentType: "application/javascript",
- body: 'var penpotFlags = "";\n',
+ body: 'var penpotFlags = "disable-admin-console";\n',
})
);
diff --git a/plugins/apps/composable-test-suite/package.json b/plugins/apps/composable-test-suite/package.json
index f12e809fe0..81261c19e9 100644
--- a/plugins/apps/composable-test-suite/package.json
+++ b/plugins/apps/composable-test-suite/package.json
@@ -27,5 +27,5 @@
"vite": "^8.3.2",
"vite-live-preview": "^0.4.0"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/contrast-plugin/package.json b/plugins/apps/contrast-plugin/package.json
index 641618631d..d773fe0297 100644
--- a/plugins/apps/contrast-plugin/package.json
+++ b/plugins/apps/contrast-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build contrast-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build contrast-plugin",
"build:dev": "ng build contrast-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=contrast-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=contrast-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/create-palette-plugin/package.json b/plugins/apps/create-palette-plugin/package.json
index d52baaa757..016063ea11 100644
--- a/plugins/apps/create-palette-plugin/package.json
+++ b/plugins/apps/create-palette-plugin/package.json
@@ -12,5 +12,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/e2e/package.json b/plugins/apps/e2e/package.json
index d9c64e6bac..f432a1e113 100644
--- a/plugins/apps/e2e/package.json
+++ b/plugins/apps/e2e/package.json
@@ -7,5 +7,5 @@
"test": "vitest",
"lint": "eslint ."
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/example-styles/package.json b/plugins/apps/example-styles/package.json
index 227f8b7a9f..a30835a099 100644
--- a/plugins/apps/example-styles/package.json
+++ b/plugins/apps/example-styles/package.json
@@ -11,5 +11,5 @@
"serve": "vite preview",
"lint": "eslint ."
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/icons-plugin/package.json b/plugins/apps/icons-plugin/package.json
index 31f25c5e8a..936de38fe3 100644
--- a/plugins/apps/icons-plugin/package.json
+++ b/plugins/apps/icons-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build icons-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build icons-plugin",
"build:dev": "ng build icons-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=icons-plugin",
"build:plugin:watch": "node ../../tools/scripts/build-plugin.mjs --plugin=icons-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/lorem-ipsum-plugin/package.json b/plugins/apps/lorem-ipsum-plugin/package.json
index f5d5be5541..34eab294e3 100644
--- a/plugins/apps/lorem-ipsum-plugin/package.json
+++ b/plugins/apps/lorem-ipsum-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build lorem-ipsum-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build lorem-ipsum-plugin",
"build:dev": "ng build lorem-ipsum-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=lorem-ipsum-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=lorem-ipsum-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/plugin-api-test-suite/README.md b/plugins/apps/plugin-api-test-suite/README.md
index a04657cfff..2504756974 100644
--- a/plugins/apps/plugin-api-test-suite/README.md
+++ b/plugins/apps/plugin-api-test-suite/README.md
@@ -247,13 +247,17 @@ with `name`/`pinned`/`shared` properties and `open`, `moveTo`, `duplicate` and
`remove` methods. `management.test.ts` shows the patterns:
- Put every team and project a test creates under a name from
- `temporaryName()` (`src/framework/temporary.ts`). Tests delete the teams they
- create; the live CI driver deletes the teams and projects with that prefix
- after the run. Runs from the plugin UI leave the projects behind. The tests
- need nothing set up beforehand.
-- Assigning `name`, `pinned` or `shared` updates the object at once and saves
- in the background. To check the saved result, list again inside
- `waitForAsync()` (`src/tests/wait.ts`).
+ `temporaryName()` (`src/framework/temporary.ts`). The API cannot delete
+ teams, so the live CI driver deletes the teams and projects with that prefix
+ after the run. Runs from the plugin UI leave them behind. The tests need
+ nothing set up beforehand.
+- Assigning `name`, `pinned` or `shared` saves to the backend first and updates
+ the object only when the save succeeds. Wait for the new value with
+ `waitFor()` (`src/tests/wait.ts`) before reading it; to check what the
+ backend stored, list again inside `waitForAsync()`.
+- `Project.fileCount` is the count when the project was listed; creating or
+ moving files does not change it. List the project again to see the new
+ count.
- Shape, page, file and library objects taken before `file.open()` (or
`openFile`) are stale afterwards; look them up again in the new file.
`ctx.board` belongs to the file the test started in, so only use it there.
diff --git a/plugins/apps/plugin-api-test-suite/ci/run-ci.ts b/plugins/apps/plugin-api-test-suite/ci/run-ci.ts
index acf6904299..535418577c 100644
--- a/plugins/apps/plugin-api-test-suite/ci/run-ci.ts
+++ b/plugins/apps/plugin-api-test-suite/ci/run-ci.ts
@@ -309,7 +309,7 @@ async function setupMockedRoutes(page: Page): Promise {
route.fulfill({
status: 200,
contentType: 'application/javascript',
- body: 'var penpotFlags = "";\n',
+ body: 'var penpotFlags = "disable-admin-console";\n',
}),
);
diff --git a/plugins/apps/plugin-api-test-suite/package.json b/plugins/apps/plugin-api-test-suite/package.json
index 0927a7388f..03a09c7c00 100644
--- a/plugins/apps/plugin-api-test-suite/package.json
+++ b/plugins/apps/plugin-api-test-suite/package.json
@@ -20,5 +20,5 @@
"devDependencies": {
"playwright": "^1.63.0"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/plugin-api-test-suite/src/tests/components.test.ts b/plugins/apps/plugin-api-test-suite/src/tests/components.test.ts
index 92d68fd6aa..b2c16486f4 100644
--- a/plugins/apps/plugin-api-test-suite/src/tests/components.test.ts
+++ b/plugins/apps/plugin-api-test-suite/src/tests/components.test.ts
@@ -64,6 +64,20 @@ describe('Component instances', () => {
expect(inst.isVariantHead()).toBeFalsy();
});
+ // instance() places the copy at the page origin; a board covering that point
+ // must not capture it.
+ test('instance creates the copy at the page root', (ctx) => {
+ ctx.board.x = 0;
+ ctx.board.y = 0;
+ const inst = makeComponent(ctx).instance();
+ try {
+ expect(inst.parent?.id).toBe(ctx.penpot.root?.id);
+ expect(ctx.board.children.map((c) => c.id)).not.toContain(inst.id);
+ } finally {
+ inst.remove();
+ }
+ });
+
test('component navigation methods return shapes', (ctx) => {
const inst = instanceOf(ctx);
expect(inst.componentRoot()).toBeDefined();
diff --git a/plugins/apps/plugin-api-test-suite/src/tests/management.test.ts b/plugins/apps/plugin-api-test-suite/src/tests/management.test.ts
index 1c451f5ac1..67e96d83b6 100644
--- a/plugins/apps/plugin-api-test-suite/src/tests/management.test.ts
+++ b/plugins/apps/plugin-api-test-suite/src/tests/management.test.ts
@@ -193,6 +193,7 @@ describe('Management', () => {
try {
team.name = renamed;
+ await waitFor(() => team.name === renamed, { timeout: 5000 });
expect(team.name).toBe(renamed);
await waitForAsync(
async () => (await currentTeam(ctx)).name === renamed,
@@ -225,7 +226,9 @@ describe('Management', () => {
expect(file.projectId).toBe(created.id);
expect(file.teamId).toBe(team.id);
expect(file.shared).toBe(false);
- expect(created.fileCount).toBe(1);
+ // fileCount is a listing snapshot, so list the project again.
+ expect(created.fileCount).toBe(0);
+ expect((await listedProject(ctx, created.id))?.fileCount).toBe(1);
expect((await created.listFiles()).map((f) => f.id)).toEqual([file.id]);
// Creating does not navigate.
expect(ctx.penpotMgmt.workspace).toEqual(home);
@@ -240,6 +243,9 @@ describe('Management', () => {
created.name = renamed;
created.pinned = true;
+ await waitFor(() => created.name === renamed && created.pinned, {
+ timeout: 5000,
+ });
expect(created.name).toBe(renamed);
expect(created.pinned).toBe(true);
@@ -282,20 +288,18 @@ describe('Management', () => {
name: temporaryName('team'),
});
- try {
- const moved = await team.createProject({
- name: temporaryName('moved'),
- });
- await moved.moveTo(target);
+ // Teams cannot be deleted through the API; the live CI driver deletes
+ // the temporary team after the run.
+ const moved = await team.createProject({
+ name: temporaryName('moved'),
+ });
+ await moved.moveTo(target);
- expect(moved.teamId).toBe(target.id);
- expect((await target.listProjects()).map((p) => p.id)).toContain(
- moved.id,
- );
- expect(await listedProject(ctx, moved.id)).toBeUndefined();
- } finally {
- await target.remove();
- }
+ expect(moved.teamId).toBe(target.id);
+ expect((await target.listProjects()).map((p) => p.id)).toContain(
+ moved.id,
+ );
+ expect(await listedProject(ctx, moved.id)).toBeUndefined();
});
});
@@ -305,6 +309,7 @@ describe('Management', () => {
const parent = await temporaryProject(ctx);
file.name = ' Renamed ';
+ await waitFor(() => file.name === 'Renamed', { timeout: 5000 });
expect(file.name).toBe('Renamed');
await waitForAsync(
async () => (await listedFile(parent, file.id))?.name === 'Renamed',
@@ -361,6 +366,9 @@ describe('Management', () => {
expect(ctx.penpotMgmt.workspace.fileName).toBe(`${original} (renamed)`);
} finally {
file.name = original;
+ await waitFor(() => ctx.penpotMgmt.workspace.fileName === original, {
+ timeout: 5000,
+ });
}
});
});
@@ -460,6 +468,7 @@ describe('Management', () => {
);
file.shared = true;
+ await waitFor(() => file.shared, { timeout: 5000 });
expect(file.shared).toBe(true);
await waitForAsync(isListed);
expect(await isListed()).toBe(true);
diff --git a/plugins/apps/plugin-api-test-suite/src/tests/shapes-factories.test.ts b/plugins/apps/plugin-api-test-suite/src/tests/shapes-factories.test.ts
index 6dc8be8fa5..eb0782cae0 100644
--- a/plugins/apps/plugin-api-test-suite/src/tests/shapes-factories.test.ts
+++ b/plugins/apps/plugin-api-test-suite/src/tests/shapes-factories.test.ts
@@ -325,4 +325,41 @@ describe('Shapes', () => {
expect(a.x).toBeCloseTo(10, 0);
});
});
+
+ // The factories place new shapes at the page origin. A board covering that
+ // point must not capture them: they belong to the page root until the plugin
+ // reparents them.
+ describe('Placement', () => {
+ const svg =
+ '' +
+ ' ';
+
+ test('createShapeFromSvg creates the shape at the page root', (ctx) => {
+ ctx.board.x = 0;
+ ctx.board.y = 0;
+ const group = ctx.penpot.createShapeFromSvg(svg);
+ expect(group).not.toBeNull();
+ if (!group) return;
+ try {
+ expect(group.parent?.id).toBe(ctx.penpot.root?.id);
+ expect(ctx.board.children.map((c) => c.id)).not.toContain(group.id);
+ } finally {
+ group.remove();
+ }
+ });
+
+ test('createShapeFromSvgWithImages creates the shape at the page root', async (ctx) => {
+ ctx.board.x = 0;
+ ctx.board.y = 0;
+ const group = await ctx.penpot.createShapeFromSvgWithImages(svg);
+ expect(group).not.toBeNull();
+ if (!group) return;
+ try {
+ expect(group.parent?.id).toBe(ctx.penpot.root?.id);
+ expect(ctx.board.children.map((c) => c.id)).not.toContain(group.id);
+ } finally {
+ group.remove();
+ }
+ });
+ });
});
diff --git a/plugins/apps/plugin-api-test-suite/src/tests/variants.test.ts b/plugins/apps/plugin-api-test-suite/src/tests/variants.test.ts
index 451e75f91b..ace7b44d32 100644
--- a/plugins/apps/plugin-api-test-suite/src/tests/variants.test.ts
+++ b/plugins/apps/plugin-api-test-suite/src/tests/variants.test.ts
@@ -41,6 +41,27 @@ function sameIds(a: string[], b: string[]): boolean {
return a.length === b.length && a.every((id, i) => id === b[i]);
}
+// Value of the first property for each variant component, in variant order.
+function firstPropertyValues(container: VariantContainer): string[] {
+ const variants = container.variants;
+ if (!variants) return [];
+ const property = variants.properties[0];
+ return variants
+ .variantComponents()
+ .map((c) => (c as LibraryVariantComponent).variantProps[property]);
+}
+
+function variantValueOf(
+ container: VariantContainer,
+ componentId: string,
+): string | undefined {
+ const variants = container.variants;
+ const component = variants
+ ?.variantComponents()
+ .find((c) => c.id === componentId) as LibraryVariantComponent | undefined;
+ return component?.variantProps[variants!.properties[0]];
+}
+
// Polls until the condition holds. On timeout it returns normally so the
// assertion that follows reports the actual mismatch.
async function waitFor(
@@ -134,6 +155,72 @@ describe('Variants', () => {
expect(variantComponentIds(container)).toEqual(expected);
});
+ // The components built here all share the name "Rectangle". Combining
+ // components with the same name must give every variant a unique,
+ // non-empty value, numbered in the combine order (#12878).
+ test('createVariantFromComponents gives same-name components unique values in input order', async (ctx) => {
+ const a = componentWithMain(ctx);
+ const b = componentWithMain(ctx);
+ const c = componentWithMain(ctx);
+ const container = ctx.penpot.createVariantFromComponents([
+ c.main,
+ a.main,
+ b.main,
+ ]);
+ const expected = ['Value 1', 'Value 2', 'Value 3'];
+ await waitFor(() => sameIds(firstPropertyValues(container), expected));
+ expect(firstPropertyValues(container)).toEqual(expected);
+ expect(variantComponentIds(container)).toEqual([
+ c.comp.id,
+ a.comp.id,
+ b.comp.id,
+ ]);
+ });
+
+ test('combineAsVariants gives same-name components unique values in combine order', async (ctx) => {
+ const a = componentWithMain(ctx);
+ const b = componentWithMain(ctx);
+ const c = componentWithMain(ctx);
+ const container = a.main.combineAsVariants([b.main.id, c.main.id]);
+ const expected = ['Value 1', 'Value 2', 'Value 3'];
+ await waitFor(() => sameIds(firstPropertyValues(container), expected));
+ expect(firstPropertyValues(container)).toEqual(expected);
+ expect(variantComponentIds(container)).toEqual([
+ a.comp.id,
+ b.comp.id,
+ c.comp.id,
+ ]);
+ });
+
+ test('a same-name main moved into a variant container takes the first free value', async (ctx) => {
+ const a = componentWithMain(ctx);
+ const b = componentWithMain(ctx);
+ const c = componentWithMain(ctx);
+ const container = ctx.penpot.createVariantFromComponents([
+ a.main,
+ b.main,
+ c.main,
+ ]);
+ await waitFor(() => firstPropertyValues(container).includes('Value 2'));
+
+ // Free "Value 2" so the moved main has a gap to fill.
+ const withValue2 = container
+ .variants!.variantComponents()
+ .find(
+ (comp) => variantValueOf(container, comp.id) === 'Value 2',
+ ) as LibraryVariantComponent;
+ withValue2.setVariantProperty(0, 'Renamed');
+ await waitFor(() => !firstPropertyValues(container).includes('Value 2'));
+
+ const d = componentWithMain(ctx);
+ container.appendChild(d.main);
+ await waitFor(() => variantValueOf(container, d.comp.id) !== undefined);
+ expect(variantValueOf(container, d.comp.id)).toBe('Value 2');
+
+ const values = firstPropertyValues(container);
+ expect(new Set(values).size).toBe(values.length);
+ });
+
test('variant component exposes variant props and Variants', (ctx) => {
const rect = ctx.penpot.createRectangle();
ctx.board.appendChild(rect);
diff --git a/plugins/apps/poc-state-plugin/package.json b/plugins/apps/poc-state-plugin/package.json
index df5bc13b27..f2138cd8c0 100644
--- a/plugins/apps/poc-state-plugin/package.json
+++ b/plugins/apps/poc-state-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build poc-state-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build poc-state-plugin",
"build:dev": "ng build poc-state-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=poc-state-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=poc-state-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/poc-tokens-plugin/package.json b/plugins/apps/poc-tokens-plugin/package.json
index 41337275df..a152f95df1 100644
--- a/plugins/apps/poc-tokens-plugin/package.json
+++ b/plugins/apps/poc-tokens-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build poc-tokens-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build poc-tokens-plugin",
"build:dev": "ng build poc-tokens-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=poc-tokens-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=poc-tokens-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "exit 0"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/rename-layers-plugin/package.json b/plugins/apps/rename-layers-plugin/package.json
index 38eb1e0939..a8a0ce18d3 100644
--- a/plugins/apps/rename-layers-plugin/package.json
+++ b/plugins/apps/rename-layers-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build rename-layers-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build rename-layers-plugin",
"build:dev": "ng build rename-layers-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=rename-layers-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=rename-layers-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/apps/table-plugin/package.json b/plugins/apps/table-plugin/package.json
index f2bc2d696b..3ae9e4bd23 100644
--- a/plugins/apps/table-plugin/package.json
+++ b/plugins/apps/table-plugin/package.json
@@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "ng build table-plugin && pnpm run build:plugin",
+ "build": "pnpm run build:plugin && ng build table-plugin",
"build:dev": "ng build table-plugin --configuration development",
"build:plugin": "node ../../tools/scripts/build-plugin.mjs --plugin=table-plugin",
"watch": "node ../../tools/scripts/build-plugin.mjs --plugin=table-plugin --watch",
@@ -13,5 +13,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/libs/plugin-types/index.d.ts b/plugins/libs/plugin-types/index.d.ts
index 94858bdffb..a21eb02a64 100644
--- a/plugins/libs/plugin-types/index.d.ts
+++ b/plugins/libs/plugin-types/index.d.ts
@@ -110,6 +110,7 @@ export interface Penpot extends Omit<
* - themechange: event emitted when the user changes its theme. The callback will receive the new theme (currently: either `dark` or `light`)
* - filechange: event emitted when a different file is opened. The callback will receive the new file.
* - contentsave: event emitted after the file content is saved in the backend. The callback receives no arguments.
+ * - contentrollback: event emitted after the backend rejected some changes and they were undone in the workspace. The callback receives a `ContentRollback` with the files, pages and shapes affected.
* - finish: event emitted when the current file is closed. The callback will receive the id of the closed file.
*
* @param type The event type to listen for.
@@ -1859,6 +1860,37 @@ export interface EventsMap {
* The `contentsave` event will trigger after the file content is saved in the backend.
*/
readonly contentsave: void;
+
+ /**
+ * The `contentrollback` event will trigger after the backend rejected some changes
+ * and the workspace undid them, together with the rest of their undo steps and any
+ * later change to the same file. Changes made by a plugin can be undone this way
+ * after the call that made them returned, so a plugin that relies on them should
+ * read the affected shapes again. The event fires once the undone data is in the
+ * workspace. When the workspace could not undo the changes in place, it reloads the
+ * file from the server first; the whole file then holds the server data, so shapes
+ * outside the listed ones may have changed too.
+ */
+ readonly contentrollback: ContentRollback;
+}
+
+/**
+ * What a rollback of rejected changes undid, as given to the `contentrollback` event.
+ */
+export interface ContentRollback {
+ /**
+ * Ids of the files that lost changes.
+ */
+ readonly fileIds: string[];
+ /**
+ * Ids of the pages the undone changes touched.
+ */
+ readonly pageIds: string[];
+ /**
+ * Ids of the page shapes the undone changes touched. A shape the undone changes
+ * created no longer exists; one they removed exists again.
+ */
+ readonly shapeIds: string[];
}
/**
diff --git a/plugins/libs/plugin-types/package.json b/plugins/libs/plugin-types/package.json
index e4959293fa..cd738a4fdc 100644
--- a/plugins/libs/plugin-types/package.json
+++ b/plugins/libs/plugin-types/package.json
@@ -1,11 +1,11 @@
{
"name": "@penpot/plugin-types",
- "version": "1.5.0",
+ "version": "1.6.0",
"typings": "./index.d.ts",
"type": "module",
"scripts": {
"build": "node ../../tools/scripts/build-types.mjs",
"lint": "tsc -p . --noEmit"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/libs/plugins-runtime/package.json b/plugins/libs/plugins-runtime/package.json
index 23aeeb2ee5..337f6cd9af 100644
--- a/plugins/libs/plugins-runtime/package.json
+++ b/plugins/libs/plugins-runtime/package.json
@@ -1,8 +1,8 @@
{
"name": "@penpot/plugins-runtime",
- "version": "1.5.0",
+ "version": "1.6.0",
"dependencies": {
- "@penpot/plugin-types": "workspace:^",
+ "@penpot/plugin-types": "^1.6.0",
"ses": "^2.3.0",
"zod": "^4.6.5"
},
@@ -16,5 +16,5 @@
"lint": "eslint .",
"test": "vitest"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/libs/plugins-runtime/src/lib/api/index.ts b/plugins/libs/plugins-runtime/src/lib/api/index.ts
index f122c46ffe..b7fd1a0c02 100644
--- a/plugins/libs/plugins-runtime/src/lib/api/index.ts
+++ b/plugins/libs/plugins-runtime/src/lib/api/index.ts
@@ -45,6 +45,7 @@ export const validEvents = [
'themechange',
'shapechange',
'contentsave',
+ 'contentrollback',
] as const;
export function createApi(
diff --git a/plugins/libs/plugins-styles/package.json b/plugins/libs/plugins-styles/package.json
index 5badd11056..c70d423063 100644
--- a/plugins/libs/plugins-styles/package.json
+++ b/plugins/libs/plugins-styles/package.json
@@ -1,10 +1,10 @@
{
"name": "@penpot/plugin-styles",
- "version": "1.5.0",
+ "version": "1.6.0",
"dependencies": {},
"scripts": {
"build": "node ../../tools/scripts/build-css.mjs",
"lint": "echo 0"
},
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1"
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3"
}
diff --git a/plugins/package.json b/plugins/package.json
index 01d2a885b5..4b04171c49 100644
--- a/plugins/package.json
+++ b/plugins/package.json
@@ -3,7 +3,7 @@
"version": "0.6.0",
"type": "module",
"license": "MIT",
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"scripts": {
"start": "pnpm run start:app:runtime",
"start:app:runtime": "concurrently --kill-others --names build,server \"pnpm --filter @penpot/plugins-runtime run build:watch\" \"pnpm --filter @penpot/plugins-runtime run preview\"",
diff --git a/plugins/pnpm-lock.yaml b/plugins/pnpm-lock.yaml
index b84286c8f0..94c234158b 100644
--- a/plugins/pnpm-lock.yaml
+++ b/plugins/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
@@ -347,7 +347,7 @@ importers:
version: 0.14.5(eslint@10.12.0(jiti@2.7.0)(supports-color@10.2.2))(optionator@0.9.4)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))
vite-plugin-dts:
specifier: 5.1.2
- version: 5.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.2)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28))
+ version: 5.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28))
vite-plugin-static-copy:
specifier: ^4.1.1
version: 4.1.1(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))
@@ -380,10 +380,10 @@ importers:
version: 7.0.2
vite:
specifier: ^8.3.2
- version: 8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.97.3)(sass@1.101.0)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)
+ version: 8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)
vite-live-preview:
specifier: ^0.4.0
- version: 0.4.0(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.97.3)(sass@1.101.0)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))
+ version: 0.4.0(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))
apps/contrast-plugin: {}
@@ -416,7 +416,7 @@ importers:
libs/plugins-runtime:
dependencies:
'@penpot/plugin-types':
- specifier: workspace:^
+ specifier: ^1.6.0
version: link:../plugin-types
ses:
specifier: ^2.3.0
@@ -1576,9 +1576,6 @@ packages:
cpu: [x64]
os: [win32]
- '@oxc-project/types@0.142.0':
- resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==}
-
'@oxc-project/types@0.149.0':
resolution: {integrity: sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==}
@@ -1710,12 +1707,6 @@ packages:
cpu: [arm64]
os: [android]
- '@rolldown/binding-android-arm64@1.2.2':
- resolution: {integrity: sha512-l7x215OGvo1s52JWmR8U/DAVzEDWBCIbTm28aeJV/WDTSHgcKXaZTuBT0hJMs5NggilfJTW3clZVvd24yfKJxA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
'@rolldown/binding-android-arm64@1.2.8':
resolution: {integrity: sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1728,12 +1719,6 @@ packages:
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-arm64@1.2.2':
- resolution: {integrity: sha512-9u9Xv6c1AJZT0FfwH5vrMG5Jjcwhc1MlyrPu0XfTqkzsmqfks2M6W/o5XwAJgVVN/jHpqqngC1WevHKKTIUtIA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
'@rolldown/binding-darwin-arm64@1.2.8':
resolution: {integrity: sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1746,12 +1731,6 @@ packages:
cpu: [x64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.2.2':
- resolution: {integrity: sha512-9W1mbGZAfW3oqd85bhBkmpyHCCzL1TeG/zFFP3vg7b0rlly8cxOcre5nXwz+LHazCwac2MNWgPdPCHndABjpWQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
'@rolldown/binding-darwin-x64@1.2.8':
resolution: {integrity: sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1764,12 +1743,6 @@ packages:
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-freebsd-x64@1.2.2':
- resolution: {integrity: sha512-0p1lhiCSCyaerFwtrdZQUx7NqGk6LQnaRKWX7tFQqwQgvX0rjM15cIkm3pax1UpEakK14C4mOxx/jSqCBdBRqQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
'@rolldown/binding-freebsd-x64@1.2.8':
resolution: {integrity: sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1782,12 +1755,6 @@ packages:
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm-gnueabihf@1.2.2':
- resolution: {integrity: sha512-e+cOJXrJ2L3zx6YzqPg+f6Wbk3V1cKB8bOhbaYdVYN3DdquzNdRAmrbETz1qnt5yp/c7JNlNjmITiA2cVneQ7w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
'@rolldown/binding-linux-arm-gnueabihf@1.2.8':
resolution: {integrity: sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1801,13 +1768,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-gnu@1.2.2':
- resolution: {integrity: sha512-JsSMsj6sNat/MuhG5fnBD7QgbtpHKVe30x5/bAVirDHdhoQRXJkF6xc0Jqk8O4fiCUQAzMOoH9wZi3m60c8wtg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-arm64-gnu@1.2.8':
resolution: {integrity: sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1822,13 +1782,6 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-arm64-musl@1.2.2':
- resolution: {integrity: sha512-B5G/zJdHaoJn9vD50eGHWkiWfmq8Uhi3IiLPJTzmZTrAalk1bztUikSXo0qga18ibE0IXboyeMUnhPjhAJ45wQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
'@rolldown/binding-linux-arm64-musl@1.2.8':
resolution: {integrity: sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1843,13 +1796,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-ppc64-gnu@1.2.2':
- resolution: {integrity: sha512-6mC/awzKka8W6EoekjegpfGkjz8jXWDX63pqu/HYVpyKtZfu65Jsh4QAH3Kej3CAv/c1oGX7psTmFEbr0mDxLA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-ppc64-gnu@1.2.8':
resolution: {integrity: sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1864,13 +1810,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-s390x-gnu@1.2.2':
- resolution: {integrity: sha512-412MX9fJLdA1IK28EZnc8jYv2HRTleOZgfLQumJ5zy7OeJLZlg/CETwFaXjNmGVxG51cFHpKLqb5LKvBC+HsHA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-s390x-gnu@1.2.8':
resolution: {integrity: sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1885,13 +1824,6 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-gnu@1.2.2':
- resolution: {integrity: sha512-Q/+HI/ToJafZ1iCqGgVQXUEkIjufHCTF0gBQ2a5o3cg7GJ2h0qyq3nvvSmU+bGda2/7ygXpTY4TM6gO9OhQ0ZA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
'@rolldown/binding-linux-x64-gnu@1.2.8':
resolution: {integrity: sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1906,13 +1838,6 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-x64-musl@1.2.2':
- resolution: {integrity: sha512-ZKp/w41n6wCvxzxQHtQSbuphfX3Y4cCvbjkKHusrLx4lh+JWLTU7StSltO/DKARISzbj368d+qUaCjI8K2wzXw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
'@rolldown/binding-linux-x64-musl@1.2.8':
resolution: {integrity: sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1926,12 +1851,6 @@ packages:
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-openharmony-arm64@1.2.2':
- resolution: {integrity: sha512-pxE6xD4KS3eAROkKK5yrhB9/3+vhlhVGMvlQLbdpzrBGDbKrnzx3RLwPaHvasLo6jgaiBLn7e04Df9C4tYhjmA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
'@rolldown/binding-openharmony-arm64@1.2.8':
resolution: {integrity: sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1944,12 +1863,6 @@ packages:
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-arm64-msvc@1.2.2':
- resolution: {integrity: sha512-4MqEue5re+xIZzAWsB8sj0P1kqZySWqIuN4t6QaIO/YA6SFwySOLruvWQFzfmqk8LBK2P30KCSJwf6mJCZZ5/A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
'@rolldown/binding-win32-arm64-msvc@1.2.8':
resolution: {integrity: sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1962,12 +1875,6 @@ packages:
cpu: [x64]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.2.2':
- resolution: {integrity: sha512-NweNxxD0Nf9t8v7kodun45Ijp3EIwYY+uydPP6qBEYvfBqhIjN6dZMzlQja3tqX/aLs3F3Uz+AxDpKgRhpOZQg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
'@rolldown/binding-win32-x64-msvc@1.2.8':
resolution: {integrity: sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2846,10 +2753,6 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
- chokidar@4.0.3:
- resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
- engines: {node: '>= 14.16.0'}
-
chokidar@5.0.0:
resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
engines: {node: '>= 20.19.0'}
@@ -2887,9 +2790,6 @@ packages:
resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
engines: {node: '>=20'}
- colorjs.io@0.5.2:
- resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
-
colorjs.io@0.7.1:
resolution: {integrity: sha512-LY7OHnJZxHwT5UlzNa9bbhHHDbzB6yE5+3MIPwJEQKRvSCt/T4G7epsj+9j2BExUIIfXFIJGsIXUKdfrK9Q5tA==}
@@ -3511,6 +3411,7 @@ packages:
image-size@0.5.5:
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
engines: {node: '>=0.10.0'}
+ deprecated: Please migrate to image-size@2.x
hasBin: true
immutable@5.1.9:
@@ -4261,10 +4162,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
- readdirp@4.1.2:
- resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
- engines: {node: '>= 14.18.0'}
-
readdirp@5.0.0:
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
engines: {node: '>= 20.19.0'}
@@ -4307,11 +4204,6 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
- rolldown@1.2.2:
- resolution: {integrity: sha512-opwpo1tQBAcpSUJDt94B7hhLNGOKjCdE//XXjeLrnx9b83bjnw45tXdg1b09yEw/VLFBJGZpwRULMmOZo7ol+A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
-
rolldown@1.2.8:
resolution: {integrity: sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -4344,82 +4236,42 @@ packages:
resolution: {integrity: sha512-toyMCyUKkT6DsYlHuKZGjd8T6WltaW4TGX07F7HnF4tNJM5m/8VaVsd74zrq3QSPqGE9JjxIDK4NrNc/QY9pkA==}
cpu: ['!arm', '!arm64', '!riscv64', '!x64']
- sass-embedded-all-unknown@1.97.3:
- resolution: {integrity: sha512-t6N46NlPuXiY3rlmG6/+1nwebOBOaLFOOVqNQOC2cJhghOD4hh2kHNQQTorCsbY9S1Kir2la1/XLBwOJfui0xg==}
- cpu: ['!arm', '!arm64', '!riscv64', '!x64']
-
sass-embedded-android-arm64@1.104.1:
resolution: {integrity: sha512-yW3BVW4YFpN2vu2cVQ+Pz5JrRTvoIz36aCdo+J/Mo1A9gEN8eVPV/AL7aeZ803YdKgIitd3qw3pY4wpmT6TXNg==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [android]
- sass-embedded-android-arm64@1.97.3:
- resolution: {integrity: sha512-aiZ6iqiHsUsaDx0EFbbmmA0QgxicSxVVN3lnJJ0f1RStY0DthUkquGT5RJ4TPdaZ6ebeJWkboV4bra+CP766eA==}
- engines: {node: '>=14.0.0'}
- cpu: [arm64]
- os: [android]
-
sass-embedded-android-arm@1.104.1:
resolution: {integrity: sha512-g/XPAJYAzSSQZFP4xCdGD0HLKB4mf24cJ/+5Nls8rMool3jNkBv9+AFO4EV0b+RxN8rLcEsMccH1CR64yIFYcQ==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [android]
- sass-embedded-android-arm@1.97.3:
- resolution: {integrity: sha512-cRTtf/KV/q0nzGZoUzVkeIVVFv3L/tS1w4WnlHapphsjTXF/duTxI8JOU1c/9GhRPiMdfeXH7vYNcMmtjwX7jg==}
- engines: {node: '>=14.0.0'}
- cpu: [arm]
- os: [android]
-
sass-embedded-android-riscv64@1.104.1:
resolution: {integrity: sha512-ZYY8oMKQS7Q/6FBoC8w3T16O3MucDe3xv8iKym41Nht5uvLCGGpm4fC4OF5nlv7wQkJv8oactYddGG3Wd0Rqkg==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [android]
- sass-embedded-android-riscv64@1.97.3:
- resolution: {integrity: sha512-zVEDgl9JJodofGHobaM/q6pNETG69uuBIGQHRo789jloESxxZe82lI3AWJQuPmYCOG5ElfRthqgv89h3gTeLYA==}
- engines: {node: '>=14.0.0'}
- cpu: [riscv64]
- os: [android]
-
sass-embedded-android-x64@1.104.1:
resolution: {integrity: sha512-5WZKC4lSfjMIjzZdQUlYQUAV+UiatBhD8w28U7cYLLj4/dMgEPOBd4g3VMv0BwpgH2JOaycMS42dXq29W2bcDg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [android]
- sass-embedded-android-x64@1.97.3:
- resolution: {integrity: sha512-3ke0le7ZKepyXn/dKKspYkpBC0zUk/BMciyP5ajQUDy4qJwobd8zXdAq6kOkdiMB+d9UFJOmEkvgFJHl3lqwcw==}
- engines: {node: '>=14.0.0'}
- cpu: [x64]
- os: [android]
-
sass-embedded-darwin-arm64@1.104.1:
resolution: {integrity: sha512-oatuHzn0NsEg0d9Dcze6CuWUPvuETtMxRK4cv0eRAg7p6R0vHnv5GZRyWG6gEy3nc/ha/L+GtTasWVU82f4jrQ==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [darwin]
- sass-embedded-darwin-arm64@1.97.3:
- resolution: {integrity: sha512-fuqMTqO4gbOmA/kC5b9y9xxNYw6zDEyfOtMgabS7Mz93wimSk2M1quQaTJnL98Mkcsl2j+7shNHxIS/qpcIDDA==}
- engines: {node: '>=14.0.0'}
- cpu: [arm64]
- os: [darwin]
-
sass-embedded-darwin-x64@1.104.1:
resolution: {integrity: sha512-gql/5sHGzUTVwuHfM3QLCDeb6NYwen+LLj22gz81C2NKHF/4nUtDyh4N+fURWdT7J0/EhtMOd0+FLML3sGNP7g==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [darwin]
- sass-embedded-darwin-x64@1.97.3:
- resolution: {integrity: sha512-b/2RBs/2bZpP8lMkyZ0Px0vkVkT8uBd0YXpOwK7iOwYkAT8SsO4+WdVwErsqC65vI5e1e5p1bb20tuwsoQBMVA==}
- engines: {node: '>=14.0.0'}
- cpu: [x64]
- os: [darwin]
-
sass-embedded-linux-arm64@1.104.1:
resolution: {integrity: sha512-sVWUKXNTu8sP3X95Df0xo/t49Ce5IseTIMqXHxhFBKVmx7gf7kBWNLK0wH5ym+4khc+B5nNJPgq4IxpelG8tMQ==}
engines: {node: '>=14.0.0'}
@@ -4427,13 +4279,6 @@ packages:
os: [linux]
libc: glibc
- sass-embedded-linux-arm64@1.97.3:
- resolution: {integrity: sha512-IP1+2otCT3DuV46ooxPaOKV1oL5rLjteRzf8ldZtfIEcwhSgSsHgA71CbjYgLEwMY9h4jeal8Jfv3QnedPvSjg==}
- engines: {node: '>=14.0.0'}
- cpu: [arm64]
- os: [linux]
- libc: glibc
-
sass-embedded-linux-arm@1.104.1:
resolution: {integrity: sha512-WfmshPJOp9vUKxgp8wZ2ncaKBbyrlW9J51M2aUQHWECjMNxTULnGOHWSmD7FViXv4zwn1Co5FIFQUipW7RCxtA==}
engines: {node: '>=14.0.0'}
@@ -4441,13 +4286,6 @@ packages:
os: [linux]
libc: glibc
- sass-embedded-linux-arm@1.97.3:
- resolution: {integrity: sha512-2lPQ7HQQg4CKsH18FTsj2hbw5GJa6sBQgDsls+cV7buXlHjqF8iTKhAQViT6nrpLK/e8nFCoaRgSqEC8xMnXuA==}
- engines: {node: '>=14.0.0'}
- cpu: [arm]
- os: [linux]
- libc: glibc
-
sass-embedded-linux-musl-arm64@1.104.1:
resolution: {integrity: sha512-H7b+LzZ/w8pwNExInM8HDHraqvxCMdUc5ZRGU/aSJJhZ9HjeRKBjF3GxaisVHnx7o18j1l4VQ5cLBL9tTmNzZw==}
engines: {node: '>=14.0.0'}
@@ -4455,13 +4293,6 @@ packages:
os: [linux]
libc: musl
- sass-embedded-linux-musl-arm64@1.97.3:
- resolution: {integrity: sha512-Lij0SdZCsr+mNRSyDZ7XtJpXEITrYsaGbOTz5e6uFLJ9bmzUbV7M8BXz2/cA7bhfpRPT7/lwRKPdV4+aR9Ozcw==}
- engines: {node: '>=14.0.0'}
- cpu: [arm64]
- os: [linux]
- libc: musl
-
sass-embedded-linux-musl-arm@1.104.1:
resolution: {integrity: sha512-k0cQ/CxBzFVYiQEObg6CpF6CUglkdEhi/DZgZXQbwC27kbGGY+fatmIs/cFPJL2z1ulACwoAr86RQUFzYvw5eg==}
engines: {node: '>=14.0.0'}
@@ -4469,13 +4300,6 @@ packages:
os: [linux]
libc: musl
- sass-embedded-linux-musl-arm@1.97.3:
- resolution: {integrity: sha512-cBTMU68X2opBpoYsSZnI321gnoaiMBEtc+60CKCclN6PCL3W3uXm8g4TLoil1hDD6mqU9YYNlVG6sJ+ZNef6Lg==}
- engines: {node: '>=14.0.0'}
- cpu: [arm]
- os: [linux]
- libc: musl
-
sass-embedded-linux-musl-riscv64@1.104.1:
resolution: {integrity: sha512-9DYdn4wfrkidjxJVtEd2iCx8HKdZe+uF82GDmrYEZhgu4NjVE6a4fQyW7OLwzn3erZMHKBaObBOH1d37DnXI1A==}
engines: {node: '>=14.0.0'}
@@ -4483,13 +4307,6 @@ packages:
os: [linux]
libc: musl
- sass-embedded-linux-musl-riscv64@1.97.3:
- resolution: {integrity: sha512-sBeLFIzMGshR4WmHAD4oIM7WJVkSoCIEwutzptFtGlSlwfNiijULp+J5hA2KteGvI6Gji35apR5aWj66wEn/iA==}
- engines: {node: '>=14.0.0'}
- cpu: [riscv64]
- os: [linux]
- libc: musl
-
sass-embedded-linux-musl-x64@1.104.1:
resolution: {integrity: sha512-5xz+nAr01b6yaRdrGVgE7lNvm1lGFjwNdUvnz+teidvHCbD5oTcbhrRVrnDoLHHvq5n3Jve9TzWaaHhezaEfHA==}
engines: {node: '>=14.0.0'}
@@ -4497,13 +4314,6 @@ packages:
os: [linux]
libc: musl
- sass-embedded-linux-musl-x64@1.97.3:
- resolution: {integrity: sha512-/oWJ+OVrDg7ADDQxRLC/4g1+Nsz1g4mkYS2t6XmyMJKFTFK50FVI2t5sOdFH+zmMp+nXHKM036W94y9m4jjEcw==}
- engines: {node: '>=14.0.0'}
- cpu: [x64]
- os: [linux]
- libc: musl
-
sass-embedded-linux-riscv64@1.104.1:
resolution: {integrity: sha512-oWryPJWTXK5adtlz/FD7wd2kS4I0CEgp6mWLUVb4oMFURMLz9bA9fO87D7lc4SV++lds7T51PU1kykCbOvNHMg==}
engines: {node: '>=14.0.0'}
@@ -4511,13 +4321,6 @@ packages:
os: [linux]
libc: glibc
- sass-embedded-linux-riscv64@1.97.3:
- resolution: {integrity: sha512-l3IfySApLVYdNx0Kjm7Zehte1CDPZVcldma3dZt+TfzvlAEerM6YDgsk5XEj3L8eHBCgHgF4A0MJspHEo2WNfA==}
- engines: {node: '>=14.0.0'}
- cpu: [riscv64]
- os: [linux]
- libc: glibc
-
sass-embedded-linux-x64@1.104.1:
resolution: {integrity: sha512-j/sX/yKTx/wJKepC5/ISlR6kPeSuHKThf76D2za5i2VnbHg0MN19jQq3WMorowR3kRghqt6azs3awogG+e7IRA==}
engines: {node: '>=14.0.0'}
@@ -4525,70 +4328,32 @@ packages:
os: [linux]
libc: glibc
- sass-embedded-linux-x64@1.97.3:
- resolution: {integrity: sha512-Kwqwc/jSSlcpRjULAOVbndqEy2GBzo6OBmmuBVINWUaJLJ8Kczz3vIsDUWLfWz/kTEw9FHBSiL0WCtYLVAXSLg==}
- engines: {node: '>=14.0.0'}
- cpu: [x64]
- os: [linux]
- libc: glibc
-
sass-embedded-unknown-all@1.104.1:
resolution: {integrity: sha512-RaMsYZB5mRioL4qhoI7T5mmNb2OunakbPTJW2cuu3MeIULnGoxo7Wd5QKFxeQvF7sSQL57RuaQ+q9pH+/pQ9Fg==}
os: ['!android', '!darwin', '!linux', '!win32']
- sass-embedded-unknown-all@1.97.3:
- resolution: {integrity: sha512-/GHajyYJmvb0IABUQHbVHf1nuHPtIDo/ClMZ81IDr59wT5CNcMe7/dMNujXwWugtQVGI5UGmqXWZQCeoGnct8Q==}
- os: ['!android', '!darwin', '!linux', '!win32']
-
sass-embedded-win32-arm64@1.104.1:
resolution: {integrity: sha512-fS6DL7lcnTPclqGLF4xRt8egZlFY9cU23d57ufbWqaUbCFu9JTu0+8qB4jMxfx1la6byi3GoSTfbnNOLfWv8sw==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [win32]
- sass-embedded-win32-arm64@1.97.3:
- resolution: {integrity: sha512-RDGtRS1GVvQfMGAmVXNxYiUOvPzn9oO1zYB/XUM9fudDRnieYTcUytpNTQZLs6Y1KfJxgt5Y+giRceC92fT8Uw==}
- engines: {node: '>=14.0.0'}
- cpu: [arm64]
- os: [win32]
-
sass-embedded-win32-x64@1.104.1:
resolution: {integrity: sha512-/c4N2A93Ckms6DuRFVftKYISuI1tyC8gmlVJ8WaWFzgCBN/Swq2rARJIBUNeuxlmxjmYXfd3+2f/u887K63wbA==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [win32]
- sass-embedded-win32-x64@1.97.3:
- resolution: {integrity: sha512-SFRa2lED9UEwV6vIGeBXeBOLKF+rowF3WmNfb/BzhxmdAsKofCXrJ8ePW7OcDVrvNEbTOGwhsReIsF5sH8fVaw==}
- engines: {node: '>=14.0.0'}
- cpu: [x64]
- os: [win32]
-
sass-embedded@1.104.1:
resolution: {integrity: sha512-7LxbtPJ1MWKVbhzOnGx1sHTkHTcHVJ9hbgVsU29p/8gY1VeXt19fcJFr5xsx2f6zfrrR3FeOcYMt0uYDLAxpgw==}
engines: {node: '>=20.19.0'}
hasBin: true
- sass-embedded@1.97.3:
- resolution: {integrity: sha512-eKzFy13Nk+IRHhlAwP3sfuv+PzOrvzUkwJK2hdoCKYcWGSdmwFpeGpWmyewdw8EgBnsKaSBtgf/0b2K635ecSA==}
- engines: {node: '>=16.0.0'}
- hasBin: true
-
- sass@1.101.0:
- resolution: {integrity: sha512-OL3GoQyoUdDt843DpVmDO6y2k1sc5IhUDSpu8XucEI+35neq5QivZ1iuegnpraEVTJXlQGK1gl27zKcTLEPbQw==}
- engines: {node: '>=20.19.0'}
- hasBin: true
-
sass@1.104.1:
resolution: {integrity: sha512-yDA+1aIG3EHgN4V/BvuhCvu61FF6hEd4e+9DxikUm9U0CAGuvdIZ/UYy7qbOxjhbbWQraoyLlMuzdRGOSV5Bmw==}
engines: {node: '>=20.19.0'}
hasBin: true
- sass@1.97.3:
- resolution: {integrity: sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
sax@1.6.1:
resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==}
engines: {node: '>=11.0.0'}
@@ -5400,7 +5165,7 @@ snapshots:
'@angular-devkit/core@22.2.1(chokidar@5.0.0)':
dependencies:
ajv: 8.20.0
- ajv-formats: 3.0.1(ajv@8.20.0)
+ ajv-formats: 3.0.1
jsonc-parser: 3.3.1
picomatch: 4.0.7
rxjs: 7.8.2
@@ -6439,9 +6204,6 @@ snapshots:
'@oxc-parser/binding-win32-x64-msvc@0.150.0':
optional: true
- '@oxc-project/types@0.142.0':
- optional: true
-
'@oxc-project/types@0.149.0': {}
'@oxc-project/types@0.150.0': {}
@@ -6524,126 +6286,84 @@ snapshots:
'@rolldown/binding-android-arm64@1.2.12':
optional: true
- '@rolldown/binding-android-arm64@1.2.2':
- optional: true
-
'@rolldown/binding-android-arm64@1.2.8':
optional: true
'@rolldown/binding-darwin-arm64@1.2.12':
optional: true
- '@rolldown/binding-darwin-arm64@1.2.2':
- optional: true
-
'@rolldown/binding-darwin-arm64@1.2.8':
optional: true
'@rolldown/binding-darwin-x64@1.2.12':
optional: true
- '@rolldown/binding-darwin-x64@1.2.2':
- optional: true
-
'@rolldown/binding-darwin-x64@1.2.8':
optional: true
'@rolldown/binding-freebsd-x64@1.2.12':
optional: true
- '@rolldown/binding-freebsd-x64@1.2.2':
- optional: true
-
'@rolldown/binding-freebsd-x64@1.2.8':
optional: true
'@rolldown/binding-linux-arm-gnueabihf@1.2.12':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.2.2':
- optional: true
-
'@rolldown/binding-linux-arm-gnueabihf@1.2.8':
optional: true
'@rolldown/binding-linux-arm64-gnu@1.2.12':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.2.2':
- optional: true
-
'@rolldown/binding-linux-arm64-gnu@1.2.8':
optional: true
'@rolldown/binding-linux-arm64-musl@1.2.12':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.2.2':
- optional: true
-
'@rolldown/binding-linux-arm64-musl@1.2.8':
optional: true
'@rolldown/binding-linux-ppc64-gnu@1.2.12':
optional: true
- '@rolldown/binding-linux-ppc64-gnu@1.2.2':
- optional: true
-
'@rolldown/binding-linux-ppc64-gnu@1.2.8':
optional: true
'@rolldown/binding-linux-s390x-gnu@1.2.12':
optional: true
- '@rolldown/binding-linux-s390x-gnu@1.2.2':
- optional: true
-
'@rolldown/binding-linux-s390x-gnu@1.2.8':
optional: true
'@rolldown/binding-linux-x64-gnu@1.2.12':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.2.2':
- optional: true
-
'@rolldown/binding-linux-x64-gnu@1.2.8':
optional: true
'@rolldown/binding-linux-x64-musl@1.2.12':
optional: true
- '@rolldown/binding-linux-x64-musl@1.2.2':
- optional: true
-
'@rolldown/binding-linux-x64-musl@1.2.8':
optional: true
'@rolldown/binding-openharmony-arm64@1.2.12':
optional: true
- '@rolldown/binding-openharmony-arm64@1.2.2':
- optional: true
-
'@rolldown/binding-openharmony-arm64@1.2.8':
optional: true
'@rolldown/binding-win32-arm64-msvc@1.2.12':
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.2.2':
- optional: true
-
'@rolldown/binding-win32-arm64-msvc@1.2.8':
optional: true
'@rolldown/binding-win32-x64-msvc@1.2.12':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.2.2':
- optional: true
-
'@rolldown/binding-win32-x64-msvc@1.2.8':
optional: true
@@ -6796,7 +6516,7 @@ snapshots:
dependencies:
ajv: 8.20.0
ajv-draft-04: 1.0.0(ajv@8.20.0)
- ajv-formats: 3.0.1(ajv@8.20.0)
+ ajv-formats: 3.0.1
fs-extra: 11.3.6
import-lazy: 4.0.0
jju: 1.4.0
@@ -7282,13 +7002,13 @@ snapshots:
ajv: 8.20.0
optional: true
- ajv-formats@2.1.1(ajv@8.20.0):
- optionalDependencies:
+ ajv-formats@2.1.1:
+ dependencies:
ajv: 8.20.0
optional: true
- ajv-formats@3.0.1(ajv@8.20.0):
- optionalDependencies:
+ ajv-formats@3.0.1:
+ dependencies:
ajv: 8.20.0
ajv-keywords@5.1.0(ajv@8.20.0):
@@ -7538,11 +7258,6 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- chokidar@4.0.3:
- dependencies:
- readdirp: 4.1.2
- optional: true
-
chokidar@5.0.0:
dependencies:
readdirp: 5.0.0
@@ -7577,9 +7292,6 @@ snapshots:
strip-ansi: 7.2.0
wrap-ansi: 9.0.2
- colorjs.io@0.5.2:
- optional: true
-
colorjs.io@0.7.1: {}
combined-stream@1.0.8:
@@ -9160,9 +8872,6 @@ snapshots:
dependencies:
picomatch: 2.3.2
- readdirp@4.1.2:
- optional: true
-
readdirp@5.0.0: {}
reflect-metadata@0.2.2: {}
@@ -9234,27 +8943,6 @@ snapshots:
'@rolldown/binding-win32-arm64-msvc': 1.2.12
'@rolldown/binding-win32-x64-msvc': 1.2.12
- rolldown@1.2.2:
- dependencies:
- '@oxc-project/types': 0.142.0
- '@rolldown/pluginutils': 1.0.1
- optionalDependencies:
- '@rolldown/binding-android-arm64': 1.2.2
- '@rolldown/binding-darwin-arm64': 1.2.2
- '@rolldown/binding-darwin-x64': 1.2.2
- '@rolldown/binding-freebsd-x64': 1.2.2
- '@rolldown/binding-linux-arm-gnueabihf': 1.2.2
- '@rolldown/binding-linux-arm64-gnu': 1.2.2
- '@rolldown/binding-linux-arm64-musl': 1.2.2
- '@rolldown/binding-linux-ppc64-gnu': 1.2.2
- '@rolldown/binding-linux-s390x-gnu': 1.2.2
- '@rolldown/binding-linux-x64-gnu': 1.2.2
- '@rolldown/binding-linux-x64-musl': 1.2.2
- '@rolldown/binding-openharmony-arm64': 1.2.2
- '@rolldown/binding-win32-arm64-msvc': 1.2.2
- '@rolldown/binding-win32-x64-msvc': 1.2.2
- optional: true
-
rolldown@1.2.8:
dependencies:
'@oxc-project/types': 0.149.0
@@ -9338,117 +9026,59 @@ snapshots:
sass: 1.104.1
optional: true
- sass-embedded-all-unknown@1.97.3:
- dependencies:
- sass: 1.97.3
- optional: true
-
sass-embedded-android-arm64@1.104.1:
optional: true
- sass-embedded-android-arm64@1.97.3:
- optional: true
-
sass-embedded-android-arm@1.104.1:
optional: true
- sass-embedded-android-arm@1.97.3:
- optional: true
-
sass-embedded-android-riscv64@1.104.1:
optional: true
- sass-embedded-android-riscv64@1.97.3:
- optional: true
-
sass-embedded-android-x64@1.104.1:
optional: true
- sass-embedded-android-x64@1.97.3:
- optional: true
-
sass-embedded-darwin-arm64@1.104.1:
optional: true
- sass-embedded-darwin-arm64@1.97.3:
- optional: true
-
sass-embedded-darwin-x64@1.104.1:
optional: true
- sass-embedded-darwin-x64@1.97.3:
- optional: true
-
sass-embedded-linux-arm64@1.104.1:
optional: true
- sass-embedded-linux-arm64@1.97.3:
- optional: true
-
sass-embedded-linux-arm@1.104.1:
optional: true
- sass-embedded-linux-arm@1.97.3:
- optional: true
-
sass-embedded-linux-musl-arm64@1.104.1:
optional: true
- sass-embedded-linux-musl-arm64@1.97.3:
- optional: true
-
sass-embedded-linux-musl-arm@1.104.1:
optional: true
- sass-embedded-linux-musl-arm@1.97.3:
- optional: true
-
sass-embedded-linux-musl-riscv64@1.104.1:
optional: true
- sass-embedded-linux-musl-riscv64@1.97.3:
- optional: true
-
sass-embedded-linux-musl-x64@1.104.1:
optional: true
- sass-embedded-linux-musl-x64@1.97.3:
- optional: true
-
sass-embedded-linux-riscv64@1.104.1:
optional: true
- sass-embedded-linux-riscv64@1.97.3:
- optional: true
-
sass-embedded-linux-x64@1.104.1:
optional: true
- sass-embedded-linux-x64@1.97.3:
- optional: true
-
sass-embedded-unknown-all@1.104.1:
dependencies:
sass: 1.104.1
optional: true
- sass-embedded-unknown-all@1.97.3:
- dependencies:
- sass: 1.97.3
- optional: true
-
sass-embedded-win32-arm64@1.104.1:
optional: true
- sass-embedded-win32-arm64@1.97.3:
- optional: true
-
sass-embedded-win32-x64@1.104.1:
optional: true
- sass-embedded-win32-x64@1.97.3:
- optional: true
-
sass-embedded@1.104.1:
dependencies:
'@bufbuild/protobuf': 2.13.0
@@ -9478,45 +9108,6 @@ snapshots:
sass-embedded-win32-arm64: 1.104.1
sass-embedded-win32-x64: 1.104.1
- sass-embedded@1.97.3:
- dependencies:
- '@bufbuild/protobuf': 2.13.0
- colorjs.io: 0.5.2
- immutable: 5.1.9
- rxjs: 7.8.2
- supports-color: 8.1.1
- sync-child-process: 1.0.2
- varint: 6.0.0
- optionalDependencies:
- sass-embedded-all-unknown: 1.97.3
- sass-embedded-android-arm: 1.97.3
- sass-embedded-android-arm64: 1.97.3
- sass-embedded-android-riscv64: 1.97.3
- sass-embedded-android-x64: 1.97.3
- sass-embedded-darwin-arm64: 1.97.3
- sass-embedded-darwin-x64: 1.97.3
- sass-embedded-linux-arm: 1.97.3
- sass-embedded-linux-arm64: 1.97.3
- sass-embedded-linux-musl-arm: 1.97.3
- sass-embedded-linux-musl-arm64: 1.97.3
- sass-embedded-linux-musl-riscv64: 1.97.3
- sass-embedded-linux-musl-x64: 1.97.3
- sass-embedded-linux-riscv64: 1.97.3
- sass-embedded-linux-x64: 1.97.3
- sass-embedded-unknown-all: 1.97.3
- sass-embedded-win32-arm64: 1.97.3
- sass-embedded-win32-x64: 1.97.3
- optional: true
-
- sass@1.101.0:
- dependencies:
- chokidar: 5.0.0
- immutable: 5.1.9
- source-map-js: 1.2.1
- optionalDependencies:
- '@parcel/watcher': 2.6.0
- optional: true
-
sass@1.104.1:
dependencies:
chokidar: 5.0.0
@@ -9525,15 +9116,6 @@ snapshots:
optionalDependencies:
'@parcel/watcher': 2.6.0
- sass@1.97.3:
- dependencies:
- chokidar: 4.0.3
- immutable: 5.1.9
- source-map-js: 1.2.1
- optionalDependencies:
- '@parcel/watcher': 2.6.0
- optional: true
-
sax@1.6.1:
optional: true
@@ -9545,7 +9127,7 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
ajv: 8.20.0
- ajv-formats: 2.1.1(ajv@8.20.0)
+ ajv-formats: 2.1.1
ajv-keywords: 5.1.0(ajv@8.20.0)
optional: true
@@ -9936,7 +9518,7 @@ snapshots:
universalify@2.0.1: {}
- unplugin-dts@1.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.2)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28)):
+ unplugin-dts@1.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28)):
dependencies:
'@rollup/pluginutils': 5.4.0(rollup@4.60.4)
'@volar/typescript': 2.4.28(typescript@6.0.2)
@@ -9952,7 +9534,7 @@ snapshots:
'@microsoft/api-extractor': 7.56.0(@types/node@26.6.4)
'@rspack/core': 1.6.8(@swc/helpers@0.5.18)
esbuild: 0.28.2
- rolldown: 1.2.2
+ rolldown: 1.2.12
rollup: 4.60.4
vite: 8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)
webpack: 5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28)
@@ -9982,14 +9564,14 @@ snapshots:
verkit@0.3.2: {}
- vite-live-preview@0.4.0(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.97.3)(sass@1.101.0)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)):
+ vite-live-preview@0.4.0(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)):
dependencies:
'@seahax/deep-copy': 0.1.0
'@seahax/semaphore': 0.5.1
'@types/ws': 8.18.1
escape-goat: 4.0.0
strip-ansi: 7.2.0
- vite: 8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.97.3)(sass@1.101.0)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)
+ vite: 8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)
ws: 8.21.1
transitivePeerDependencies:
- bufferutil
@@ -10010,9 +9592,9 @@ snapshots:
optionator: 0.9.4
typescript: 6.0.2
- vite-plugin-dts@5.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.2)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28)):
+ vite-plugin-dts@5.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28)):
dependencies:
- unplugin-dts: 1.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.2)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28))
+ unplugin-dts: 1.1.2(@microsoft/api-extractor@7.56.0(@types/node@26.6.4))(@rspack/core@1.6.8(@swc/helpers@0.5.18))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.60.4)(supports-color@10.2.2)(typescript@6.0.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0))(webpack@5.106.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.28))
optionalDependencies:
'@microsoft/api-extractor': 7.56.0(@types/node@26.6.4)
rollup: 4.60.4
@@ -10072,25 +9654,6 @@ snapshots:
tsx: 4.23.15
yaml: 2.9.0
- vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.97.3)(sass@1.101.0)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0):
- dependencies:
- lightningcss: 1.33.0
- picomatch: 4.0.7
- postcss: 8.5.28
- rolldown: 1.2.12
- tinyglobby: 0.2.17
- optionalDependencies:
- '@types/node': 26.6.4
- esbuild: 0.28.2
- fsevents: 2.3.3
- jiti: 2.7.0
- less: 4.6.4
- sass: 1.101.0
- sass-embedded: 1.97.3
- terser: 5.46.2
- tsx: 4.23.15
- yaml: 2.9.0
-
vitest@5.0.3(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(happy-dom@20.14.5)(jsdom@30.1.2)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(less@4.6.4)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.46.2)(tsx@4.23.15)(yaml@2.9.0)):
dependencies:
'@types/chai': 5.2.3
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2b8e0f539b..bbe85fa79b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/render-wasm/README.md b/render-wasm/README.md
index a6e0c1e25a..48a6a3cb81 100644
--- a/render-wasm/README.md
+++ b/render-wasm/README.md
@@ -52,6 +52,12 @@ Each target keeps its own `CARGO_TARGET_DIR` (`target/`), so switching
between them does not invalidate the other's cache. Set `BUILD_MODE=release`
(or `NODE_ENV=production`) for an optimized build; the default is `debug`.
+Set `PENPOT_WASM_PREPARED=1` when the pinned Rust toolchain is selected, its
+Emscripten target is installed, and this package's Node dependencies are
+installed. `./build`, `./test`, `./lint` and `./fmt` then skip `rustup` setup
+and `pnpm install`. Benchmark preparation sets this flag for each retained
+build.
+
### Serialize builds in one checkout
All targets in one checkout share one `flock` lock stored at
diff --git a/render-wasm/_build_env b/render-wasm/_build_env
index c8d1fdd1e5..5c804469d0 100644
--- a/render-wasm/_build_env
+++ b/render-wasm/_build_env
@@ -164,6 +164,11 @@ function setup_rust {
}
function setup {
+ if [ "${PENPOT_WASM_PREPARED:-}" = "1" ]; then
+ echo "Skipping rustup and pnpm setup (PENPOT_WASM_PREPARED=1)" >&2
+ return 0
+ fi
+
setup_rust
pnpm install;
}
diff --git a/render-wasm/build b/render-wasm/build
index c4061068f2..c033654c5f 100755
--- a/render-wasm/build
+++ b/render-wasm/build
@@ -3,7 +3,9 @@
# Usage: ./build [frontend|export] [extra cargo params...]
#
# With no target, builds both. Set BUILD_MODE=release (or NODE_ENV=production)
-# for an optimized build. See `_build_env` for what each target changes.
+# for an optimized build. Set PENPOT_WASM_PREPARED=1 when the pinned toolchain
+# and Node dependencies are prepared to skip their setup. See `_build_env` for
+# what each target changes.
_SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
_RENDER_TARGET=${1:-}
diff --git a/render-wasm/fmt b/render-wasm/fmt
new file mode 100755
index 0000000000..b7a9b8118f
--- /dev/null
+++ b/render-wasm/fmt
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Usage: ./fmt [--check] [extra cargo fmt params...]
+#
+# Formats the crate with the Rust toolchain pinned in `_build_env`. Set
+# PENPOT_WASM_PREPARED=1 to skip the toolchain setup.
+
+set -e
+
+_SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
+pushd "$_SCRIPT_DIR" > /dev/null
+
+. ./_build_env frontend
+
+setup
+cargo fmt "$@"
+
+popd > /dev/null
diff --git a/render-wasm/lint b/render-wasm/lint
index 097a4314cf..ca605e8ec9 100755
--- a/render-wasm/lint
+++ b/render-wasm/lint
@@ -10,6 +10,8 @@ fi
. ./_build_env frontend
+setup || exit $?
+
ALLOWED_RULES="-D static_mut_refs"
# ./lint --fix
diff --git a/render-wasm/package.json b/render-wasm/package.json
index f1f4b196ab..a7a15fb5f0 100644
--- a/render-wasm/package.json
+++ b/render-wasm/package.json
@@ -4,7 +4,7 @@
"license": "MPL-2.0",
"author": "Kaleidos INC Sucursal en España SL",
"private": true,
- "packageManager": "pnpm@12.16.1+sha512.091d1dee7927575661b25dab3c2ae31cafc1c54d6b71ed6a6600cf0c1cb10434a447eae14015f1b23e2e6bedeed79df94a932e2164d2832280dce3fb32f656d1",
+ "packageManager": "pnpm@12.18.0+sha512.9d7882d5dc82147ecfc4e062aa34834e0ad0296710a1837a1115ae012127d36b7109e321ac1598a1dd0a65597681b1e99917e12ed0d749eae91187943363beb3",
"repository": {
"type": "git",
"url": "https://github.com/penpot/penpot"
diff --git a/render-wasm/pnpm-lock.yaml b/render-wasm/pnpm-lock.yaml
index a0180171fa..452e972384 100644
--- a/render-wasm/pnpm-lock.yaml
+++ b/render-wasm/pnpm-lock.yaml
@@ -7,153 +7,153 @@ importers:
configDependencies: {}
packageManagerDependencies:
pnpm:
- specifier: 12.16.1
- version: 12.16.1
+ specifier: 12.18.0
+ version: 12.18.0
packages:
- '@pnpm/exe.android-arm64@12.16.1':
- resolution: {integrity: sha512-PKf78Ew+i0CBYf0Xc+eMcqQiqyBT+u8XCVg1F5roc98/6wWfdYlWhrUMmEBiKWaJ3JqHxrtt8l1NwZ7qfJt2/Q==}
+ '@pnpm/exe.android-arm64@12.18.0':
+ resolution: {integrity: sha512-fOF6IwgvnUKEmVedGqiAsNPfN2Ry8GvaqzSQOiF3RJFbpBfPKO/6YT54s1GjToyYinRxw9preHHPe4y2N3SzhA==}
cpu: [arm64]
os: [android]
- '@pnpm/exe.android-x64@12.16.1':
- resolution: {integrity: sha512-xdu7gMbB98pdvhwMeA6612Of515FDlRUtfA/1f7nWPZfPLnEdSRBO2u+1N0XBtQ/ennhPH/lrxB1gC6gnR/cdg==}
+ '@pnpm/exe.android-x64@12.18.0':
+ resolution: {integrity: sha512-6OiolnaCsB3/GcJ9XNrenbUH3zFHRJ+5QynrMUUEyThbgnnCzWxa199hpQlOmxN4rAXuYQ0IYgWFNUZxyzg31Q==}
cpu: [x64]
os: [android]
- '@pnpm/exe.darwin-arm64@12.16.1':
- resolution: {integrity: sha512-pVbmIIbhixiLvADLu1WA3TaW8FZy/D72R1De27WbbFx8/2mxvnsTyFVm4fO9kjpjMY7RzJd48CiQ96p8fO3ebQ==}
+ '@pnpm/exe.darwin-arm64@12.18.0':
+ resolution: {integrity: sha512-zkq+4YzVIX39ETYLyC3W7LY7MpHEU/J3nRhHl4i2yPld2Cf2+rEKRh3ejJ4AmaQ77HHJLCktY4Z3jq0fpcxFXg==}
cpu: [arm64]
os: [darwin]
- '@pnpm/exe.darwin-x64@12.16.1':
- resolution: {integrity: sha512-xZvQBFqcZjO7vFKTK3XsJpqY6lnBL9EWSLCzVUPq3kZ94+D96gwJCa76xxGNK8Cj32f4eeM91Qg+yNRR4sRpDw==}
+ '@pnpm/exe.darwin-x64@12.18.0':
+ resolution: {integrity: sha512-qMsL9qx92unOTa6hgkfiTJv8ceZaTx0IQg7InhYDVX2ZrTECujaVEEVypnJK5m3eGUsP1KD7Y4qIgleCwfRsYw==}
cpu: [x64]
os: [darwin]
- '@pnpm/exe.freebsd-x64@12.16.1':
- resolution: {integrity: sha512-zTtunfi9mBhRXiXEJYfwiJj0tk7MgTSfqDSRh+Az9FZ9THazVIiQiVNS8jpcsftDOqu7LKNffQdjmgwHDThfUg==}
+ '@pnpm/exe.freebsd-x64@12.18.0':
+ resolution: {integrity: sha512-/9vy/4ms52cU4MjZ5NhHd6N2d9L9W0kARf5/ff2tweAHu0VeUzs/0qp/7ZHFuddm2Wa/m0AKQoPum9AVUCqKsw==}
cpu: [x64]
os: [freebsd]
- '@pnpm/exe.linux-arm64-musl@12.16.1':
- resolution: {integrity: sha512-BJ3mOmcmQgcUo92Ee/WfEOt1pRiv3y2MMAkhEiYHd85UiPpHTfFhv+SpCbALmfExzXk3UlaRtMYwHlkQymc4VA==}
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
+ resolution: {integrity: sha512-Vp+TIMPPyackVCXkOdEKH/RmAn/r07EcIyrgZYQK7VrkksqZOie0GnWIx+85mPqeFEYCRtXIZAFJ9L4ceTndDg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-arm64@12.16.1':
- resolution: {integrity: sha512-JaRd5gNxwdNGBBkrZFt8bknrK4YmHVJBW0JMhUQ0fJ0dEYp6C2GT9ExaCqOO8EwYEyqM+jpKgJIK+8WFaJy3ew==}
+ '@pnpm/exe.linux-arm64@12.18.0':
+ resolution: {integrity: sha512-2dpyVBCHT+FfpuQh9i+7MXAqNWYLCvD5vYr5p6Eimxoga8USLnjbUgyj72AOrO0hjc5ri3TEFP3jiyBHjkSZpQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-ppc64@12.16.1':
- resolution: {integrity: sha512-FnSV0Jv40S1cMv7vFNWwvu0X567Lec4L4HCRead3CFcD6zQDNbGw81s8N5bcKPahtPD9ApVuhsbmFCx4rw6RMw==}
+ '@pnpm/exe.linux-ppc64@12.18.0':
+ resolution: {integrity: sha512-BBOOOfNJ2QwIIya3eKqOjiN4WNTszfRz7HCvw9XggcT7+ftMjNP8XJ/GfW+ltCBeUFR9d8WBVsr2m/NLjX2CZQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-riscv64@12.16.1':
- resolution: {integrity: sha512-C1Sww4FN5IttD4atRRhAKmQtSGWVp04ZAKNxO8pfu2bkRPwOW+7v+2DH1Xs1W+kZYYpO86BYDvUcadefF+AgaQ==}
+ '@pnpm/exe.linux-riscv64@12.18.0':
+ resolution: {integrity: sha512-7kMN77xSOYJX8GPSH5RbNAc5oM61LMmcSUukDDUwllnZPXm8GRPskCNsTWy8SCw01Kr1FB+5SwGNMiTdiziLNQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-s390x@12.16.1':
- resolution: {integrity: sha512-kn2fautsTcxIMODoovQVqZyfpDRdNgGkoeVqNdrKqbeBBvrEl+fXLkmZiq5xDht1LMr4sYiCNcsMfNMT6JPFmg==}
+ '@pnpm/exe.linux-s390x@12.18.0':
+ resolution: {integrity: sha512-htuSCpEcmDzhKoJqXbPkvfr176dBHU0QIF5mWcRiqxRXAB/1JoYiMYotfjWpk+ztgpB9qlx4XnWlLFAf7gzc6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@pnpm/exe.linux-x64-musl@12.16.1':
- resolution: {integrity: sha512-PM6ccHCOe/O9SsTflTJTYWfwogJZa6EmUvpnwZgiPguJBddh20wDQKgxUPXf48rDsPm9vMsIij0uHswwwbXL8g==}
+ '@pnpm/exe.linux-x64-musl@12.18.0':
+ resolution: {integrity: sha512-Uj+vzfIQ62kDP10x36yHZIXVs5ohdNtiPYwn5FhCLlNScHPo0OAI+ShGDtLofiBXKE7umu71Jmjm7N8a8zVcDw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@pnpm/exe.linux-x64@12.16.1':
- resolution: {integrity: sha512-RK//8ZLcXGW8A2k8bQOXZDBN1Qu92zN4dYnG1bzj1zoQ1fkZ6jNzZ1AvXtsfGVma795CJtvoaF5bLXf4l/FIUw==}
+ '@pnpm/exe.linux-x64@12.18.0':
+ resolution: {integrity: sha512-OJ+X2wcraldCwj75pCIerWARQSRpdfj0eBTs/2ODyhfeW46ylOnjTIE/GKra6Mn6E72/gBmXS8igrUioa+F9fQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@pnpm/exe.win32-arm64@12.16.1':
- resolution: {integrity: sha512-Ox3kNNVxtGw6pK7SVejmeOUgHhUTZgAM7NQQ6cU7frPw3ix9+j7d2MGbRg3fyEFAaKWq8ZAZLTQGcDyLnAu+qA==}
+ '@pnpm/exe.win32-arm64@12.18.0':
+ resolution: {integrity: sha512-wEY6jiACGcbhhi5yD59doHqNTndS7AaujaPmtWAu1DKkHru2hy5fJ9yUGecW72Ypaw2/I3BEprfMOopap2NQtw==}
cpu: [arm64]
os: [win32]
- '@pnpm/exe.win32-x64@12.16.1':
- resolution: {integrity: sha512-k+FhRJ0ttphFoFIVB1Sk4v76YJAulafmA/Ly57cysesUhhIzVlApeOShUz0jXubKx317TThlEfpQrukldnqORA==}
+ '@pnpm/exe.win32-x64@12.18.0':
+ resolution: {integrity: sha512-5FJkghO7RLRkQpWxeVEygW9XsmnNuxzPfXbgwFWCHsFyFhpDn/vOdL88ToQEM0Kt5igdW5s6U0/IDH8Dvkt3pg==}
cpu: [x64]
os: [win32]
- pnpm@12.16.1:
- resolution: {integrity: sha512-CR0d7nknV1Zhsl2rPCrjHK/BxU1rce1qZgDPDByxBDSkR+rhQBXxsj4ua+3u1535SpMuIWTSgyKA3OP7MvZW0Q==}
+ pnpm@12.18.0:
+ resolution: {integrity: sha512-nXiC1dyCFH7PxOBiqjSDTgrQKWcQoYN6ERWuASEn02txCeMhrBWYod0KZVl2gbHpmRfhLtDXSerpEYeUM2O+sw==}
engines: {node: '>=18'}
hasBin: true
snapshots:
- '@pnpm/exe.android-arm64@12.16.1':
+ '@pnpm/exe.android-arm64@12.18.0':
optional: true
- '@pnpm/exe.android-x64@12.16.1':
+ '@pnpm/exe.android-x64@12.18.0':
optional: true
- '@pnpm/exe.darwin-arm64@12.16.1':
+ '@pnpm/exe.darwin-arm64@12.18.0':
optional: true
- '@pnpm/exe.darwin-x64@12.16.1':
+ '@pnpm/exe.darwin-x64@12.18.0':
optional: true
- '@pnpm/exe.freebsd-x64@12.16.1':
+ '@pnpm/exe.freebsd-x64@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64-musl@12.16.1':
+ '@pnpm/exe.linux-arm64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-arm64@12.16.1':
+ '@pnpm/exe.linux-arm64@12.18.0':
optional: true
- '@pnpm/exe.linux-ppc64@12.16.1':
+ '@pnpm/exe.linux-ppc64@12.18.0':
optional: true
- '@pnpm/exe.linux-riscv64@12.16.1':
+ '@pnpm/exe.linux-riscv64@12.18.0':
optional: true
- '@pnpm/exe.linux-s390x@12.16.1':
+ '@pnpm/exe.linux-s390x@12.18.0':
optional: true
- '@pnpm/exe.linux-x64-musl@12.16.1':
+ '@pnpm/exe.linux-x64-musl@12.18.0':
optional: true
- '@pnpm/exe.linux-x64@12.16.1':
+ '@pnpm/exe.linux-x64@12.18.0':
optional: true
- '@pnpm/exe.win32-arm64@12.16.1':
+ '@pnpm/exe.win32-arm64@12.18.0':
optional: true
- '@pnpm/exe.win32-x64@12.16.1':
+ '@pnpm/exe.win32-x64@12.18.0':
optional: true
- pnpm@12.16.1:
+ pnpm@12.18.0:
optionalDependencies:
- '@pnpm/exe.android-arm64': 12.16.1
- '@pnpm/exe.android-x64': 12.16.1
- '@pnpm/exe.darwin-arm64': 12.16.1
- '@pnpm/exe.darwin-x64': 12.16.1
- '@pnpm/exe.freebsd-x64': 12.16.1
- '@pnpm/exe.linux-arm64': 12.16.1
- '@pnpm/exe.linux-arm64-musl': 12.16.1
- '@pnpm/exe.linux-ppc64': 12.16.1
- '@pnpm/exe.linux-riscv64': 12.16.1
- '@pnpm/exe.linux-s390x': 12.16.1
- '@pnpm/exe.linux-x64': 12.16.1
- '@pnpm/exe.linux-x64-musl': 12.16.1
- '@pnpm/exe.win32-arm64': 12.16.1
- '@pnpm/exe.win32-x64': 12.16.1
+ '@pnpm/exe.android-arm64': 12.18.0
+ '@pnpm/exe.android-x64': 12.18.0
+ '@pnpm/exe.darwin-arm64': 12.18.0
+ '@pnpm/exe.darwin-x64': 12.18.0
+ '@pnpm/exe.freebsd-x64': 12.18.0
+ '@pnpm/exe.linux-arm64': 12.18.0
+ '@pnpm/exe.linux-arm64-musl': 12.18.0
+ '@pnpm/exe.linux-ppc64': 12.18.0
+ '@pnpm/exe.linux-riscv64': 12.18.0
+ '@pnpm/exe.linux-s390x': 12.18.0
+ '@pnpm/exe.linux-x64': 12.18.0
+ '@pnpm/exe.linux-x64-musl': 12.18.0
+ '@pnpm/exe.win32-arm64': 12.18.0
+ '@pnpm/exe.win32-x64': 12.18.0
---
lockfileVersion: '9.0'
diff --git a/render-wasm/scripts/cargo-build.test.cjs b/render-wasm/scripts/cargo-build.test.cjs
index e757c7cd95..01a080aa42 100644
--- a/render-wasm/scripts/cargo-build.test.cjs
+++ b/render-wasm/scripts/cargo-build.test.cjs
@@ -347,3 +347,58 @@ test("rejects malformed Cargo JSON and removes stale build facts", (t) => {
assert.match(result.stderr, /ERROR:/);
assert.equal(fs.existsSync(f.info), false);
});
+
+function runSetup(t, prepared) {
+ const root = fs.mkdtempSync(path.join(os.tmpdir(), "render-wasm-setup-"));
+ t.after(() => fs.rmSync(root, { recursive: true, force: true }));
+ const bin = path.join(root, "bin");
+ const marker = path.join(root, "calls");
+ fs.mkdirSync(bin);
+ for (const name of ["rustup", "pnpm"]) {
+ fs.writeFileSync(
+ path.join(bin, name),
+ `#!/bin/sh\nprintf '%s\\n' "${name} $*" >> "$MARKER"\n`,
+ { mode: 0o755 },
+ );
+ }
+ const env = {
+ ...process.env,
+ MARKER: marker,
+ PATH: `${bin}:${process.env.PATH}`,
+ };
+ if (prepared === undefined) {
+ delete env.PENPOT_WASM_PREPARED;
+ } else {
+ env.PENPOT_WASM_PREPARED = prepared;
+ }
+ const result = spawnSync(
+ "bash",
+ [
+ "--noprofile",
+ "--norc",
+ "-c",
+ 'source "$1" frontend; setup',
+ "setup-test",
+ path.resolve(__dirname, "..", "_build_env"),
+ ],
+ {
+ cwd: path.resolve(__dirname, ".."),
+ env,
+ encoding: "utf8",
+ },
+ );
+ assert.equal(result.status, 0, result.stderr);
+ return fs.existsSync(marker) ? fs.readFileSync(marker, "utf8") : "";
+}
+
+test("prepared setup skips rustup and pnpm", (t) => {
+ const normal = runSetup(t);
+ assert.match(normal, /^rustup default /m);
+ assert.match(normal, /^pnpm install$/m);
+
+ const disabled = runSetup(t, "0");
+ assert.match(disabled, /^rustup default /m);
+ assert.match(disabled, /^pnpm install$/m);
+
+ assert.equal(runSetup(t, "1"), "");
+});
diff --git a/render-wasm/src/globals.rs b/render-wasm/src/globals.rs
index 26e149d97c..cc9e718bdf 100644
--- a/render-wasm/src/globals.rs
+++ b/render-wasm/src/globals.rs
@@ -16,7 +16,7 @@ static mut RENDER_RESOURCES: *mut RenderResources = std::ptr::null_mut();
pub(crate) fn get_design_state() -> &'static mut State {
unsafe {
- debug_assert!(!DESIGN_STATE.is_null(), "Design State is null");
+ assert!(!DESIGN_STATE.is_null(), "Design State is null");
&mut *DESIGN_STATE
}
}
@@ -35,7 +35,7 @@ pub(crate) fn get_gpu_state() -> &'static mut GpuState {
#[inline(always)]
pub(crate) fn get_render_state() -> &'static mut RenderState {
unsafe {
- debug_assert!(!RENDER_STATE.is_null(), "Render State is null");
+ assert!(!RENDER_STATE.is_null(), "Render State is null");
&mut *RENDER_STATE
}
}
@@ -64,7 +64,7 @@ pub(crate) fn has_render_resources() -> bool {
#[inline(always)]
pub(crate) fn get_resources() -> &'static mut RenderResources {
unsafe {
- debug_assert!(!RENDER_RESOURCES.is_null(), "Render Resources is null");
+ assert!(!RENDER_RESOURCES.is_null(), "Render Resources is null");
&mut *RENDER_RESOURCES
}
}
@@ -72,7 +72,7 @@ pub(crate) fn get_resources() -> &'static mut RenderResources {
#[inline(always)]
pub(crate) fn get_text_editor_state() -> &'static mut TextEditorState {
unsafe {
- debug_assert!(!TEXT_EDITOR_STATE.is_null(), "Text Editor state is null");
+ assert!(!TEXT_EDITOR_STATE.is_null(), "Text Editor state is null");
&mut *TEXT_EDITOR_STATE
}
}
@@ -80,7 +80,7 @@ pub(crate) fn get_text_editor_state() -> &'static mut TextEditorState {
#[inline(always)]
pub(crate) fn get_ui_state() -> &'static mut UIState {
unsafe {
- debug_assert!(!UI_STATE.is_null(), "UI State is null");
+ assert!(!UI_STATE.is_null(), "UI State is null");
&mut *UI_STATE
}
}
@@ -234,14 +234,28 @@ pub extern "C" fn init_headless(_width: i32, _height: i32) -> Result<()> {
Ok(())
}
+unsafe fn drop_global(slot: *mut *mut T) {
+ let ptr = std::ptr::replace(slot, std::ptr::null_mut());
+ if !ptr.is_null() {
+ drop(Box::from_raw(ptr));
+ }
+}
+
#[no_mangle]
#[wasm_error]
pub extern "C" fn clean_up() -> Result<()> {
- // Cancel the current animation frame if it exists so
- // it won't try to render without context
- let render_state = get_render_state();
- render_state.prepare_context_loss_cleanup();
- unsafe { DESIGN_STATE = std::ptr::null_mut() }
+ if has_render_state() {
+ // Abandons the GL context, so the drops below issue no GL calls.
+ get_render_state().prepare_context_loss_cleanup();
+ }
+ unsafe {
+ drop_global(std::ptr::addr_of_mut!(DESIGN_STATE));
+ drop_global(std::ptr::addr_of_mut!(TEXT_EDITOR_STATE));
+ drop_global(std::ptr::addr_of_mut!(UI_STATE));
+ drop_global(std::ptr::addr_of_mut!(RENDER_STATE));
+ drop_global(std::ptr::addr_of_mut!(RENDER_RESOURCES));
+ drop_global(std::ptr::addr_of_mut!(GPU_STATE));
+ }
mem::free_bytes()?;
Ok(())
}
diff --git a/render-wasm/src/math/bools.rs b/render-wasm/src/math/bools.rs
index cb300d83d9..653ab6cc8f 100644
--- a/render-wasm/src/math/bools.rs
+++ b/render-wasm/src/math/bools.rs
@@ -419,11 +419,7 @@ fn beziers_to_segments(beziers: &[(BezierSource, Bezier)]) -> Vec {
let mut last_end = (first_bezier.end.x as f32, first_bezier.end.y as f32);
let mut cur_end = first_bezier.end;
- loop {
- let Some((next_src, next_bezier)) = find_next_in_pool(&mut pool, cur_end, cur_src)
- else {
- break;
- };
+ while let Some((next_src, next_bezier)) = find_next_in_pool(&mut pool, cur_end, cur_src) {
push_bezier(&mut result, &next_bezier);
last_end = (next_bezier.end.x as f32, next_bezier.end.y as f32);
cur_end = next_bezier.end;
diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs
index 5b47c8bce2..9072be3f08 100644
--- a/render-wasm/src/render.rs
+++ b/render-wasm/src/render.rs
@@ -764,6 +764,13 @@ impl RenderState {
Self::union_stroke_outset(base, stroke_outset)
}
+ /// Fill ∪ outer stroke outline in shape-local space: the area a drop
+ /// shadow must not show under (vector, SVG).
+ pub(crate) fn drop_shadow_clear_path(shape: &Shape) -> skia::Path {
+ let stroke_outset = Stroke::max_bounds_width(shape.visible_strokes(), shape.is_open());
+ Self::background_blur_clip_path(shape, stroke_outset)
+ }
+
/// Unions a centered stroke of width `2 * stroke_outset` into `base`.
/// The inward half disappears in the union, leaving `stroke_outset` beyond
/// the fill outline.
@@ -3431,20 +3438,11 @@ impl RenderState {
return self.render_masked_group_silhouette(shape, clip_bounds, pass);
}
- let flat = Shadow::new(
- skia::Color::BLACK,
- 0.0,
- 0.0,
- (0.0, 0.0),
- crate::shapes::ShadowStyle::Drop,
- false,
- );
-
self.render_drop_black_shadow(
shape,
pass.tree,
&shape.extrect(pass.tree, pass.scale),
- &flat,
+ &Shadow::silhouette(),
clip_bounds.clone(),
pass.scale,
pass.extra_layer_blur,
@@ -3649,7 +3647,19 @@ impl RenderState {
// High zoom with blur: use render_into_filter_surface to ensure blur has enough space
// Apply spread geometrically to avoid dilate filter rounding issues
let layer_blur_value = combined_blur.map(|b| b.value).unwrap_or(0.0);
- let cache_key = clip_bounds.is_none().then(|| {
+
+ // Only the part that can blur into this tile matters. A shadow bigger
+ // than the filter surface would otherwise be cut at MIN_FIT_SCALE.
+ let mut filter_bounds = bounds;
+ if target_surface != SurfaceId::Export {
+ let reach = 2.0 * (shadow.blur + layer_blur_value) + 1.0;
+ let tile_reach = self.render_area_with_margins.with_outset((reach, reach));
+ if !filter_bounds.intersect(tile_reach) {
+ return Ok(());
+ }
+ }
+
+ let cache_key = (clip_bounds.is_none() && filter_bounds == bounds).then(|| {
shadows::DropShadowFilterCacheKey::for_shape(
shape.id,
shadow,
@@ -3682,7 +3692,7 @@ impl RenderState {
// Apply spread geometrically to avoid dilate filter rounding issues
let filter_result = filters::render_into_filter_surface(
self,
- bounds,
+ filter_bounds,
blur_downscale,
|state, temp_surface| {
let canvas = state.surfaces.canvas(temp_surface);
@@ -3712,7 +3722,8 @@ impl RenderState {
)?;
if let Some((mut surface, filter_scale)) = filter_result {
- let cached = shadows::CachedDropShadowFilter::new(bounds, filter_scale, &mut surface);
+ let cached =
+ shadows::CachedDropShadowFilter::new(filter_bounds, filter_scale, &mut surface);
shadows::blit_cached_drop_shadow_filter(
&mut self.surfaces,
&cached,
@@ -3819,6 +3830,27 @@ impl RenderState {
.canvas(SurfaceId::DropShadows)
.draw_paint(&paint);
+ // Like CSS box-shadow, the shadow never shows under the shape.
+ if element.clears_drop_shadow_underneath() {
+ let mut paint = skia::Paint::default();
+ paint.set_blend_mode(skia::BlendMode::DstOut);
+ let layer_rec = skia::canvas::SaveLayerRec::default().paint(&paint);
+ self.surfaces
+ .canvas(SurfaceId::DropShadows)
+ .save_layer(&layer_rec);
+ self.render_drop_black_shadow(
+ element,
+ tree,
+ element_extrect,
+ &Shadow::silhouette(),
+ clip_bounds.clone(),
+ scale,
+ None,
+ target_surface,
+ )?;
+ self.surfaces.canvas(SurfaceId::DropShadows).restore();
+ }
+
self.surfaces.canvas(SurfaceId::DropShadows).restore();
}
diff --git a/render-wasm/src/render/surfaces.rs b/render-wasm/src/render/surfaces.rs
index 2c60832b45..47a89c8521 100644
--- a/render-wasm/src/render/surfaces.rs
+++ b/render-wasm/src/render/surfaces.rs
@@ -27,8 +27,8 @@ const TILE_DRAWABLE_RECT: IRect = IRect {
};
const DOC_ATLAS_MAX_DIM: i32 = 4096;
-/// GPU→GPU copy of `src` from `from` into `dst` on `to_canvas`, without
-/// `image_snapshot` (avoids per-tile sync stalls on WebGL).
+/// GPU→GPU copy of `src` from `from` into `dst`, replacing destination pixels,
+/// including transparent pixels, within the current canvas clip.
fn draw_surface_src_rect_to_dst(
from: &mut skia::Surface,
to_canvas: &skia::Canvas,
@@ -48,7 +48,9 @@ fn draw_surface_src_rect_to_dst(
to_canvas.translate((dst.left, dst.top));
to_canvas.scale((sx, sy));
to_canvas.translate((-src.left, -src.top));
- from.draw(to_canvas, (0.0, 0.0), sampling, None);
+ let mut paint = skia::Paint::default();
+ paint.set_blend_mode(skia::BlendMode::Src);
+ from.draw(to_canvas, (0.0, 0.0), sampling, Some(&paint));
to_canvas.restore();
}
diff --git a/render-wasm/src/render/svg/document.rs b/render-wasm/src/render/svg/document.rs
index 1fbdd11615..703308c19e 100644
--- a/render-wasm/src/render/svg/document.rs
+++ b/render-wasm/src/render/svg/document.rs
@@ -5,6 +5,7 @@ use crate::shapes::{radius_to_sigma, Fill, Shadow, Shape, Type};
use crate::state::ShapesPoolRef;
use crate::render::vector::draw_shape_geometry;
+use crate::render::RenderState;
// Skia's SVG backend (`SkSVGDevice`) silently drops everything drawn inside a
// `save_layer`, so composite effects rendered with `save_layer` (opacity,
@@ -222,6 +223,35 @@ impl SvgLayerCanvas {
self.finish_clip_path_fragment(id, canvas);
}
+ /// Opens a group whose mask hides `element`'s outline, so its drop shadows
+ /// never show under it (CSS `box-shadow`). Returns whether it opened one.
+ pub(super) fn open_drop_shadow_clear_group(&mut self, element: &Shape) -> bool {
+ if !element.clears_drop_shadow_underneath() {
+ return false;
+ }
+ let id = self.unique("dsmask");
+ let canvas = self.new_fragment();
+ {
+ let cv: &skia::Canvas = &canvas;
+ let mut paint = Paint::default();
+ paint.set_color(skia::Color::WHITE);
+ cv.save();
+ cv.reset_matrix();
+ cv.draw_rect(
+ skia::Rect::from_wh(self.page_rect.width(), self.page_rect.height()),
+ &paint,
+ );
+ cv.restore();
+ paint.set_anti_alias(true);
+ paint.set_color(skia::Color::BLACK);
+ cv.concat(&element.centered_transform());
+ cv.draw_path(&RenderState::drop_shadow_clear_path(element), &paint);
+ }
+ self.finish_mask_fragment(&id, canvas);
+ self.open_group(&format!("mask=\"url(#{id})\""));
+ true
+ }
+
/// Finalizes a fragment canvas as a `` def.
///
/// Rewrite fill-rule to clip-rule: clipPaths ignore fill-rule, so evenodd
diff --git a/render-wasm/src/render/svg/frames.rs b/render-wasm/src/render/svg/frames.rs
index fa3bb808f6..de51c6abaf 100644
--- a/render-wasm/src/render/svg/frames.rs
+++ b/render-wasm/src/render/svg/frames.rs
@@ -34,6 +34,7 @@ pub(super) fn render_frame(
// (GPU), filter only blurs/tints — keeps stroke-ring width and rotation.
if !builder.suppress_filters {
let drops: Vec = element.drop_shadows_visible().copied().collect();
+ let cleared = !drops.is_empty() && builder.open_drop_shadow_clear_group(element);
for shadow in &drops {
let id = push_container_drop_filter(builder, shadow);
builder.open_group(&format!("filter=\"url(#{id})\""));
@@ -49,6 +50,9 @@ pub(super) fn render_frame(
builder.suppress_filters = prev_suppress;
builder.close_group();
}
+ if cleared {
+ builder.close_group();
+ }
}
let effects = content_effect_attrs(builder, element);
diff --git a/render-wasm/src/render/svg/mod.rs b/render-wasm/src/render/svg/mod.rs
index 997a68e71c..fee187db54 100644
--- a/render-wasm/src/render/svg/mod.rs
+++ b/render-wasm/src/render/svg/mod.rs
@@ -298,6 +298,7 @@ fn render_leaf(
// feMorphology rounding on circles). Filter only blurs/tints.
if !builder.suppress_filters {
let drops: Vec = element.drop_shadows_visible().copied().collect();
+ let cleared = !drops.is_empty() && builder.open_drop_shadow_clear_group(element);
for shadow in &drops {
let id = push_container_drop_filter(builder, shadow);
builder.open_group(&format!("filter=\"url(#{id})\""));
@@ -313,6 +314,9 @@ fn render_leaf(
builder.suppress_filters = prev_suppress;
builder.close_group();
}
+ if cleared {
+ builder.close_group();
+ }
}
let effects = content_effect_attrs(builder, element);
diff --git a/render-wasm/src/render/svg/tests.rs b/render-wasm/src/render/svg/tests.rs
index 490d5ef27a..2212371f1e 100644
--- a/render-wasm/src/render/svg/tests.rs
+++ b/render-wasm/src/render/svg/tests.rs
@@ -577,6 +577,43 @@ fn exports_leaf_drop_shadow_as_svg_filter() {
insta::assert_snapshot!(svg);
}
+fn render_rect_with_drop_shadow(fill: skia::Color) -> String {
+ let mut pool = ShapesPool::new();
+ let id = uid(1);
+ add_solid_rect(&mut pool, id, Uuid::nil(), (0.0, 0.0, 100.0, 80.0), fill);
+ pool.get_mut(&id).unwrap().add_shadow(Shadow::new(
+ skia::Color::BLACK,
+ 8.0,
+ 0.0,
+ (4.0, 6.0),
+ ShadowStyle::Drop,
+ false,
+ ));
+ render(&pool, id)
+}
+
+#[test]
+fn translucent_leaf_hides_drop_shadow_underneath() {
+ let svg = render_rect_with_drop_shadow(skia::Color::from_argb(100, 255, 0, 0));
+ let mask_at = svg
+ .find("mask=\"url(#dsmask")
+ .unwrap_or_else(|| panic!("drop shadow must be masked under a translucent fill: {svg}"));
+ let filter_at = svg.find("filter=\"url(#fx").expect("drop filter");
+ assert!(
+ mask_at < filter_at,
+ "the mask must wrap the drop shadow group: {svg}"
+ );
+}
+
+#[test]
+fn opaque_leaf_keeps_drop_shadow_unmasked() {
+ let svg = render_rect_with_drop_shadow(skia::Color::from_rgb(255, 0, 0));
+ assert!(
+ !svg.contains("dsmask"),
+ "an opaque fill hides the shadow already: {svg}"
+ );
+}
+
#[test]
fn leaf_drop_offset_follows_rotation_in_user_space() {
let mut pool = ShapesPool::new();
diff --git a/render-wasm/src/render/vector.rs b/render-wasm/src/render/vector.rs
index 5bb8c4795f..9dbc5651a5 100644
--- a/render-wasm/src/render/vector.rs
+++ b/render-wasm/src/render/vector.rs
@@ -1,6 +1,6 @@
use std::borrow::Cow;
-use skia_safe::{self as skia, Canvas, Paint, RRect};
+use skia_safe::{self as skia, Canvas, Matrix, Paint, RRect};
use crate::error::Result;
use crate::shapes::{
@@ -129,6 +129,8 @@ impl ShapeRenderer for VectorRenderer<'_> {
fn draw_drop_shadows(&mut self, shape: &Shape) -> Result<()> {
let layer_bounds = shape.layer_bounds();
+ self.canvas.save();
+ clip_out_drop_shadow_underneath(self.canvas, shape, &Matrix::default());
for shadow in shape.drop_shadows_visible() {
if let Some(filter) = shadow.get_drop_shadow_blur_filter() {
let mut paint = Paint::default();
@@ -150,6 +152,7 @@ impl ShapeRenderer for VectorRenderer<'_> {
self.canvas.restore();
}
}
+ self.canvas.restore();
Ok(())
}
@@ -1026,6 +1029,8 @@ fn render_container_drop_shadows(
opts: &TreeOpts,
) -> Result<()> {
let subtree_bounds = element.extrect(tree, scale);
+ canvas.save();
+ clip_out_drop_shadow_underneath(canvas, element, &element.centered_transform());
for shadow in element.drop_shadows_visible() {
let Some(filter) = shadow.get_drop_shadow_blur_filter() else {
continue;
@@ -1064,9 +1069,19 @@ fn render_container_drop_shadows(
canvas.restore();
}
+ canvas.restore();
Ok(())
}
+/// Like CSS `box-shadow`, a drop shadow never shows under its shape.
+/// `local_to_canvas` maps shape-local space to the current canvas space.
+fn clip_out_drop_shadow_underneath(canvas: &Canvas, shape: &Shape, local_to_canvas: &Matrix) {
+ if shape.clears_drop_shadow_underneath() {
+ let path = RenderState::drop_shadow_clear_path(shape).make_transform(local_to_canvas);
+ canvas.clip_path(&path, skia::ClipOp::Difference, true);
+ }
+}
+
/// `shape` grown by a drop-shadow `spread` for its silhouette, through its own
/// strokes and joins (as the GPU does for paths). Empty frames and containers
/// have no outline of their own to grow.
diff --git a/render-wasm/src/shapes.rs b/render-wasm/src/shapes.rs
index 6a157a1c13..5802f9f6fb 100644
--- a/render-wasm/src/shapes.rs
+++ b/render-wasm/src/shapes.rs
@@ -1497,6 +1497,12 @@ impl Shape {
.filter(|shadow| shadow.style() == ShadowStyle::Drop && !shadow.hidden())
}
+ pub fn clears_drop_shadow_underneath(&self) -> bool {
+ !matches!(self.shape_type, Type::Text(_))
+ && self.has_fills()
+ && !self.fills.iter().any(Fill::is_opaque)
+ }
+
#[allow(dead_code)]
pub fn inner_shadows(&self) -> impl DoubleEndedIterator- {
self.shadows
diff --git a/render-wasm/src/shapes/fills.rs b/render-wasm/src/shapes/fills.rs
index 15afbbbba7..525d848b7b 100644
--- a/render-wasm/src/shapes/fills.rs
+++ b/render-wasm/src/shapes/fills.rs
@@ -264,6 +264,16 @@ impl Fill {
}
}
+ pub fn is_opaque(&self) -> bool {
+ match self {
+ Fill::Solid(SolidColor(color)) => color.a() == 255,
+ Fill::LinearGradient(g) | Fill::RadialGradient(g) => {
+ g.opacity == 255 && g.colors.iter().all(|c| c.a() == 255)
+ }
+ Fill::Image(i) => i.opacity == 255,
+ }
+ }
+
pub fn with_full_opacity(&self) -> Fill {
match self {
Fill::Solid(SolidColor(color)) => Fill::Solid(SolidColor(skia::Color::from_argb(
diff --git a/render-wasm/src/shapes/shadows.rs b/render-wasm/src/shapes/shadows.rs
index 0a11dfdceb..d0e2864e9f 100644
--- a/render-wasm/src/shapes/shadows.rs
+++ b/render-wasm/src/shapes/shadows.rs
@@ -60,6 +60,18 @@ impl Shadow {
self.hidden
}
+ /// The bare shape silhouette: no offset, blur or spread.
+ pub fn silhouette() -> Self {
+ Self::new(
+ skia::Color::BLACK,
+ 0.0,
+ 0.0,
+ (0.0, 0.0),
+ ShadowStyle::Drop,
+ false,
+ )
+ }
+
/// Approximate on-screen footprint (blur/spread + offset) at `scale` (zoom×dpr).
#[inline]
pub fn device_extent(&self, scale: f32) -> f32 {
diff --git a/render-wasm/src/state/shapes_pool.rs b/render-wasm/src/state/shapes_pool.rs
index c877399250..cd9542068a 100644
--- a/render-wasm/src/state/shapes_pool.rs
+++ b/render-wasm/src/state/shapes_pool.rs
@@ -308,10 +308,11 @@ impl ShapesPoolImpl {
}
}
- // Expand every root modifier to its full descendant subtree.
+ // Expand every pure-move root modifier to the descendants without one.
// When CLJS sends only root shapes (translation on drag), descendants
- // need the same matrix.
- // For resize/rotate, propagate-modifiers already includes all descendants.
+ // need the same matrix. Other matrices come from propagate-modifiers,
+ // where a missing child means the child stays put (e.g. an auto-size
+ // layout parent or a layout child that does not move).
// Descendants are NOT pushed into `ids` / `modifier_uuids`: rebuild_modifier_tiles
// runs for roots, and drops the non-clipping ancestors' extrects separately.
let root_pairs: Vec<(usize, skia::Matrix)> = ids
@@ -319,7 +320,7 @@ impl ShapesPoolImpl {
.filter_map(|uuid| {
let idx = self.uuid_to_idx.get(uuid).copied()?;
let matrix = modifiers_with_idx.get(&idx).copied()?;
- Some((idx, matrix))
+ math::is_move_only_matrix(&matrix).then_some((idx, matrix))
})
.collect();
@@ -599,4 +600,33 @@ mod tests {
pool.get_mut(&id).expect("shape").set_opacity(0.5);
assert_eq!(pool.get(&id).expect("shape").opacity, 0.5);
}
+
+ fn pool_with_parent_and_child() -> (ShapesPool, Uuid, Uuid) {
+ let mut pool = ShapesPool::new();
+ pool.initialize(2);
+ let parent = Uuid::new_v4();
+ let child = Uuid::new_v4();
+ pool.add_shape(parent).add_child(child);
+ pool.add_shape(child).set_parent(parent);
+ (pool, parent, child)
+ }
+
+ #[test]
+ fn set_modifiers_passes_a_move_down_to_children() {
+ let (mut pool, parent, child) = pool_with_parent_and_child();
+ let translate = skia::Matrix::translate((10.0, 0.0));
+
+ pool.set_modifiers(HashMap::from([(parent, translate)]));
+
+ assert_eq!(pool.get_modifier(&child), Some(&translate));
+ }
+
+ #[test]
+ fn set_modifiers_keeps_a_resize_on_the_parent() {
+ let (mut pool, parent, child) = pool_with_parent_and_child();
+
+ pool.set_modifiers(HashMap::from([(parent, skia::Matrix::scale((1.0, 2.4)))]));
+
+ assert_eq!(pool.get_modifier(&child), None);
+ }
}
diff --git a/render-wasm/src/tiles.rs b/render-wasm/src/tiles.rs
index 8180266fb9..2dbfec39b4 100644
--- a/render-wasm/src/tiles.rs
+++ b/render-wasm/src/tiles.rs
@@ -444,7 +444,8 @@ impl PendingTiles {
// Farthest first, since we use pop() to process the tiles
// in order of priority (closest first)
- self.tile_order.sort_unstable_by(|a, b| b.0.cmp(&a.0));
+ self.tile_order
+ .sort_unstable_by_key(|a| std::cmp::Reverse(a.0));
for (_, tile) in self.tile_order.iter() {
let tile = *tile;
diff --git a/render-wasm/src/wasm/fills.rs b/render-wasm/src/wasm/fills.rs
index 28ff005bec..3de2b4dd79 100644
--- a/render-wasm/src/wasm/fills.rs
+++ b/render-wasm/src/wasm/fills.rs
@@ -87,13 +87,11 @@ impl TryFrom<&[u8]> for RawFillData {
// FIXME: return Result
pub fn read_fills_from_bytes(buffer: &[u8], num_fills: usize) -> Vec
{
buffer
- .chunks_exact(RAW_FILL_DATA_SIZE)
+ .as_chunks::()
+ .0
+ .iter()
.take(num_fills)
- .map(|bytes| {
- RawFillData::try_from(bytes)
- .expect("Invalid fill data")
- .into()
- })
+ .map(|bytes| RawFillData::from(*bytes).into())
.collect()
}
diff --git a/render-wasm/src/wasm/text/helpers.rs b/render-wasm/src/wasm/text/helpers.rs
index f9ccfebdd0..be51aadcb2 100644
--- a/render-wasm/src/wasm/text/helpers.rs
+++ b/render-wasm/src/wasm/text/helpers.rs
@@ -297,12 +297,9 @@ pub fn replace_text_with_newlines(
let mut current_cursor = *cursor;
- if let Some(new_offset) = replace_text_at_cursor(text_content, ¤t_cursor, lines[0]) {
- current_cursor =
- TextPositionWithAffinity::new_downstream_affinity(current_cursor.paragraph, new_offset);
- } else {
- return None;
- }
+ let new_offset = replace_text_at_cursor(text_content, ¤t_cursor, lines[0])?;
+ current_cursor =
+ TextPositionWithAffinity::new_downstream_affinity(current_cursor.paragraph, new_offset);
for line in lines.iter().skip(1) {
if !split_paragraph_at_cursor(text_content, ¤t_cursor) {
@@ -336,12 +333,9 @@ pub fn insert_text_with_newlines(
let mut current_cursor = *cursor;
- if let Some(new_offset) = insert_text_at_cursor(text_content, ¤t_cursor, lines[0]) {
- current_cursor =
- TextPositionWithAffinity::new_downstream_affinity(current_cursor.paragraph, new_offset);
- } else {
- return None;
- }
+ let new_offset = insert_text_at_cursor(text_content, ¤t_cursor, lines[0])?;
+ current_cursor =
+ TextPositionWithAffinity::new_downstream_affinity(current_cursor.paragraph, new_offset);
for line in lines.iter().skip(1) {
if !split_paragraph_at_cursor(text_content, ¤t_cursor) {
@@ -477,8 +471,7 @@ pub fn delete_selection_range(text_content: &mut TextContent, selection: &TextSe
delete_range_in_paragraph(&mut paragraphs[end_paragraph], 0, end.offset);
- let end_para_children: Vec<_> =
- paragraphs[end_paragraph].children_mut().drain(..).collect();
+ let end_para_children: Vec<_> = std::mem::take(paragraphs[end_paragraph].children_mut());
paragraphs[start.paragraph]
.children_mut()
.extend(end_para_children);
@@ -593,10 +586,7 @@ pub fn delete_char_before(
let paragraphs = text_content.paragraphs_mut();
let prev_para_len = paragraph_char_count(¶graphs[prev_para_idx]);
- let current_children: Vec<_> = paragraphs[cursor.paragraph]
- .children_mut()
- .drain(..)
- .collect();
+ let current_children: Vec<_> = std::mem::take(paragraphs[cursor.paragraph].children_mut());
paragraphs[prev_para_idx]
.children_mut()
.extend(current_children);
@@ -770,7 +760,7 @@ pub fn delete_char_after(text_content: &mut TextContent, cursor: &TextPositionWi
delete_range_in_paragraph(para, cursor.offset, end);
} else if cursor.paragraph < paragraphs.len() - 1 {
let next_para_idx = cursor.paragraph + 1;
- let next_children: Vec<_> = paragraphs[next_para_idx].children_mut().drain(..).collect();
+ let next_children: Vec<_> = std::mem::take(paragraphs[next_para_idx].children_mut());
paragraphs[cursor.paragraph]
.children_mut()
.extend(next_children);
diff --git a/render-wasm/src/wasm/ui.rs b/render-wasm/src/wasm/ui.rs
index 3ef343618c..f63bccfd2d 100644
--- a/render-wasm/src/wasm/ui.rs
+++ b/render-wasm/src/wasm/ui.rs
@@ -76,11 +76,13 @@ impl TryFrom<&[u8]> for RawGuide {
fn read_guides_from_bytes(buffer: &[u8], count: usize) -> Result> {
buffer
- .chunks_exact(RAW_GUIDE_SIZE)
+ .as_chunks::()
+ .0
+ .iter()
.take(count)
.enumerate()
.map(|(i, bytes)| {
- RawGuide::try_from(bytes).map(|raw_guide| {
+ RawGuide::try_from(bytes.as_slice()).map(|raw_guide| {
let mut guide: Guide = raw_guide.into();
guide.index = i;
guide
diff --git a/scripts/changelog.py b/scripts/changelog.py
index fbba459fbd..280ffa1f85 100644
--- a/scripts/changelog.py
+++ b/scripts/changelog.py
@@ -1,18 +1,24 @@
#!/usr/bin/env python3
"""
-changelog.py — Helper commands for the ``update-changelog`` skill.
+changelog.py — Helper commands for the changelog flow.
Uses ``scripts/gh.py`` (via subprocess) and the local ``CHANGES.md`` so the
-skill file itself stays free of inline programs.
+flow memory (`mem:workflow/updating-changelog`) stays free of inline programs.
Subcommands:
check-merged Verify that every given PR is merged (warns otherwise)
+ boom Generate the :boom: section from `breaking change` issues
+ security Generate the :lock: section from advisories fixed in a version
cross-ref Compare merged milestone PRs against the changelog section
report Generate the anomaly report (CHANGES-ISSUES.md)
Usage:
python3 scripts/changelog.py check-merged 9179 9204 9311
cat prs.txt | python3 scripts/changelog.py check-merged --stdin
+ python3 scripts/changelog.py boom "2.19.0"
+ python3 scripts/changelog.py boom "2.19.0" --write
+ python3 scripts/changelog.py security "2.19.1"
+ python3 scripts/changelog.py security "2.19.1" --write
python3 scripts/changelog.py cross-ref "2.16.0"
python3 scripts/changelog.py report "2.16.0"
python3 scripts/changelog.py report "2.16.0" --changes CHANGES.md --output CHANGES-ISSUES.md
@@ -34,6 +40,27 @@ from pathlib import Path
REPO = "penpot/penpot"
GH_PY = Path(__file__).resolve().parent / "gh.py"
+BOOM_HEADING = "### :boom: Breaking changes & Deprecations"
+SECURITY_HEADING = "### :lock: Security fixes"
+BREAKING_LABEL = "breaking change"
+EXCLUDED_LABELS = {"release blocker", "no changelog"}
+
+# PR label carried by the security fixes that reference their advisory in the
+# PR body, and the GHSA id pattern used to find that reference.
+SECURITY_PR_LABEL = "pr pt"
+GHSA_ID_RE = re.compile(r"GHSA-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}", re.IGNORECASE)
+
+# Marker line of the issue comment that carries the changelog text of a
+# breaking change. Everything after the marker line is the entry content.
+BREAKING_NOTE_RE = re.compile(r"(?im)^#{1,3}[ \t]+Breaking change note[ \t]*$")
+
+# Level used for the headings found inside a breaking change note. Entries
+# themselves are level-4 headings, so note headings must live below them.
+NOTE_HEADING = "#####"
+
+# Emoji prefixes used at the start of issue titles (`:bug:`, `:sparkles:`).
+TITLE_PREFIX_RE = re.compile(r"^(?::[A-Za-z0-9_+-]+:\s*)+")
+
# ─────────────────────────────────────────────
# Shared helpers
@@ -125,6 +152,84 @@ def collect_changelog_issues(section: str) -> set[int]:
return numbers
+def issue_excluded(issue: dict | None) -> bool:
+ """Return True when an issue must stay out of the changelog.
+
+ Shared by the ``report`` and ``boom`` subcommands so the exclusions
+ cannot drift apart.
+ """
+ if not issue:
+ return True
+ if issue.get("state") != "CLOSED":
+ return True
+ if issue.get("issue_type") in {"Task"}:
+ return True
+ if issue.get("project_status") in {"Rejected"}:
+ return True
+ if EXCLUDED_LABELS & set(issue.get("labels", [])):
+ return True
+ return False
+
+
+def extract_breaking_note(comment_body: str | None) -> str | None:
+ """Return the content that follows a ``## Breaking change note`` marker.
+
+ The whole comment is used (paragraphs, lists, code blocks), not just its
+ first paragraph, so a breaking change can be as detailed as needed.
+ """
+ if not comment_body:
+ return None
+ match = BREAKING_NOTE_RE.search(comment_body)
+ if not match:
+ return None
+ content = demote_headings(comment_body[match.end():].strip("\n"))
+ return content.strip() or None
+
+
+def demote_headings(markdown: str) -> str:
+ """Push note headings below the entry heading, leaving code fences alone."""
+ lines: list[str] = []
+ in_fence = False
+ for line in markdown.splitlines():
+ if line.lstrip().startswith(("```", "~~~")):
+ in_fence = not in_fence
+ lines.append(line)
+ continue
+ if not in_fence:
+ match = re.match(r"^#{1,4}([ \t]+.*)$", line)
+ if match:
+ line = NOTE_HEADING + match.group(1)
+ lines.append(line)
+ return "\n".join(lines)
+
+
+def strip_title_prefix(title: str) -> str:
+ """Remove leading emoji shortcodes from a title."""
+ return TITLE_PREFIX_RE.sub("", title).strip()
+
+
+def closing_pr_numbers(issue: dict) -> list[int]:
+ """Return the sorted closing PR numbers of an issue."""
+ return sorted(set(issue.get("closing_prs", [])))
+
+
+def render_boom_entry(
+ issue: dict,
+ note: str | None,
+ pr_numbers: list[int],
+ author: str | None = None,
+) -> str:
+ """Render one ``:boom:`` entry: title, note content and references."""
+ title = strip_title_prefix(issue["title"])
+ attribution = f"(by @{author}) " if author else ""
+ refs = attribution + issue_link(issue["number"])
+ if pr_numbers:
+ refs += " (PR: " + ", ".join(pr_link(n) for n in pr_numbers) + ")"
+ if note:
+ return f"#### {title}\n\n{note}\n\n{refs}"
+ return f"#### {title}\n\n{refs}"
+
+
# ─────────────────────────────────────────────
# Subcommand: check-merged
# ─────────────────────────────────────────────
@@ -155,6 +260,324 @@ def cmd_check_merged(args: argparse.Namespace) -> None:
print(f"OK: all {len(prs)} PRs are merged", file=sys.stderr)
+# ─────────────────────────────────────────────
+# Subcommand: boom
+# ─────────────────────────────────────────────
+
+
+def version_section_bounds(content: str, milestone: str) -> tuple[int, int] | None:
+ """Return the ``[start, end)`` offsets of a ``## `` section."""
+ match = re.search(
+ rf"(?m)^## {re.escape(milestone)}(?:[ \t]*\([^)]*\))?[ \t]*$", content
+ )
+ if not match:
+ return None
+ start = match.start()
+ next_heading = re.search(r"(?m)^## ", content[match.end():])
+ end = match.end() + next_heading.start() if next_heading else len(content)
+ return start, end
+
+
+def entry_list_body(entries: list[str]) -> str:
+ """Return the body text that follows a generated subsection heading."""
+ if entries:
+ return "\n\n" + "\n\n".join(entries) + "\n\n"
+ return "\n\n"
+
+
+def replace_boom_section(content: str, milestone: str, entries: list[str]) -> str:
+ """Return ``content`` with its ``:boom:`` subsection replaced.
+
+ The subsection is inserted right after the version header when missing,
+ which keeps ``:boom:`` as the first section.
+ """
+ bounds = version_section_bounds(content, milestone)
+ if bounds is None:
+ raise ValueError(f'no "## {milestone}" section found')
+ start, end = bounds
+ section = content[start:end]
+ heading = re.search(rf"(?m)^{re.escape(BOOM_HEADING)}[ \t]*$", section)
+ if heading:
+ body_start = start + heading.end()
+ next_heading = re.search(r"(?m)^### ", content[body_start:end])
+ body_end = body_start + next_heading.start() if next_heading else end
+ return content[:body_start] + entry_list_body(entries) + content[body_end:]
+ header = re.match(r"(?m)^## [^\n]*\n", section)
+ if header is None:
+ raise ValueError(f'version "## {milestone}" header has no trailing newline')
+ insert_at = start + header.end()
+ block = "\n" + BOOM_HEADING + entry_list_body(entries)[:-1]
+ return content[:insert_at] + block + content[insert_at:]
+
+
+def fetch_prs_by_issue(issues: list[dict]) -> dict[int, dict]:
+ """Fetch every closing PR of ``issues``, keyed by PR number."""
+ numbers = sorted({n for issue in issues for n in issue.get("closing_prs", [])})
+ if not numbers:
+ return {}
+ return {pr["number"]: pr for pr in fetch_prs_by_numbers(numbers)}
+
+
+def fetch_breaking_notes(issues: list[dict]) -> dict[int, str]:
+ """Return the last ``## Breaking change note`` comment of each issue."""
+ if not issues:
+ return {}
+ comments = json.loads(
+ run_gh_py("comments", *[str(issue["number"]) for issue in issues])
+ )
+ notes: dict[int, str] = {}
+ for comment in comments:
+ note = extract_breaking_note(comment.get("body"))
+ if note is None:
+ continue
+ number = comment["issue"]
+ if number in notes:
+ print(
+ f'WARNING: issue #{number} has several "## Breaking change note" '
+ "comments; using the last one",
+ file=sys.stderr,
+ )
+ notes[number] = note
+ return notes
+
+
+def cmd_boom(args: argparse.Namespace) -> None:
+ """Generate the ``:boom:`` section from ``breaking change`` issues."""
+ all_issues = json.loads(run_gh_py("issues", args.milestone, "--state", "all"))
+ labelled = sorted(
+ (
+ issue
+ for issue in all_issues
+ if BREAKING_LABEL in issue.get("labels", [])
+ and not issue_excluded(issue)
+ ),
+ key=lambda issue: issue["number"],
+ )
+
+ notes: dict[int, str] = {}
+ prs: dict[int, dict] = {}
+ if labelled:
+ notes = fetch_breaking_notes(labelled)
+ prs = fetch_prs_by_issue(labelled)
+
+ entries: list[str] = []
+ for issue in labelled:
+ note = notes.get(issue["number"])
+ if not note:
+ print(
+ f'WARNING: issue #{issue["number"]} has no "## Breaking change note" '
+ "comment; the entry will have no description",
+ file=sys.stderr,
+ )
+ merged = [
+ prs[num]
+ for num in closing_pr_numbers(issue)
+ if num in prs and prs[num].get("state") == "MERGED"
+ ]
+ author = None
+ if "community contribution" in issue.get("labels", []):
+ authors = [pr["author"] for pr in merged if pr.get("author")]
+ author = authors[0] if authors else None
+ entries.append(
+ render_boom_entry(issue, note, [pr["number"] for pr in merged], author)
+ )
+
+ block = BOOM_HEADING + entry_list_body(entries)
+ print(block.rstrip("\n"))
+
+ if not labelled:
+ print(
+ f"No closed issues labelled `{BREAKING_LABEL}` in {args.milestone}",
+ file=sys.stderr,
+ )
+
+ if args.write:
+ with open(args.changes) as f:
+ content = f.read()
+ try:
+ updated = replace_boom_section(content, args.milestone, entries)
+ except ValueError as err:
+ print(f"ERROR: {err}", file=sys.stderr)
+ sys.exit(1)
+ if updated == content:
+ print(f"{args.changes}: :boom: section already up to date", file=sys.stderr)
+ else:
+ with open(args.changes, "w") as f:
+ f.write(updated)
+ print(f"{args.changes}: :boom: section updated", file=sys.stderr)
+
+
+# ─────────────────────────────────────────────
+# Subcommand: security
+# ─────────────────────────────────────────────
+
+
+def imperative_description(summary: str) -> str:
+ """Return a changelog description built from an advisory summary.
+
+ Advisory summaries are declarative ("Missing authorization in ... lets
+ ..."), so the description prefixes ``Fix`` and decapitalizes the first
+ word unless it starts with an acronym (``SVG``, ``CVE-...``). The wording
+ may still be polished in the flow; re-running ``security --write``
+ rewrites the entry from the advisory summary.
+ """
+ summary = strip_title_prefix((summary or "").strip())
+ if not summary:
+ return ""
+ first_word = summary.split(maxsplit=1)[0]
+ if len(first_word) > 1 and first_word[1:].islower():
+ summary = summary[0].lower() + summary[1:]
+ return f"Fix {summary}"
+
+
+def render_security_entry(advisory: dict, pr_numbers: list[int]) -> str:
+ """Render one ``:lock:`` entry: description, advisory link and PRs."""
+ ghsa_id = advisory["ghsa_id"]
+ url = advisory.get("url") or (
+ f"https://github.com/{REPO}/security/advisories/{ghsa_id}"
+ )
+ description = imperative_description(advisory.get("summary", "")) or (
+ "Fix a security issue"
+ )
+ entry = f"- {description} ({url})"
+ if pr_numbers:
+ entry += " (PR: " + ", ".join(pr_link(n) for n in pr_numbers) + ")"
+ return entry
+
+
+def fetch_security_advisories(milestone: str) -> list[dict]:
+ """Fetch the advisories that declare ``milestone`` as a patched version."""
+ return json.loads(run_gh_py("advisories", "--patched-version", milestone))
+
+
+def fetch_security_prs(milestone: str) -> dict[str, list[int]]:
+ """Map each GHSA id to the merged ``pr pt`` PRs in a milestone referencing it."""
+ by_ghsa: dict[str, list[int]] = {}
+ for pr in fetch_milestone_prs(milestone, "all"):
+ if pr.get("state") != "MERGED":
+ continue
+ if SECURITY_PR_LABEL not in pr.get("labels", []):
+ continue
+ for ghsa_id in GHSA_ID_RE.findall(pr.get("body") or ""):
+ by_ghsa.setdefault(ghsa_id.upper(), []).append(pr["number"])
+ return {ghsa_id: sorted(set(numbers)) for ghsa_id, numbers in by_ghsa.items()}
+
+
+def subsection_end(
+ content: str, section: str, start: int, end: int, heading_re: str
+) -> int | None:
+ """Return the offset where the body of a ``###`` subsection ends.
+
+ ``heading_re`` is a prefix of the heading line (e.g. ``### :rocket:``), so
+ the heading text that follows it does not matter.
+ """
+ match = re.search(rf"(?m)^{heading_re}", section)
+ if not match:
+ return None
+ body_start = start + match.end()
+ next_heading = re.search(r"(?m)^### ", content[body_start:end])
+ return body_start + next_heading.start() if next_heading else end
+
+
+def replace_security_section(
+ content: str, milestone: str, entries: list[str]
+) -> str:
+ """Return ``content`` with its ``:lock:`` subsection replaced or added.
+
+ The subsection follows ``:rocket:`` (or ``:boom:`` when there is no
+ ``:rocket:``, or the version header when neither exists), which keeps the
+ layout order. An empty ``entries`` list removes the subsection: the
+ heading only exists when the version has security fixes to list.
+ """
+ bounds = version_section_bounds(content, milestone)
+ if bounds is None:
+ raise ValueError(f'no "## {milestone}" section found')
+ start, end = bounds
+ section = content[start:end]
+
+ heading = re.search(rf"(?m)^{re.escape(SECURITY_HEADING)}[ \t]*$", section)
+ if heading:
+ heading_start = start + heading.start()
+ body_start = start + heading.end()
+ next_heading = re.search(r"(?m)^### ", content[body_start:end])
+ body_end = body_start + next_heading.start() if next_heading else end
+ if not entries:
+ return content[:heading_start] + content[body_end:]
+ return (
+ content[:heading_start]
+ + SECURITY_HEADING
+ + entry_list_body(entries)
+ + content[body_end:]
+ )
+
+ if not entries:
+ return content
+
+ anchor = subsection_end(content, section, start, end, r"### :rocket:")
+ if anchor is None:
+ anchor = subsection_end(content, section, start, end, r"### :boom:")
+ if anchor is None:
+ header = re.match(r"(?m)^## [^\n]*\n", section)
+ if header is None:
+ raise ValueError(f'version "## {milestone}" header has no trailing newline')
+ insert_at = start + header.end()
+ block = "\n" + SECURITY_HEADING + entry_list_body(entries)[:-1]
+ return content[:insert_at] + block + content[insert_at:]
+
+ block = SECURITY_HEADING + entry_list_body(entries)
+ return content[:anchor] + block + content[anchor:]
+
+
+def cmd_security(args: argparse.Namespace) -> None:
+ """Generate the ``:lock:`` section from advisories fixed in the version."""
+ milestone = args.milestone
+ advisories = fetch_security_advisories(milestone)
+ prs_by_ghsa = fetch_security_prs(milestone)
+
+ matched = {
+ advisory["ghsa_id"].upper()
+ for advisory in advisories
+ if advisory.get("ghsa_id")
+ }
+ for ghsa_id in sorted(set(prs_by_ghsa) - matched):
+ numbers = ", ".join(f"#{n}" for n in prs_by_ghsa[ghsa_id])
+ print(
+ f"WARNING: PR {numbers} references {ghsa_id}, which declares no patched "
+ f'version "{milestone}"; it will not be listed under :lock:',
+ file=sys.stderr,
+ )
+
+ entries = [
+ render_security_entry(
+ advisory, prs_by_ghsa.get(advisory["ghsa_id"].upper(), [])
+ )
+ for advisory in sorted(advisories, key=lambda advisory: advisory["ghsa_id"])
+ ]
+
+ if entries:
+ print((SECURITY_HEADING + entry_list_body(entries)).rstrip("\n"))
+ else:
+ print(
+ f"No advisories declare patched version {milestone}",
+ file=sys.stderr,
+ )
+
+ if args.write:
+ with open(args.changes) as f:
+ content = f.read()
+ try:
+ updated = replace_security_section(content, milestone, entries)
+ except ValueError as err:
+ print(f"ERROR: {err}", file=sys.stderr)
+ sys.exit(1)
+ if updated == content:
+ print(f"{args.changes}: :lock: section already up to date", file=sys.stderr)
+ else:
+ with open(args.changes, "w") as f:
+ f.write(updated)
+ print(f"{args.changes}: :lock: section updated", file=sys.stderr)
+
+
# ─────────────────────────────────────────────
# Subcommand: cross-ref
# ─────────────────────────────────────────────
@@ -298,21 +721,6 @@ def cmd_report(args: argparse.Namespace) -> None:
"""Return the milestone title for an issue, or None if unassigned."""
return issue_milestone_cache.get(issue_num)
- excluded_labels = {"release blocker", "no changelog"}
-
- def issue_excluded(issue: dict | None) -> bool:
- if not issue:
- return True
- if issue.get("state") != "CLOSED":
- return True
- if issue.get("issue_type") in {"Task"}:
- return True
- if issue.get("project_status") in {"Rejected"}:
- return True
- if excluded_labels & set(issue.get("labels", [])):
- return True
- return False
-
# Type A: issue in milestone, referenced PR in different milestone or none
anomalies_a = []
for issue_num in sorted(changelog_issues):
@@ -361,13 +769,14 @@ def cmd_report(args: argparse.Namespace) -> None:
# These stay in the changelog (they are preserved, not removed) — the
# human decides whether to label the issue or move the entry elsewhere.
anomalies_e = []
- boom_body = extract_subsection(section, r"### :boom:")
- if boom_body:
- for issue_num in sorted(collect_changelog_issues(boom_body)):
+ boom_section_body = extract_subsection(section, r"### :boom:")
+ boom_issues = collect_changelog_issues(boom_section_body)
+ if boom_section_body:
+ for issue_num in sorted(boom_issues):
labels = get_issue_labels(issue_num)
if labels is None:
continue
- if "breaking change" not in labels:
+ if BREAKING_LABEL not in labels:
issue = issue_by_num.get(issue_num) or external_issues.get(issue_num) or {}
anomalies_e.append(
{
@@ -406,6 +815,20 @@ def cmd_report(args: argparse.Namespace) -> None:
}
)
+ # Type G: `breaking change` issue missing from :boom:. Same contract as
+ # type F for highlights: the label is the only source of the section.
+ anomalies_g = []
+ for issue_num, issue in sorted(issue_by_num.items()):
+ if issue_excluded(issue) or issue_num in boom_issues:
+ continue
+ if BREAKING_LABEL in issue.get("labels", []):
+ anomalies_g.append(
+ {
+ "issue": issue_num,
+ "issue_title": issue.get("title", ""),
+ }
+ )
+
# Type C: released X.Y.0 sections without a :rocket: subsection.
# Patches (X.Y.Z with Z != 0) never carry :rocket: — only minors/majors.
anomalies_c = []
@@ -459,13 +882,14 @@ def cmd_report(args: argparse.Namespace) -> None:
)
f.write("---\n\n")
- n_a, n_b, n_c, n_d, n_e, n_f = (
+ n_a, n_b, n_c, n_d, n_e, n_f, n_g = (
len(anomalies_a),
len(anomalies_b),
len(anomalies_c),
len(anomalies_d),
len(anomalies_e),
len(anomalies_f),
+ len(anomalies_g),
)
f.write("## Summary\n\n")
@@ -476,14 +900,15 @@ def cmd_report(args: argparse.Namespace) -> None:
f"- **PR in {milestone}, closing issue in a different milestone:** {n_b}\n"
)
f.write(f"- **:boom: entry without breaking change label:** {n_e}\n")
+ f.write(f"- **:boom: out of sync with breaking change label:** {n_g}\n")
f.write(f"- **:rocket: out of sync with release highlight label:** {n_f}\n")
- f.write(f"- **Total anomalies:** {n_a + n_b + n_e + n_f}\n")
+ f.write(f"- **Total anomalies:** {n_a + n_b + n_e + n_f + n_g}\n")
f.write(
f"- **Released X.Y.0 version missing :rocket: section (gap):** {n_c}\n"
)
f.write(f"- **:rocket: entry without issue AND PR references (gap):** {n_d}\n\n")
- if n_a or n_b or n_e or n_f:
+ if n_a or n_b or n_e or n_f or n_g:
f.write("## Anomalies\n\n")
f.write(
"Types A and B are milestone mismatches between an issue in the changelog "
@@ -494,8 +919,9 @@ def cmd_report(args: argparse.Namespace) -> None:
"removing the misleading entry from the changelog.\n\n"
"Type E entries stay in the changelog: either label the issue "
"as `breaking change` or move the entry out of `:boom:`.\n\n"
- "Type F is a rule violation: `:rocket:` must list exactly the "
- "issues labelled `release highlight`. Fix the label on GitHub "
+ "Types F and G are rule violations: `:rocket:` must list exactly "
+ "the issues labelled `release highlight`, and `:boom:` exactly "
+ "the issues labelled `breaking change`. Fix the label on GitHub "
"or re-run the workflow.\n\n"
)
@@ -556,6 +982,18 @@ def cmd_report(args: argparse.Namespace) -> None:
f"- ⚠️ {issue_link_title(e['issue'], e['issue_title'][:80])}: {e['reason']}\n"
)
f.write("\n")
+
+ if n_g:
+ f.write("\n### :boom: out of sync with breaking change label\n\n")
+ f.write(
+ "These milestone issues carry the `breaking change` label but "
+ "have no entry under `### :boom: Breaking changes & Deprecations`. "
+ "Regenerate the section (`changelog.py boom --write`) or add "
+ "the entry.\n\n"
+ )
+ for e in anomalies_g:
+ f.write(f"- ⚠️ {issue_link_title(e['issue'], e['issue_title'][:80])}\n")
+ f.write("\n")
else:
f.write(
"✅ No anomalies found. All (issue, PR) pairs in the changelog have aligned milestone assignments.\n\n"
@@ -590,7 +1028,7 @@ def cmd_report(args: argparse.Namespace) -> None:
for d in anomalies_d:
f.write(f"- **{d['version']}**: `{d['line']}`\n")
f.write("\n")
- elif not (n_a or n_b or n_e or n_f):
+ elif not (n_a or n_b or n_e or n_f or n_g):
f.write(
"✅ No highlight gaps found. All released X.Y.0 versions have properly referenced :rocket: entries.\n\n"
)
@@ -618,7 +1056,7 @@ def cmd_report(args: argparse.Namespace) -> None:
def main() -> None:
parser = argparse.ArgumentParser(
- description="Helper commands for the update-changelog skill"
+ description="Helper commands for the changelog flow"
)
sub = parser.add_subparsers(dest="command", required=True, title="subcommands")
@@ -633,6 +1071,26 @@ def main() -> None:
help="Read PR numbers from stdin (one per line)")
p_check.set_defaults(func=cmd_check_merged)
+ p_boom = sub.add_parser(
+ "boom", help="Generate the :boom: section from `breaking change` issues"
+ )
+ p_boom.add_argument("milestone", help="Milestone title (e.g. '2.16.0')")
+ p_boom.add_argument("--changes", default="CHANGES.md",
+ help="Path to the changelog file (default: CHANGES.md)")
+ p_boom.add_argument("--write", action="store_true",
+ help="Replace the :boom: section in CHANGES.md in place")
+ p_boom.set_defaults(func=cmd_boom)
+
+ p_security = sub.add_parser(
+ "security", help="Generate the :lock: section from advisories fixed in a version"
+ )
+ p_security.add_argument("milestone", help="Milestone title (e.g. '2.19.1')")
+ p_security.add_argument("--changes", default="CHANGES.md",
+ help="Path to the changelog file (default: CHANGES.md)")
+ p_security.add_argument("--write", action="store_true",
+ help="Replace the :lock: section in CHANGES.md in place")
+ p_security.set_defaults(func=cmd_security)
+
p_cross = sub.add_parser(
"cross-ref",
help="Compare merged milestone PRs against the changelog section",
diff --git a/scripts/ci b/scripts/ci
index db58292ae9..e2ed5cd6e0 100755
--- a/scripts/ci
+++ b/scripts/ci
@@ -55,7 +55,7 @@ declare -A FMT_CHECK_CMD=(
[frontend]="pnpm run check-fmt:clj && pnpm run check-fmt:js && pnpm run check-fmt:scss"
[backend]="pnpm run check-fmt:clj"
[common]="pnpm run check-fmt:clj && pnpm run check-fmt:js"
- [render-wasm]="cargo fmt --check"
+ [render-wasm]="./fmt --check"
[exporter]="pnpm run check-fmt:clj"
[mcp]="pnpm run fmt:check"
[plugins]="pnpm run format:check"
@@ -67,7 +67,7 @@ declare -A FMT_FIX_CMD=(
[frontend]="pnpm run fmt:clj && pnpm run fmt:js && pnpm run fmt:scss"
[backend]="pnpm run fmt:clj"
[common]="pnpm run fmt:clj && pnpm run fmt:js"
- [render-wasm]="cargo fmt"
+ [render-wasm]="./fmt"
[exporter]="pnpm run fmt:clj"
[mcp]="pnpm run fmt"
[plugins]="pnpm run format"
diff --git a/scripts/gh.py b/scripts/gh.py
index c430fbe843..eebd5155fd 100755
--- a/scripts/gh.py
+++ b/scripts/gh.py
@@ -6,6 +6,8 @@ Uses GitHub GraphQL and REST APIs via the authenticated ``gh`` CLI.
Subcommands:
issues List issues in a milestone (or unassigned with milestone=none)
+ issue Fetch issue details by number (batched)
+ comments Fetch every comment of one or more issues
prs Fetch details for one or more PRs (by number or milestone)
advisories List or inspect GitHub security advisories
link-issue Explicitly link a GitHub issue to a pull request
@@ -26,8 +28,10 @@ Usage:
python3 scripts/gh.py prs --milestone "2.16.0" (default: state=merged)
python3 scripts/gh.py prs --milestone "2.16.0" --state all
python3 scripts/gh.py issue 11235 11236
+ python3 scripts/gh.py comments 11235 11236
python3 scripts/gh.py advisories (list all advisories)
python3 scripts/gh.py advisories --severity critical (filter by severity)
+ python3 scripts/gh.py advisories --patched-version 2.19.1 (filter by patched version)
python3 scripts/gh.py advisories GHSA-xvj6-fh9w-gjw7 (single advisory detail)
python3 scripts/gh.py link-issue 11235 11243
@@ -888,6 +892,51 @@ def cmd_issue(args: argparse.Namespace) -> None:
print(json.dumps(all_results, indent=2))
+# ─────────────────────────────────────────────
+# Subcommand: comments
+# ─────────────────────────────────────────────
+
+COMMENTS_PER_PAGE = 100
+
+
+def fetch_issue_comments(issue_number: int) -> list[dict]:
+ """Fetch every comment of an issue via REST, oldest first."""
+ comments: list[dict] = []
+ page = 1
+ while True:
+ batch = run_gh_rest(
+ f"repos/{REPO}/issues/{issue_number}/comments"
+ f"?per_page={COMMENTS_PER_PAGE}&page={page}"
+ )
+ for comment in batch:
+ comments.append({
+ "issue": issue_number,
+ "id": comment["id"],
+ "author": (comment.get("user") or {}).get("login"),
+ "created_at": comment.get("created_at"),
+ "body": comment.get("body"),
+ })
+ if len(batch) < COMMENTS_PER_PAGE:
+ return comments
+ page += 1
+
+
+def cmd_comments(args: argparse.Namespace) -> None:
+ """Handle the ``comments`` subcommand (REST, paginated per issue)."""
+ issue_numbers = read_numbers_from_args(args)
+ if not issue_numbers:
+ print("ERROR: no issue numbers provided (pass numbers, --file, or --stdin)",
+ file=sys.stderr)
+ sys.exit(1)
+
+ all_comments: list[dict] = []
+ for num in issue_numbers:
+ print(f"Fetching comments for issue #{num}...", file=sys.stderr)
+ all_comments.extend(fetch_issue_comments(num))
+
+ print(json.dumps(all_comments, indent=2))
+
+
# ─────────────────────────────────────────────
# Subcommand: advisories
# ─────────────────────────────────────────────
@@ -932,6 +981,22 @@ def format_advisory_summary(adv: dict) -> dict:
}
+def advisory_patched_versions(adv: dict) -> list[str]:
+ """Return every patched version declared by an advisory's vulnerabilities."""
+ versions: list[str] = []
+ for vuln in adv.get("vulnerabilities", []):
+ for token in re.split(r"[,;]", vuln.get("patched_versions") or ""):
+ token = token.strip()
+ if token and token not in versions:
+ versions.append(token)
+ return versions
+
+
+def advisory_fixed_in_version(adv: dict, version: str) -> bool:
+ """Return True when the advisory declares ``version`` among its patched ones."""
+ return version in advisory_patched_versions(adv)
+
+
def format_advisory_detail(adv: dict) -> dict:
"""Extract full detail view of an advisory."""
summary = format_advisory_summary(adv)
@@ -972,6 +1037,16 @@ def cmd_advisories(args: argparse.Namespace) -> None:
advisories = fetch_advisories()
print(f"Fetched {len(advisories)} advisories", file=sys.stderr)
+ if args.patched_version:
+ version = args.patched_version.strip()
+ advisories = [
+ adv for adv in advisories if advisory_fixed_in_version(adv, version)
+ ]
+ print(
+ f"After patched-version filter ({version}): {len(advisories)} advisories",
+ file=sys.stderr,
+ )
+
results = [format_advisory_summary(adv) for adv in advisories]
# Apply filters
@@ -1080,6 +1155,24 @@ def main() -> None:
)
p_issue.set_defaults(func=cmd_issue)
+ # --- comments ---
+ p_comments = sub.add_parser(
+ "comments", help="Fetch every comment of one or more issues"
+ )
+ p_comments.add_argument(
+ "numbers", type=int, nargs="*",
+ help="Issue numbers to fetch (space-separated)"
+ )
+ p_comments.add_argument(
+ "--file", type=str,
+ help="File with one issue number per line"
+ )
+ p_comments.add_argument(
+ "--stdin", action="store_true",
+ help="Read issue numbers from stdin (one per line)"
+ )
+ p_comments.set_defaults(func=cmd_comments)
+
# --- advisories ---
p_adv = sub.add_parser("advisories", help="List or inspect GitHub security advisories")
p_adv.add_argument(
@@ -1094,6 +1187,10 @@ def main() -> None:
"--state", choices=["triage", "draft", "published", "closed", "withdrawn"],
help="Filter by advisory state"
)
+ p_adv.add_argument(
+ "--patched-version", type=str,
+ help="Filter by patched version declared in the advisory (e.g. '2.19.1')"
+ )
p_adv.set_defaults(func=cmd_advisories)
args = parser.parse_args()
diff --git a/scripts/test_changelog.py b/scripts/test_changelog.py
new file mode 100644
index 0000000000..e27d3de1d2
--- /dev/null
+++ b/scripts/test_changelog.py
@@ -0,0 +1,661 @@
+#!/usr/bin/env python3
+"""Tests for scripts/changelog.py.
+
+Run with:
+
+ python3 scripts/test_changelog.py
+"""
+
+import argparse
+import contextlib
+import importlib.machinery
+import importlib.util
+import io
+import json
+import pathlib
+import sys
+import tempfile
+import unittest
+from unittest.mock import patch
+
+
+# Loading scripts/changelog.py should not emit scripts/__pycache__/.
+sys.dont_write_bytecode = True
+
+SCRIPT_PATH = pathlib.Path(__file__).resolve().parent / "changelog.py"
+
+
+def load_changelog():
+ """Load scripts/changelog.py as a module without running its CLI."""
+ loader = importlib.machinery.SourceFileLoader("changelog_helper", str(SCRIPT_PATH))
+ spec = importlib.util.spec_from_loader("changelog_helper", loader)
+ module = importlib.util.module_from_spec(spec)
+ loader.exec_module(module)
+ return module
+
+
+ch = load_changelog()
+
+CHANGES = """# CHANGELOG
+
+## 2.19.0 (Unreleased)
+
+### :boom: Breaking changes & Deprecations
+
+- Old entry.
+
+### :rocket: Epics and highlights
+
+- Add highlights [#1](https://github.com/penpot/penpot/issues/1)
+"""
+
+
+class ExtractBreakingNoteTests(unittest.TestCase):
+ def test_uses_the_whole_comment_after_the_marker(self):
+ body = (
+ "## Breaking change note\n\n"
+ "First paragraph.\n\n"
+ "- bullet one\n"
+ "- bullet two\n\n"
+ "```sql\nSELECT 1;\n```\n"
+ )
+ self.assertEqual(
+ ch.extract_breaking_note(body),
+ "First paragraph.\n\n- bullet one\n- bullet two\n\n"
+ "```sql\nSELECT 1;\n```",
+ )
+
+ def test_accepts_any_heading_level_for_the_marker(self):
+ self.assertEqual(
+ ch.extract_breaking_note("# breaking change note\n\nText."), "Text."
+ )
+ self.assertEqual(
+ ch.extract_breaking_note("### Breaking Change Note\n\nText."), "Text."
+ )
+
+ def test_returns_none_without_marker(self):
+ self.assertIsNone(ch.extract_breaking_note("### Description\n\ntext\n"))
+ self.assertIsNone(ch.extract_breaking_note("## Breaking change notes\n\ntext"))
+ self.assertIsNone(ch.extract_breaking_note(None))
+ self.assertIsNone(ch.extract_breaking_note(""))
+
+ def test_returns_none_for_a_marker_without_content(self):
+ self.assertIsNone(ch.extract_breaking_note("## Breaking change note\n"))
+
+
+class DemoteHeadingsTests(unittest.TestCase):
+ def test_demotes_headings_below_the_entry_level(self):
+ markdown = "# One\n## Two\n### Three\n#### Four\n##### Five\n"
+ self.assertEqual(
+ ch.demote_headings(markdown),
+ "##### One\n##### Two\n##### Three\n##### Four\n##### Five",
+ )
+
+ def test_keeps_headings_inside_code_fences(self):
+ markdown = (
+ "```bash\n# not a heading\n```\n"
+ "## Real heading\n"
+ "~~~\n### not a heading\n~~~\n"
+ )
+ self.assertEqual(
+ ch.demote_headings(markdown),
+ "```bash\n# not a heading\n```\n"
+ "##### Real heading\n"
+ "~~~\n### not a heading\n~~~",
+ )
+
+
+class StripTitlePrefixTests(unittest.TestCase):
+ def test_strips_shortcodes(self):
+ self.assertEqual(ch.strip_title_prefix(":boom: Enable it"), "Enable it")
+ self.assertEqual(ch.strip_title_prefix(":bug: :tada: Fix it"), "Fix it")
+ self.assertEqual(ch.strip_title_prefix("Plain title"), "Plain title")
+
+
+class IssueExcludedTests(unittest.TestCase):
+ def issue(self, **overrides):
+ base = {
+ "state": "CLOSED",
+ "issue_type": "Enhancement",
+ "project_status": "In progress",
+ "labels": [],
+ }
+ base.update(overrides)
+ return base
+
+ def test_keeps_a_valid_closed_issue(self):
+ self.assertFalse(ch.issue_excluded(self.issue()))
+
+ def test_excludes_open_task_rejected_and_labelled(self):
+ self.assertTrue(ch.issue_excluded(None))
+ self.assertTrue(ch.issue_excluded(self.issue(state="OPEN")))
+ self.assertTrue(ch.issue_excluded(self.issue(issue_type="Task")))
+ self.assertTrue(ch.issue_excluded(self.issue(project_status="Rejected")))
+ self.assertTrue(ch.issue_excluded(self.issue(labels=["release blocker"])))
+ self.assertTrue(ch.issue_excluded(self.issue(labels=["no changelog"])))
+
+
+class RenderBoomEntryTests(unittest.TestCase):
+ def test_entry_is_a_heading_plus_note_plus_references(self):
+ issue = {"number": 7, "title": ":boom: Drop the flag", "labels": []}
+ self.assertEqual(
+ ch.render_boom_entry(issue, "One.\n\nTwo.", [8, 9]),
+ "#### Drop the flag\n\nOne.\n\nTwo.\n\n"
+ "[#7](https://github.com/penpot/penpot/issues/7)"
+ " (PR: [#8](https://github.com/penpot/penpot/pull/8),"
+ " [#9](https://github.com/penpot/penpot/pull/9))",
+ )
+
+ def test_entry_without_a_note_keeps_the_heading(self):
+ issue = {"number": 7, "title": "Drop the flag", "labels": []}
+ self.assertEqual(
+ ch.render_boom_entry(issue, None, []),
+ "#### Drop the flag\n\n[#7](https://github.com/penpot/penpot/issues/7)",
+ )
+
+ def test_community_attribution_goes_before_the_issue_link(self):
+ issue = {"number": 7, "title": "Drop the flag", "labels": []}
+ entry = ch.render_boom_entry(issue, "Text.", [8], "someone")
+ self.assertEqual(
+ entry,
+ "#### Drop the flag\n\nText.\n\n(by @someone)"
+ " [#7](https://github.com/penpot/penpot/issues/7)"
+ " (PR: [#8](https://github.com/penpot/penpot/pull/8))",
+ )
+
+
+class ReplaceBoomSectionTests(unittest.TestCase):
+ def test_replaces_the_existing_subsection(self):
+ entry = "#### New entry\n\nSome text.\n\n[#9](https://example.test/9)"
+ updated = ch.replace_boom_section(CHANGES, "2.19.0", [entry])
+ self.assertIn(
+ "### :boom: Breaking changes & Deprecations\n\n"
+ f"{entry}\n\n### :rocket:",
+ updated,
+ )
+ self.assertNotIn("Old entry.", updated)
+
+ def test_replacement_is_idempotent(self):
+ entry = "#### New entry\n\nSome text.\n\n[#9](https://example.test/9)"
+ once = ch.replace_boom_section(CHANGES, "2.19.0", [entry])
+ self.assertEqual(once, ch.replace_boom_section(once, "2.19.0", [entry]))
+
+ def test_empty_section_keeps_the_heading(self):
+ updated = ch.replace_boom_section(CHANGES, "2.19.0", [])
+ self.assertIn(
+ "### :boom: Breaking changes & Deprecations\n\n### :rocket:", updated
+ )
+
+ def test_inserts_the_subsection_when_missing(self):
+ without = CHANGES.replace(
+ "### :boom: Breaking changes & Deprecations\n\n- Old entry.\n\n", ""
+ )
+ updated = ch.replace_boom_section(without, "2.19.0", ["#### New entry"])
+ self.assertIn(
+ "## 2.19.0 (Unreleased)\n\n"
+ "### :boom: Breaking changes & Deprecations\n\n#### New entry\n\n"
+ "### :rocket:",
+ updated,
+ )
+
+ def test_unknown_version_raises(self):
+ with self.assertRaises(ValueError):
+ ch.replace_boom_section(CHANGES, "9.9.9", ["#### Entry"])
+
+
+ISSUES = [
+ {
+ "number": 21,
+ "title": ":boom: New default",
+ "state": "CLOSED",
+ "issue_type": "Enhancement",
+ "labels": ["breaking change"],
+ "closing_prs": [31],
+ "project_status": "Done",
+ },
+ {
+ "number": 22,
+ "title": "No note",
+ "state": "CLOSED",
+ "issue_type": "Enhancement",
+ "labels": ["breaking change"],
+ "closing_prs": [],
+ "project_status": "Done",
+ },
+ {
+ "number": 23,
+ "title": "Still open",
+ "state": "OPEN",
+ "issue_type": "Enhancement",
+ "labels": ["breaking change"],
+ "closing_prs": [],
+ "project_status": "In progress",
+ },
+ {
+ "number": 24,
+ "title": "Not breaking",
+ "state": "CLOSED",
+ "issue_type": "Bug",
+ "labels": [],
+ "closing_prs": [],
+ "project_status": "Done",
+ },
+]
+
+COMMENTS = [
+ {"issue": 21, "body": "## Breaking change note\n\nDeploy the new service.\n"},
+ {"issue": 22, "body": "## Description\n\nNo marker here.\n"},
+ {"issue": 21, "body": "## Breaking change note\n\nDeploy the new service.\n"},
+]
+
+PRS = [{"number": 31, "author": "someone", "labels": [], "state": "MERGED"}]
+
+
+class CmdBoomTests(unittest.TestCase):
+ def setUp(self):
+ self.calls = []
+ self.issues = ISSUES
+ self.comments = COMMENTS
+ self.prs = PRS
+
+ def fake_run_gh_py(*args, input_text=None):
+ self.calls.append(args)
+ if args[0] == "issues":
+ return json.dumps(self.issues)
+ if args[0] == "comments":
+ return json.dumps(self.comments)
+ if args[0] == "prs":
+ return json.dumps(self.prs)
+ raise AssertionError(f"unexpected gh.py call: {args}")
+
+ patcher = patch.object(ch, "run_gh_py", side_effect=fake_run_gh_py)
+ patcher.start()
+ self.addCleanup(patcher.stop)
+
+ def run_boom(self, **kwargs):
+ args = argparse.Namespace(
+ milestone="2.19.0",
+ changes=CHANGES if "changes" not in kwargs else kwargs["changes"],
+ write=kwargs.get("write", False),
+ )
+ out, err = io.StringIO(), io.StringIO()
+ with contextlib.redirect_stdout(out), contextlib.redirect_stderr(err):
+ ch.cmd_boom(args)
+ return out.getvalue(), err.getvalue()
+
+ def test_renders_only_closed_breaking_issues(self):
+ out, err = self.run_boom()
+ expected = (
+ "### :boom: Breaking changes & Deprecations\n\n"
+ "#### New default\n\n"
+ "Deploy the new service.\n\n"
+ "[#21](https://github.com/penpot/penpot/issues/21)"
+ " (PR: [#31](https://github.com/penpot/penpot/pull/31))\n\n"
+ "#### No note\n\n"
+ "[#22](https://github.com/penpot/penpot/issues/22)\n"
+ )
+ self.assertEqual(out, expected)
+ self.assertIn("issue #22 has no", err)
+ self.assertIn("using the last one", err)
+
+ def test_unmerged_closing_pr_is_not_referenced(self):
+ self.prs = [{"number": 31, "author": "someone", "state": "CLOSED"}]
+ out, _ = self.run_boom()
+ self.assertNotIn("pull/31", out)
+ self.assertIn("[#21](https://github.com/penpot/penpot/issues/21)", out)
+
+ def test_no_labelled_issue_clears_the_section_on_write(self):
+ self.issues = [ISSUES[3]]
+ with tempfile.TemporaryDirectory() as tmp:
+ path = pathlib.Path(tmp) / "CHANGES.md"
+ path.write_text(CHANGES)
+ out, err = self.run_boom(changes=str(path), write=True)
+ updated = path.read_text()
+ self.assertEqual(out, "### :boom: Breaking changes & Deprecations\n")
+ self.assertNotIn("Old entry.", updated)
+ self.assertIn(":boom: section updated", err)
+
+ def test_writes_the_section_in_place(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ path = pathlib.Path(tmp) / "CHANGES.md"
+ path.write_text(CHANGES)
+ out, err = self.run_boom(changes=str(path), write=True)
+ updated = path.read_text()
+ self.assertIn("#### New default", updated)
+ self.assertNotIn("Old entry.", updated)
+ self.assertIn(":boom: section updated", err)
+ self.assertIn("Deploy the new service.", out)
+
+
+class ReportTests(unittest.TestCase):
+ """Focused check of the `:boom:` sync anomaly (type G) in the report."""
+
+ def test_reports_breaking_issue_missing_from_boom(self):
+ issues = [
+ {
+ "number": 1,
+ "title": "Unlabelled entry",
+ "state": "CLOSED",
+ "issue_type": "Enhancement",
+ "labels": [],
+ "closing_prs": [],
+ "project_status": "Done",
+ },
+ {
+ "number": 2,
+ "title": "Labelled, not listed",
+ "state": "CLOSED",
+ "issue_type": "Enhancement",
+ "labels": ["breaking change"],
+ "closing_prs": [],
+ "project_status": "Done",
+ },
+ ]
+ changes = (
+ "# CHANGELOG\n\n## 2.19.0 (Unreleased)\n\n"
+ "### :boom: Breaking changes & Deprecations\n\n"
+ "#### Something changed\n\n"
+ "[#1](https://github.com/penpot/penpot/issues/1)\n"
+ )
+ with tempfile.TemporaryDirectory() as tmp:
+ changes_path = pathlib.Path(tmp) / "CHANGES.md"
+ output_path = pathlib.Path(tmp) / "ISSUES.md"
+ changes_path.write_text(changes)
+ args = argparse.Namespace(
+ milestone="2.19.0",
+ changes=str(changes_path),
+ output=str(output_path),
+ )
+ with patch.object(ch, "run_gh_py", return_value=json.dumps(issues)), \
+ patch.object(ch, "fetch_milestone_prs", return_value=[]), \
+ contextlib.redirect_stdout(io.StringIO()), \
+ contextlib.redirect_stderr(io.StringIO()):
+ ch.cmd_report(args)
+ report = output_path.read_text()
+
+ self.assertIn("**:boom: out of sync with breaking change label:** 1", report)
+ self.assertIn("### :boom: out of sync with breaking change label", report)
+ self.assertIn("issues/2", report)
+ self.assertIn("**:boom: entry without breaking change label:** 1", report)
+
+
+ADVISORY = {
+ "ghsa_id": "GHSA-j4vc-cmf6-jhr7",
+ "url": "https://github.com/penpot/penpot/security/advisories/GHSA-j4vc-cmf6-jhr7",
+ "summary": (
+ "Missing authorization in mark-all-threads-as-read lets a user update "
+ "inaccessible threads"
+ ),
+}
+
+SECURITY_CHANGES = """# CHANGELOG
+
+## 2.19.1
+
+### :bug: Bugs fixed
+
+- Fix something [#1](https://github.com/penpot/penpot/issues/1)
+"""
+
+SECURITY_CHANGES_WITH_ROCKET = """# CHANGELOG
+
+## 2.19.1
+
+### :rocket: Epics and highlights
+
+- Add highlights [#1](https://github.com/penpot/penpot/issues/1)
+
+### :bug: Bugs fixed
+
+- Fix something [#2](https://github.com/penpot/penpot/issues/2)
+"""
+
+SECURITY_CHANGES_WITH_BOOM = """# CHANGELOG
+
+## 2.19.1
+
+### :boom: Breaking changes & Deprecations
+
+#### Old entry
+
+[#1](https://github.com/penpot/penpot/issues/1)
+
+### :bug: Bugs fixed
+
+- Fix something [#2](https://github.com/penpot/penpot/issues/2)
+"""
+
+
+class ImperativeDescriptionTests(unittest.TestCase):
+ def test_prefixes_fix_and_decapitalizes(self):
+ self.assertEqual(
+ ch.imperative_description("Missing authorization in foo"),
+ "Fix missing authorization in foo",
+ )
+
+ def test_keeps_acronyms(self):
+ self.assertEqual(
+ ch.imperative_description("SVG sanitizer escapes nothing"),
+ "Fix SVG sanitizer escapes nothing",
+ )
+ self.assertEqual(
+ ch.imperative_description("CVE-2026-105694: sanitizer escapes nothing"),
+ "Fix CVE-2026-105694: sanitizer escapes nothing",
+ )
+
+ def test_strips_emoji_prefix_and_handles_empty(self):
+ self.assertEqual(
+ ch.imperative_description(":bug: Missing check"), "Fix missing check"
+ )
+ self.assertEqual(ch.imperative_description(""), "")
+
+
+class RenderSecurityEntryTests(unittest.TestCase):
+ def test_entry_has_description_advisory_and_prs(self):
+ self.assertEqual(
+ ch.render_security_entry(ADVISORY, [8, 9]),
+ "- Fix missing authorization in mark-all-threads-as-read lets a user "
+ "update inaccessible threads "
+ "(https://github.com/penpot/penpot/security/advisories/GHSA-j4vc-cmf6-jhr7)"
+ " (PR: [#8](https://github.com/penpot/penpot/pull/8),"
+ " [#9](https://github.com/penpot/penpot/pull/9))",
+ )
+
+ def test_entry_without_prs_links_only_the_advisory(self):
+ entry = ch.render_security_entry(ADVISORY, [])
+ self.assertNotIn("PR:", entry)
+ self.assertIn("security/advisories/GHSA-j4vc-cmf6-jhr7", entry)
+
+ def test_entry_builds_the_url_when_the_advisory_lacks_it(self):
+ advisory = dict(ADVISORY)
+ del advisory["url"]
+ self.assertIn(
+ "(https://github.com/penpot/penpot/security/advisories/GHSA-j4vc-cmf6-jhr7)",
+ ch.render_security_entry(advisory, []),
+ )
+
+
+class FetchSecurityPrsTests(unittest.TestCase):
+ def test_maps_merged_pr_pt_prs_by_ghsa(self):
+ prs = [
+ {
+ "number": 10,
+ "state": "MERGED",
+ "labels": ["internal", "pr pt"],
+ "body": "Relates to [GHSA-4mmc-j8rh-74pf]"
+ "(https://github.com/penpot/penpot/security/advisories/GHSA-4mmc-j8rh-74pf)",
+ },
+ {
+ "number": 11,
+ "state": "CLOSED",
+ "labels": ["pr pt"],
+ "body": "Closes GHSA-j4vc-cmf6-jhr7",
+ },
+ {
+ "number": 12,
+ "state": "MERGED",
+ "labels": ["bug"],
+ "body": "GHSA-qwhj-rchj-58mg",
+ },
+ {
+ "number": 13,
+ "state": "MERGED",
+ "labels": ["pr pt"],
+ "body": "No advisory here",
+ },
+ ]
+ with patch.object(ch, "fetch_milestone_prs", return_value=prs):
+ result = ch.fetch_security_prs("2.19.1")
+ self.assertEqual(result, {"GHSA-4MMC-J8RH-74PF": [10]})
+
+
+class ReplaceSecuritySectionTests(unittest.TestCase):
+ ENTRY = (
+ "- Fix missing check (https://example.test/ghsa)"
+ " (PR: [#8](https://example.test/pr/8))"
+ )
+
+ def test_inserts_after_rocket(self):
+ updated = ch.replace_security_section(
+ SECURITY_CHANGES_WITH_ROCKET, "2.19.1", [self.ENTRY]
+ )
+ self.assertIn(
+ "### :rocket: Epics and highlights\n\n"
+ "- Add highlights [#1](https://github.com/penpot/penpot/issues/1)\n\n"
+ "### :lock: Security fixes\n\n"
+ f"{self.ENTRY}\n\n"
+ "### :bug: Bugs fixed",
+ updated,
+ )
+
+ def test_inserts_after_boom_when_there_is_no_rocket(self):
+ updated = ch.replace_security_section(
+ SECURITY_CHANGES_WITH_BOOM, "2.19.1", [self.ENTRY]
+ )
+ self.assertIn(
+ "#### Old entry\n\n[#1](https://github.com/penpot/penpot/issues/1)\n\n"
+ "### :lock: Security fixes\n\n"
+ f"{self.ENTRY}\n\n"
+ "### :bug: Bugs fixed",
+ updated,
+ )
+
+ def test_inserts_after_the_header_when_no_anchor_exists(self):
+ updated = ch.replace_security_section(
+ SECURITY_CHANGES, "2.19.1", [self.ENTRY]
+ )
+ self.assertIn(
+ "## 2.19.1\n\n"
+ "### :lock: Security fixes\n\n"
+ f"{self.ENTRY}\n\n"
+ "### :bug: Bugs fixed",
+ updated,
+ )
+
+ def test_replacement_is_idempotent(self):
+ once = ch.replace_security_section(
+ SECURITY_CHANGES, "2.19.1", [self.ENTRY]
+ )
+ twice = ch.replace_security_section(once, "2.19.1", [self.ENTRY])
+ self.assertEqual(once, twice)
+ self.assertEqual(once.count("### :lock: Security fixes"), 1)
+
+ def test_empty_entries_remove_the_subsection(self):
+ once = ch.replace_security_section(
+ SECURITY_CHANGES, "2.19.1", [self.ENTRY]
+ )
+ removed = ch.replace_security_section(once, "2.19.1", [])
+ self.assertNotIn(":lock:", removed)
+ self.assertEqual(removed, SECURITY_CHANGES)
+
+ def test_empty_entries_leave_a_section_without_heading_untouched(self):
+ self.assertEqual(
+ ch.replace_security_section(SECURITY_CHANGES, "2.19.1", []),
+ SECURITY_CHANGES,
+ )
+
+ def test_unknown_version_raises(self):
+ with self.assertRaises(ValueError):
+ ch.replace_security_section(SECURITY_CHANGES, "9.9.9", [self.ENTRY])
+
+
+class CmdSecurityTests(unittest.TestCase):
+ ADVISORIES = [ADVISORY]
+ PRS = [
+ {
+ "number": 8,
+ "state": "MERGED",
+ "labels": ["pr pt"],
+ "body": "Closes GHSA-j4vc-cmf6-jhr7",
+ }
+ ]
+
+ def setUp(self):
+ self.calls = []
+
+ def fake_run_gh_py(*args, input_text=None):
+ self.calls.append(args)
+ if args[0] == "advisories":
+ return json.dumps(self.ADVISORIES)
+ if args[0] == "prs":
+ return json.dumps(self.PRS)
+ raise AssertionError(f"unexpected gh.py call: {args}")
+
+ patcher = patch.object(ch, "run_gh_py", side_effect=fake_run_gh_py)
+ patcher.start()
+ self.addCleanup(patcher.stop)
+
+ def run_security(self, changes=SECURITY_CHANGES, write=False):
+ args = argparse.Namespace(milestone="2.19.1", changes=changes, write=write)
+ out, err = io.StringIO(), io.StringIO()
+ with contextlib.redirect_stdout(out), contextlib.redirect_stderr(err):
+ ch.cmd_security(args)
+ return out.getvalue(), err.getvalue()
+
+ def test_prints_the_section_with_the_linked_pr(self):
+ out, _ = self.run_security()
+ self.assertIn("### :lock: Security fixes", out)
+ self.assertIn("security/advisories/GHSA-j4vc-cmf6-jhr7", out)
+ self.assertIn("(PR: [#8](https://github.com/penpot/penpot/pull/8))", out)
+ self.assertEqual(
+ self.calls[0], ("advisories", "--patched-version", "2.19.1")
+ )
+
+ def test_no_advisories_prints_no_section(self):
+ self.ADVISORIES = []
+ self.PRS = []
+ out, err = self.run_security()
+ self.assertEqual(out, "")
+ self.assertIn("No advisories", err)
+
+ def test_writes_the_section_in_place(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ path = pathlib.Path(tmp) / "CHANGES.md"
+ path.write_text(SECURITY_CHANGES)
+ _, err = self.run_security(changes=str(path), write=True)
+ updated = path.read_text()
+ self.assertIn("### :lock: Security fixes", updated)
+ self.assertIn("(PR: [#8](https://github.com/penpot/penpot/pull/8))", updated)
+ self.assertIn(":lock: section updated", err)
+
+ def test_no_advisories_leaves_the_file_untouched(self):
+ self.ADVISORIES = []
+ self.PRS = []
+ with tempfile.TemporaryDirectory() as tmp:
+ path = pathlib.Path(tmp) / "CHANGES.md"
+ path.write_text(SECURITY_CHANGES)
+ _, err = self.run_security(changes=str(path), write=True)
+ updated = path.read_text()
+ self.assertEqual(updated, SECURITY_CHANGES)
+ self.assertIn(":lock: section already up to date", err)
+
+ def test_warns_when_a_pr_references_an_unmatched_advisory(self):
+ self.ADVISORIES = []
+ _, err = self.run_security()
+ self.assertIn("GHSA-J4VC-CMF6-JHR7", err)
+ self.assertIn("#8", err)
+ self.assertIn("will not be listed", err)
+
+
+if __name__ == "__main__":
+ unittest.main(verbosity=2)
diff --git a/scripts/test_gh.py b/scripts/test_gh.py
index 5fb6840a22..b703b389eb 100644
--- a/scripts/test_gh.py
+++ b/scripts/test_gh.py
@@ -110,5 +110,115 @@ class LinkIssueTests(unittest.TestCase):
self.assertIn("link missing", stderr.getvalue())
+class CommentsTests(unittest.TestCase):
+ def test_paginates_until_a_short_page(self):
+ page_one = [
+ {"id": i, "user": {"login": "u"}, "created_at": "t", "body": f"b{i}"}
+ for i in range(100)
+ ]
+ page_two = [{"id": 100, "user": None, "created_at": "t", "body": "last"}]
+ calls = []
+
+ def fake_rest(path):
+ calls.append(path)
+ return page_one if len(calls) == 1 else page_two
+
+ with patch.object(gh, "run_gh_rest", side_effect=fake_rest):
+ comments = gh.fetch_issue_comments(7)
+
+ self.assertEqual(len(comments), 101)
+ self.assertEqual(
+ comments[0],
+ {"issue": 7, "id": 0, "author": "u", "created_at": "t", "body": "b0"},
+ )
+ self.assertIsNone(comments[-1]["author"])
+ self.assertIn("page=1", calls[0])
+ self.assertIn("page=2", calls[1])
+
+ @patch.object(gh, "fetch_issue_comments")
+ def test_cmd_comments_outputs_every_issue(self, fetch_comments):
+ fetch_comments.side_effect = lambda num: [
+ {"issue": num, "id": num, "author": "u", "created_at": "t", "body": "x"}
+ ]
+ args = types.SimpleNamespace(numbers=[1, 2], file=None, stdin=False)
+ stdout = io.StringIO()
+
+ with contextlib.redirect_stdout(stdout), contextlib.redirect_stderr(io.StringIO()):
+ gh.cmd_comments(args)
+
+ self.assertEqual([c["issue"] for c in json.loads(stdout.getvalue())], [1, 2])
+
+ def test_cmd_comments_requires_numbers(self):
+ args = types.SimpleNamespace(numbers=[], file=None, stdin=False)
+ with contextlib.redirect_stderr(io.StringIO()):
+ with self.assertRaises(SystemExit) as error:
+ gh.cmd_comments(args)
+ self.assertEqual(error.exception.code, 1)
+
+
+class AdvisoriesTests(unittest.TestCase):
+ def advisory(self, patched, ghsa="GHSA-aaaa-bbbb-cccc"):
+ return {
+ "ghsa_id": ghsa,
+ "severity": "medium",
+ "state": "draft",
+ "summary": "Something",
+ "html_url": f"https://github.com/penpot/penpot/security/advisories/{ghsa}",
+ "vulnerabilities": [
+ {
+ "package": {"name": "penpot"},
+ "vulnerable_version_range": "<2.19.1",
+ "patched_versions": patched,
+ }
+ ],
+ }
+
+ def test_fixed_in_version_matches_exact_tokens(self):
+ self.assertTrue(gh.advisory_fixed_in_version(self.advisory("2.19.1"), "2.19.1"))
+ self.assertFalse(
+ gh.advisory_fixed_in_version(self.advisory("2.19.10"), "2.19.1")
+ )
+ self.assertFalse(gh.advisory_fixed_in_version(self.advisory(""), "2.19.1"))
+ self.assertFalse(
+ gh.advisory_fixed_in_version({"vulnerabilities": []}, "2.19.1")
+ )
+
+ def test_fixed_in_version_accepts_several_tokens(self):
+ self.assertTrue(
+ gh.advisory_fixed_in_version(self.advisory("2.19.0, 2.19.1"), "2.19.1")
+ )
+ self.assertTrue(
+ gh.advisory_fixed_in_version(self.advisory(" 2.19.1 "), "2.19.1")
+ )
+
+ @patch.object(gh, "fetch_advisories")
+ def test_cmd_advisories_filters_by_patched_version(self, fetch_advisories):
+ matching = self.advisory("2.19.1", "GHSA-j4vc-cmf6-jhr7")
+ other = self.advisory("2.19.0", "GHSA-4mmc-j8rh-74pf")
+ fetch_advisories.return_value = [matching, other]
+ args = types.SimpleNamespace(
+ ghsa_id=None,
+ severity=None,
+ state=None,
+ patched_version="2.19.1",
+ )
+ stdout = io.StringIO()
+
+ with contextlib.redirect_stdout(stdout), contextlib.redirect_stderr(
+ io.StringIO()
+ ):
+ gh.cmd_advisories(args)
+
+ results = json.loads(stdout.getvalue())
+ self.assertEqual([r["ghsa_id"] for r in results], ["GHSA-j4vc-cmf6-jhr7"])
+ # The list output keeps the summary schema: raw vulnerabilities stay
+ # internal to the filter.
+ self.assertNotIn("vulnerabilities", results[0])
+ self.assertEqual(
+ results[0]["url"],
+ "https://github.com/penpot/penpot/security/advisories/GHSA-j4vc-cmf6-jhr7",
+ )
+
+
if __name__ == "__main__":
unittest.main(verbosity=2)